Last active
January 6, 2020 06:15
-
-
Save tessprime/0bf8f2c7dbc1a2edcad5319450f3c82c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ulong hxp2019__check__h578f31d490e10a31(uint param_1,uint param_2) | |
| { | |
| long lVar1; | |
| int iVar2; | |
| uint uVar3; | |
| uint uVar4; | |
| int iVar5; | |
| undefined8 *puVar6; | |
| long in_FS_OFFSET; | |
| uint local_50; | |
| uint local_4c; | |
| uint local_3c; | |
| uint local_38; | |
| uint local_34; | |
| uint local_30; | |
| uint local_2c; | |
| uint local_28; | |
| iVar2 = g0; | |
| lVar1 = *(long *)(in_FS_OFFSET + 0x28); | |
| wasm_rt_call_stack_depth = wasm_rt_call_stack_depth + 1; | |
| if (500 < wasm_rt_call_stack_depth) { | |
| puVar6 = (undefined8 *)__cxa_allocate_exception(8); | |
| *puVar6 = 0x11269c; | |
| /* WARNING: Subroutine does not return */ | |
| __cxa_throw(puVar6,&typeinfo,0); | |
| } | |
| uVar3 = g0 - 0x20; | |
| local_3c = 0; | |
| if (param_2 == 0x32) { | |
| uVar4 = g0 - 0x1c; | |
| g0 = uVar3; | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)uVar4,0x32); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)uVar3,param_1); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 0x18),0); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 0x14),4); | |
| iVar5 = i32_load8_s((wasm_rt_memory_t *)memory,(ulong)(param_1 + 4)); | |
| if (iVar5 < -0x40) { | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 8),iVar2 - 0x14); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 0xc),iVar2 - 0x18); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 0x10),uVar3); | |
| core__str__traits___impl_core__slice__SliceIndex_str__for_core__ops__range__Range_usize____index____closure____h81e1d06525c0564b | |
| (iVar2 - 0x10); | |
| puVar6 = (undefined8 *)__cxa_allocate_exception(8); | |
| *puVar6 = 0x1126a7; | |
| /* WARNING: Subroutine does not return */ | |
| __cxa_throw(puVar6,&typeinfo,0); | |
| } | |
| if (param_1 != 0x100440) { | |
| local_3c = 0; | |
| iVar5 = i32_load((wasm_rt_memory_t *)memory,(ulong)param_1); | |
| if (iVar5 != 0x7b707868) goto LAB_00106d2c; | |
| } | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 0x1c),0x32); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)uVar3,param_1); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 0x18),0x31); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 0x14),0x32); | |
| iVar5 = i32_load8_s((wasm_rt_memory_t *)memory,(ulong)(param_1 + 0x31)); | |
| if (iVar5 < -0x40) { | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 8),iVar2 - 0x14); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 0xc),iVar2 - 0x18); | |
| i32_store((wasm_rt_memory_t *)memory,(ulong)(iVar2 - 0x10),uVar3); | |
| core__str__traits___impl_core__slice__SliceIndex_str__for_core__ops__range__Range_usize____index____closure____h81e1d06525c0564b | |
| (iVar2 - 0x10); | |
| puVar6 = (undefined8 *)__cxa_allocate_exception(8); | |
| *puVar6 = 0x1126a7; | |
| /* WARNING: Subroutine does not return */ | |
| __cxa_throw(puVar6,&typeinfo,0); | |
| } | |
| uVar3 = param_1 + 0x31; | |
| if ((uVar3 == 0x100444) || (local_3c = 0, iVar5 == 0x7d)) { | |
| local_4c = param_1 + 4; | |
| local_50 = 0; | |
| local_3c = 1; | |
| do { | |
| if (local_4c == uVar3) goto LAB_00106d2c; | |
| local_38 = local_4c + 1; | |
| uVar4 = i32_load8_s((wasm_rt_memory_t *)memory,(ulong)local_4c); | |
| if ((int)uVar4 < 0) { | |
| if (uVar3 == local_38) { | |
| local_30 = 0; | |
| local_2c = uVar3; | |
| } | |
| else { | |
| local_30 = i32_load8_u((wasm_rt_memory_t *)memory,(ulong)(local_4c + 1)); | |
| local_30 = local_30 & 0x3f; | |
| local_38 = local_4c + 2; | |
| local_2c = local_38; | |
| } | |
| if ((uVar4 & 0xff) < 0xe0) { | |
| local_34 = local_30 | (uVar4 & 0x1f) << 6; | |
| } | |
| else { | |
| if (uVar3 == local_2c) { | |
| local_28 = 0; | |
| local_2c = uVar3; | |
| } | |
| else { | |
| local_28 = i32_load8_u((wasm_rt_memory_t *)memory,(ulong)local_2c); | |
| local_28 = local_28 & 0x3f; | |
| local_38 = local_2c + 1; | |
| local_2c = local_38; | |
| } | |
| local_28 = local_28 | local_30 << 6; | |
| local_34 = local_28; | |
| if (0xef < (uVar4 & 0xff)) { | |
| if (uVar3 == local_2c) { | |
| local_34 = 0; | |
| } | |
| else { | |
| local_38 = local_2c + 1; | |
| local_34 = i32_load8_u((wasm_rt_memory_t *)memory,(ulong)local_2c); | |
| local_34 = local_34 & 0x3f; | |
| } | |
| local_34 = local_28 << 6 | (uVar4 & 7) << 0x12 | local_34; | |
| if (local_34 == 0x110000) goto LAB_00106d2c; | |
| } | |
| } | |
| } | |
| else { | |
| local_34 = uVar4 & 0xff; | |
| } | |
| if (0x2c < local_50) { | |
| core__panicking__panic_bounds_check__h1fae5a314994f748(0x100534,local_50,0x2d); | |
| puVar6 = (undefined8 *)__cxa_allocate_exception(8); | |
| *puVar6 = 0x1126a7; | |
| /* WARNING: Subroutine does not return */ | |
| __cxa_throw(puVar6,&typeinfo,0); | |
| } | |
| uVar4 = i32_load((wasm_rt_memory_t *)memory,(ulong)(local_50 * 4 + 0x100474)); | |
| uVar4 = uVar4 ^ local_50 * 0x539; | |
| if (0x2c < uVar4) { | |
| core__panicking__panic_bounds_check__h1fae5a314994f748(0x100544,uVar4,0x2d); | |
| puVar6 = (undefined8 *)__cxa_allocate_exception(8); | |
| *puVar6 = 0x1126a7; | |
| /* WARNING: Subroutine does not return */ | |
| __cxa_throw(puVar6,&typeinfo,0); | |
| } | |
| local_50 = local_38 + (local_50 - local_4c); | |
| local_4c = local_38; | |
| uVar4 = i32_load8_u((wasm_rt_memory_t *)memory,(ulong)(uVar4 + 0x100445)); | |
| } while ((local_34 & 0xff) == uVar4); | |
| local_3c = 0; | |
| } | |
| } | |
| LAB_00106d2c: | |
| wasm_rt_call_stack_depth = wasm_rt_call_stack_depth - 1; | |
| if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) { | |
| g0 = iVar2; | |
| /* WARNING: Subroutine does not return */ | |
| __stack_chk_fail(); | |
| } | |
| g0 = iVar2; | |
| return (ulong)local_3c; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| static u32 hxp2019__check__h578f31d490e10a31(u32 p0, u32 p1) { | |
| u32 l2 = 0, l3 = 0, l4 = 0, l5 = 0, l6 = 0, l7 = 0, l8 = 0, l9 = 0, | |
| l10 = 0; | |
| FUNC_PROLOGUE; | |
| u32 i0, i1, i2; | |
| i0 = g0; | |
| i1 = 32u; | |
| i0 -= i1; | |
| l2 = i0; | |
| g0 = i0; | |
| i0 = 0u; | |
| l3 = i0; | |
| i0 = p1; | |
| i1 = 50u; | |
| i0 = i0 != i1; | |
| if (i0) {goto B0;} | |
| i0 = l2; | |
| i1 = 50u; | |
| i32_store((&memory), (u64)(i0 + 4), i1); | |
| i0 = l2; | |
| i1 = p0; | |
| i32_store((&memory), (u64)(i0), i1); | |
| i0 = l2; | |
| i1 = 0u; | |
| i32_store((&memory), (u64)(i0 + 8), i1); | |
| i0 = l2; | |
| i1 = 4u; | |
| i32_store((&memory), (u64)(i0 + 12), i1); | |
| i0 = p0; | |
| i0 = i32_load8_s((&memory), (u64)(i0 + 4)); | |
| i1 = 4294967231u; | |
| i0 = (u32)((s32)i0 <= (s32)i1); | |
| if (i0) {goto B2;} | |
| i0 = p0; | |
| i1 = 1049664u; | |
| i0 = i0 == i1; | |
| if (i0) {goto B1;} | |
| i0 = 0u; | |
| l3 = i0; | |
| i0 = p0; | |
| i0 = i32_load((&memory), (u64)(i0)); | |
| i1 = 2070968424u; | |
| i0 = i0 == i1; | |
| if (i0) {goto B1;} | |
| goto B0; | |
| B2:; | |
| i0 = l2; | |
| i1 = l2; | |
| i2 = 12u; | |
| i1 += i2; | |
| i32_store((&memory), (u64)(i0 + 24), i1); | |
| i0 = l2; | |
| i1 = l2; | |
| i2 = 8u; | |
| i1 += i2; | |
| i32_store((&memory), (u64)(i0 + 20), i1); | |
| i0 = l2; | |
| i1 = l2; | |
| i32_store((&memory), (u64)(i0 + 16), i1); | |
| i0 = l2; | |
| i1 = 16u; | |
| i0 += i1; | |
| core__str__traits___impl_core__slice__SliceIndex_str__for_core__ops__range__Range_usize____index____closure____h81e1d06525c0564b(i0); | |
| UNREACHABLE; | |
| B1:; | |
| i0 = l2; | |
| i1 = 50u; | |
| i32_store((&memory), (u64)(i0 + 4), i1); | |
| i0 = l2; | |
| i1 = p0; | |
| i32_store((&memory), (u64)(i0), i1); | |
| i0 = l2; | |
| i1 = 49u; | |
| i32_store((&memory), (u64)(i0 + 8), i1); | |
| i0 = l2; | |
| i1 = 50u; | |
| i32_store((&memory), (u64)(i0 + 12), i1); | |
| i0 = p0; | |
| i0 = i32_load8_s((&memory), (u64)(i0 + 49)); | |
| p1 = i0; | |
| i1 = 4294967231u; | |
| i0 = (u32)((s32)i0 <= (s32)i1); | |
| if (i0) {goto B3;} | |
| i0 = p0; | |
| i1 = 49u; | |
| i0 += i1; | |
| l4 = i0; | |
| i1 = 1049668u; | |
| i0 = i0 == i1; | |
| if (i0) {goto B4;} | |
| i0 = 0u; | |
| l3 = i0; | |
| i0 = p1; | |
| i1 = 125u; | |
| i0 = i0 != i1; | |
| if (i0) {goto B0;} | |
| B4:; | |
| i0 = p0; | |
| i1 = 4u; | |
| i0 += i1; | |
| p0 = i0; | |
| i0 = 0u; | |
| p1 = i0; | |
| i0 = 1u; | |
| l3 = i0; | |
| L7: | |
| i0 = l4; | |
| i1 = p0; | |
| i0 = i0 == i1; | |
| if (i0) {goto B0;} | |
| i0 = p0; | |
| i1 = 1u; | |
| i0 += i1; | |
| l5 = i0; | |
| i0 = p0; | |
| i0 = i32_load8_s((&memory), (u64)(i0)); | |
| l6 = i0; | |
| i1 = 4294967295u; | |
| i0 = (u32)((s32)i0 > (s32)i1); | |
| if (i0) {goto B9;} | |
| i0 = l5; | |
| i1 = l4; | |
| i0 = i0 != i1; | |
| if (i0) {goto B11;} | |
| i0 = 0u; | |
| l7 = i0; | |
| i0 = l4; | |
| l8 = i0; | |
| goto B10; | |
| B11:; | |
| i0 = p0; | |
| i0 = i32_load8_u((&memory), (u64)(i0 + 1)); | |
| i1 = 63u; | |
| i0 &= i1; | |
| l7 = i0; | |
| i0 = p0; | |
| i1 = 2u; | |
| i0 += i1; | |
| l5 = i0; | |
| l8 = i0; | |
| B10:; | |
| i0 = l6; | |
| i1 = 31u; | |
| i0 &= i1; | |
| l9 = i0; | |
| i0 = l6; | |
| i1 = 255u; | |
| i0 &= i1; | |
| l6 = i0; | |
| i1 = 223u; | |
| i0 = i0 > i1; | |
| if (i0) {goto B12;} | |
| i0 = l7; | |
| i1 = l9; | |
| i2 = 6u; | |
| i1 <<= (i2 & 31); | |
| i0 |= i1; | |
| l6 = i0; | |
| goto B8; | |
| B12:; | |
| i0 = l8; | |
| i1 = l4; | |
| i0 = i0 != i1; | |
| if (i0) {goto B14;} | |
| i0 = 0u; | |
| l10 = i0; | |
| i0 = l4; | |
| l8 = i0; | |
| goto B13; | |
| B14:; | |
| i0 = l8; | |
| i0 = i32_load8_u((&memory), (u64)(i0)); | |
| i1 = 63u; | |
| i0 &= i1; | |
| l10 = i0; | |
| i0 = l8; | |
| i1 = 1u; | |
| i0 += i1; | |
| l5 = i0; | |
| l8 = i0; | |
| B13:; | |
| i0 = l10; | |
| i1 = l7; | |
| i2 = 6u; | |
| i1 <<= (i2 & 31); | |
| i0 |= i1; | |
| l7 = i0; | |
| i0 = l6; | |
| i1 = 240u; | |
| i0 = i0 >= i1; | |
| if (i0) {goto B15;} | |
| i0 = l7; | |
| i1 = l9; | |
| i2 = 12u; | |
| i1 <<= (i2 & 31); | |
| i0 |= i1; | |
| l6 = i0; | |
| goto B8; | |
| B15:; | |
| i0 = l8; | |
| i1 = l4; | |
| i0 = i0 != i1; | |
| if (i0) {goto B17;} | |
| i0 = 0u; | |
| l6 = i0; | |
| goto B16; | |
| B17:; | |
| i0 = l8; | |
| i1 = 1u; | |
| i0 += i1; | |
| l5 = i0; | |
| i0 = l8; | |
| i0 = i32_load8_u((&memory), (u64)(i0)); | |
| i1 = 63u; | |
| i0 &= i1; | |
| l6 = i0; | |
| B16:; | |
| i0 = l7; | |
| i1 = 6u; | |
| i0 <<= (i1 & 31); | |
| i1 = l9; | |
| i2 = 18u; | |
| i1 <<= (i2 & 31); | |
| i2 = 1835008u; | |
| i1 &= i2; | |
| i0 |= i1; | |
| i1 = l6; | |
| i0 |= i1; | |
| l6 = i0; | |
| i1 = 1114112u; | |
| i0 = i0 == i1; | |
| if (i0) {goto B0;} | |
| goto B8; | |
| B9:; | |
| i0 = l6; | |
| i1 = 255u; | |
| i0 &= i1; | |
| l6 = i0; | |
| B8:; | |
| i0 = p1; | |
| i1 = 44u; | |
| i0 = i0 > i1; | |
| if (i0) {goto B6;} | |
| i0 = p1; | |
| i1 = 2u; | |
| i0 <<= (i1 & 31); | |
| i1 = 1049716u; | |
| i0 += i1; | |
| i0 = i32_load((&memory), (u64)(i0)); | |
| i1 = p1; | |
| i2 = 1337u; | |
| i1 *= i2; | |
| i0 ^= i1; | |
| l8 = i0; | |
| i1 = 44u; | |
| i0 = i0 > i1; | |
| if (i0) {goto B5;} | |
| i0 = p1; | |
| i1 = p0; | |
| i0 -= i1; | |
| i1 = l5; | |
| i0 += i1; | |
| p1 = i0; | |
| i0 = l5; | |
| p0 = i0; | |
| i0 = l8; | |
| i1 = 1049669u; | |
| i0 += i1; | |
| i0 = i32_load8_u((&memory), (u64)(i0)); | |
| i1 = l6; | |
| i2 = 255u; | |
| i1 &= i2; | |
| i0 = i0 == i1; | |
| if (i0) {goto L7;} | |
| i0 = 0u; | |
| l3 = i0; | |
| goto B0; | |
| B6:; | |
| i0 = 1049908u; | |
| i1 = p1; | |
| i2 = 45u; | |
| core__panicking__panic_bounds_check__h1fae5a314994f748(i0, i1, i2); | |
| UNREACHABLE; | |
| B5:; | |
| i0 = 1049924u; | |
| i1 = l8; | |
| i2 = 45u; | |
| core__panicking__panic_bounds_check__h1fae5a314994f748(i0, i1, i2); | |
| UNREACHABLE; | |
| B3:; | |
| i0 = l2; | |
| i1 = l2; | |
| i2 = 12u; | |
| i1 += i2; | |
| i32_store((&memory), (u64)(i0 + 24), i1); | |
| i0 = l2; | |
| i1 = l2; | |
| i2 = 8u; | |
| i1 += i2; | |
| i32_store((&memory), (u64)(i0 + 20), i1); | |
| i0 = l2; | |
| i1 = l2; | |
| i32_store((&memory), (u64)(i0 + 16), i1); | |
| i0 = l2; | |
| i1 = 16u; | |
| i0 += i1; | |
| core__str__traits___impl_core__slice__SliceIndex_str__for_core__ops__range__Range_usize____index____closure____h81e1d06525c0564b(i0); | |
| UNREACHABLE; | |
| B0:; | |
| i0 = l2; | |
| i1 = 32u; | |
| i0 += i1; | |
| g0 = i0; | |
| i0 = l3; | |
| FUNC_EPILOGUE; | |
| return i0; | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment