Function at 0x1004f280
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov ebp, dword [esp + 0x9c]
lea eax, [ecx + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov esi, eax
or esi, 0x7ffffffe
add esi, eax
and eax, 0x80000001
sub eax, esi
imul eax, eax, 0xc5d714df
lea esi, [eax - 0x772ea1b8]
mov edi, 0x772ea1b7
sub edi, eax
and edi, 0x82bc7ad9
lea eax, [edi + eax*2]
add eax, 0x11a2bc90
or esi, 0x82bc7ad9
sub eax, esi
lea esi, [eax - 0x7d438527]
mov edi, esi
and edi, 0x25a9631b
add edi, edi
sub esi, edi
add eax, eax
add eax, 0x578f5b2
mov edi, eax
or edi, 0x4b52c636
add edi, esi
xor eax, 0xb4ad39c8
add eax, edi
imul edi, eax, 0x707658e1
lea ebx, [edi - 0x4cafeb83]
mov eax, ebx
not eax
mov esi, eax
and esi, 0xbe176f47
add esi, edi
add esi, 0xb350147d
xor ebx, 0x41e890b8
add ebx, esi
or eax, 0xbe176f47
sub eax, ebx
add eax, 0x41e890b9
cmp eax, edx
setb byte [esp + 0x13]
mov edi, ebp
add edi, ebp
lea eax, [ebp*4]
sub edi, eax
mov eax, edx
not eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x70], eax
lea eax, [edx + eax*2]
lea esi, [eax + eax*2]
add esi, 3
sub esi, eax
lea edx, [eax + eax]
add edx, 2
sub esi, edx
not eax
add eax, esi
add eax, 0xfffffffe
mov dword [esp + 0x6c], eax
not ebp
mov dword [esp + 0x68], ebp
mov eax, edi
not eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x74], edi
lea eax, [edi + 1]
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], ecx
lea eax, [ecx + 0x14]
mov dword [esp + 0x5c], eax
mov ecx, 0x47ca15fc
mov eax, 0x345df576
jmp 0x1004f5b0
mov eax, dword [esp + 0x20]
lea ecx, [eax + eax]
mov edx, ecx
and edx, 0x46
lea edx, [edx + eax*2]
not ecx
or ecx, 0xffffffb8
lea ebp, [edx + ecx]
add ecx, edx
add ecx, 0x49
mov edi, eax
not edi
lea edx, [eax + edi*2]
add edx, 1
and edx, 0xffffffdb
mov esi, edx
not esi
lea ebx, [esi + edx*2]
mov dword [esp + 4], ebx
lea esi, [esi + edx*2]
add esi, 2
mov edx, ecx
and edx, 0x40de1ac
add ebp, edx
add ebp, 0x49
mov ebx, ecx
xor ebx, 0xfbf21e53
add ebx, ebp
xor ecx, 0x40de1ad
lea ebp, [ebx + ecx]
add ecx, ebx
add ecx, 0x40de1ad
mov dword [esp + 0x18], ecx
mov ebx, edx
not ebx
add ebx, ebp
add ebx, 0x40de1ad
mov ebp, ebx
xor ebp, esi
add ebp, ebx
add ebp, esi
sub ebp, dword [esp + 4]
sub edx, dword [esp + 0x18]
add edx, ebp
and ebx, esi
lea ecx, [edx + ebx*2]
lea edx, [edx + ebx*2]
add edx, 0xffffffff
and edx, 0x40de1ac
mov esi, edx
xor esi, 0x40de1ac
add ecx, esi
add ecx, 0xffffffff
lea esi, [ecx + edx]
add edx, ecx
add edx, 0xf7e43ca8
mov ecx, edi
and ecx, 0x866ab82
mov ebx, eax
xor ebx, 0x866ab82
add ebx, eax
mov ebp, eax
or ebp, 0x866ab82
sub ebx, ebp
or ebx, ecx
mov ebp, ebx
xor ebp, 0x866ab82
lea ecx, [ebp + 1]
xor ebx, 0xf799547d
add esi, ebx
add esi, 0xf7e43ca8
mov ebx, edx
xor ebx, ecx
add ebx, esi
mov esi, 0xfffffffe
sub esi, ebp
or esi, edx
add esi, ebx
not edx
or edx, ecx
lea ecx, [esi + edx]
add edx, esi
add edx, 2
mov esi, edi
or edi, 0xf0203c4d
mov ebx, eax
or ebx, 0xf0203c4d
add ebx, edi
and esi, 0xf0203c4d
not ebx
add esi, ebx
add esi, 0xf0203c4d
and eax, 0xfdfc3b2
or eax, esi
and esi, 0xf0203c4d
mov edi, eax
xor edi, 0xfdfc3b2
add edi, eax
sub edi, esi
and eax, 0xfdfc3b2
mov esi, eax
not esi
add esi, edi
add esi, 1
add edi, esi
add edi, 1
sub eax, edi
add eax, esi
mov esi, eax
xor esi, 0x24
mov edi, eax
xor edi, 0xffffffdb
add edi, esi
add edi, eax
not eax
or eax, 0xffffffdb
lea esi, [edi + eax]
add eax, edi
add eax, 2
not eax
lea eax, [esi + eax*2 + 2]
mov esi, eax
not esi
mov edi, edx
and edi, 0xd128f6e1
add ecx, edi
add ecx, 2
mov edi, edx
or edi, 0xd128f6e1
sub ecx, edi
xor edx, 0xd128f6e1
add edx, ecx
lea edx, [edx + esi*2]
lea ecx, [edx + eax]
mov edi, 0xe9f49250
sub edi, ecx
sub edi, ecx
add eax, edx
add eax, 0xb05b6d7
and edi, 0xe9f49254
lea edx, [edi + ecx*2]
add edx, 0x160b6dae
mov esi, eax
xor esi, 0xb05b6d5
add esi, edx
or eax, 0xf4fa492a
mov edx, 0x34fa4928
sub edx, ecx
or edx, 0xf4fa492a
add edx, eax
sub esi, edx
add esi, 0xf4fa492a
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], eax
mov ecx, 0x1457f977
mov eax, 0x12fa4870
nop word [eax + eax]
cmp ecx, 0x22c06075
jle 0x1004f620
cmp ecx, 0x58e37867
jg 0x1004f6e0
cmp ecx, 0x3f4d0102
jg 0x1004f737
cmp ecx, 0x2baa5da9
jle 0x1004fa32
cmp ecx, 0x33c0d2c8
jg 0x1004fce4
cmp ecx, 0x2baa5daa
je 0x10050152
cmp ecx, 0x2e498ddf
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x5c6d5269
mov ecx, 0x88995c64
mov edx, 0x3f4d0103
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0xd568afb0
jg 0x1004f680
cmp ecx, 0xababd5f8
jle 0x1004f782
cmp ecx, 0xb66365f7
jle 0x1004f9f3
cmp ecx, 0xc264c8f9
jg 0x1004fd17
cmp ecx, 0xb66365f8
je 0x1005016d
cmp ecx, 0xba74af96
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xad8acb60
mov ecx, 0x6d5941a7
mov edx, 0x8dca9029
cmovl ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x985bb87
jle 0x1004f95d
cmp ecx, 0x1901795f
jle 0x1004fa72
cmp ecx, 0x213b13e9
jg 0x1004fd4a
cmp ecx, 0x19017960
je 0x10050188
cmp ecx, 0x1d5c9d4d
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xc048b5d6
mov ecx, 0x77df9686
mov edx, 0xba74af96
cmovl ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x64624425
jg 0x1004f9a8
cmp ecx, 0x5e78d1b6
jle 0x1004faa0
cmp ecx, 0x60012710
jg 0x1004fd7d
cmp ecx, 0x5e78d1b7
je 0x100501a3
cmp ecx, 0x5fbb9bb0
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x8b76821c
mov ecx, 0x88995c64
mov edx, 0x4b4a4afc
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x4b4a4afb
jle 0x1004fadf
cmp ecx, 0x521380b0
jg 0x1004fdb0
cmp ecx, 0x4b4a4afc
je 0x100501ad
cmp ecx, 0x4f675488
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x12fa4870
mov ecx, 0x88995c64
mov edx, 0x521380b1
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x8dca9028
jg 0x1004fb10
cmp ecx, 0x88995c63
jle 0x1004fde3
cmp ecx, 0x88995c64
je 0x1005051d
cmp ecx, 0x8da66c2a
jne 0x1004f5b0
mov edx, dword [esp + 8]
mov ecx, edx
not ecx
mov eax, ecx
mov edi, dword [esp + 0x6c]
and eax, edi
mov esi, ecx
or esi, edi
add esi, eax
add esi, 1
mov edi, esi
sub edi, eax
lea edi, [edi + edi*2]
sub eax, esi
lea eax, [edi + eax*2]
mov esi, eax
or esi, 0x5f37c7d2
mov edi, eax
and edi, 0x5f37c7d2
add edi, eax
sub edi, esi
xor eax, 0x5f37c7d2
add eax, edi
lea eax, [eax + edx*2]
mov esi, ecx
and esi, 0xf6a7006f
mov edi, edx
and edi, 0x958ff90
or edx, 0x958ff90
or ecx, 0x958ff90
add ecx, edx
not ecx
add ecx, edi
add ecx, 0x958ff90
or ecx, esi
mov edx, ecx
xor edx, 0xf6a7006f
mov esi, edx
mov ebp, dword [esp + 0x70]
or esi, ebp
xor ecx, 0x958ff90
mov edi, ecx
mov ebx, dword [esp + 0x78]
and edi, ebx
add edi, esi
mov esi, edx
xor esi, ebx
sub edi, esi
add edi, edx
or ecx, ebp
lea edx, [edi + ecx]
add ecx, edi
add ecx, 1
not ecx
lea ecx, [edx + ecx*2 + 1]
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xe231362
mov ecx, 0xf1dcec9d
sub ecx, edx
and ecx, 0xf1dcec9f
add ecx, edx
add ecx, 0xe231362
xor eax, 0xe231360
add eax, ecx
mov ecx, 0x1dcec9d
sub ecx, edx
or ecx, 0xf1dcec9f
sub eax, ecx
add eax, 0xf1dcec9f
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov ecx, eax
xor ecx, 0xf
add ecx, eax
not eax
or eax, 0xf
lea edx, [ecx + eax]
add ecx, eax
add ecx, 1
mov eax, ecx
not eax
lea eax, [eax + edx*2]
add eax, 3
mov esi, eax
and esi, 0xb87b938a
mov edi, eax
xor edi, 0xb87b938a
add edi, esi
xor eax, 0x47846c75
add eax, edi
add edx, edx
add edx, 3
sub ecx, edx
or ecx, 0xb87b938a
sub eax, ecx
lea ecx, [eax - 0x6ceaa05b]
mov edx, ecx
and edx, 0x819d3d7
add edx, edx
sub ecx, edx
add eax, eax
add eax, 0x262abf4a
mov edx, eax
or edx, 0x1033a7ae
add edx, ecx
xor eax, 0xefcc5850
lea ecx, [edx + eax]
add eax, edx
add eax, 0x77e62c2b
not eax
mov edx, eax
or edx, 0x6ceaa05b
lea ecx, [edx + ecx*2]
add ecx, 0xefcc5856
or eax, 0x93155fa4
add eax, ecx
add eax, 0xf5047434
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], 0
mov eax, 0x891d6c4
mov ecx, 0x214484d4
cmovs eax, ecx
jmp 0x1004fc93
cmp ecx, 0xe219f22c
jle 0x1004fb60
cmp ecx, 0x1ab1b25
jle 0x1004fe0a
cmp ecx, 0x1ab1b26
je 0x1004f3af
cmp ecx, 0x65898a8
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xcdf9ac67
mov ecx, 0x88995c64
mov edx, 0xababd5f9
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x75933a3b
jg 0x1004fca5
cmp ecx, 0x6e13bc1d
jle 0x1004fe31
cmp ecx, 0x6e13bc1e
je 0x10050527
cmp ecx, 0x708a7ad4
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xce3ebc7a
mov ecx, 0x61e68649
mov edx, 0x65898a8
cmovl ecx, edx
jmp 0x1004f5b0
cmp ecx, 0xae8b1e49
jle 0x1004fe58
cmp ecx, 0xae8b1e4a
je 0x10050542
cmp ecx, 0xb09dd06c
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xe48293f8
mov ecx, 0x88995c64
mov edx, 0x99364a87
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x22c06076
je 0x1005055d
cmp ecx, 0x2501e3a9
je 0x1005058f
cmp ecx, 0x2aa287b4
jne 0x1004f5b0
cmp byte [esp + 0x13], 0
mov eax, 0x1eb7d529
mov ecx, 0xc048b5d6
cmovne eax, ecx
mov ecx, 0x1457f977
jmp 0x1004f5b0
cmp ecx, 0x985bb88
je 0x10050a8c
cmp ecx, 0xd537eaa
je 0x10050aa7
cmp ecx, 0x1457f977
jne 0x1004f5b0
mov ecx, 0x47ca15fc
jmp 0x1004f5b0
cmp ecx, 0x58e37868
je 0x10050ac2
cmp ecx, 0x58e83efb
je 0x10050ae9
cmp ecx, 0x5bd61f34
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x214484d4
mov ecx, 0x88995c64
mov edx, 0x2501e3a9
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x3f4d0103
je 0x10050b04
cmp ecx, 0x41b22a25
je 0x10050d53
cmp ecx, 0x47ca15fc
jne 0x1004f5b0
mov dword [esp], eax
mov ecx, 0xae8b1e4a
jmp 0x1004f5b0
cmp ecx, 0x8dca9029
je 0x10050d79
cmp ecx, 0x8dd12676
je 0x10050d94
cmp ecx, 0x99364a87
jne 0x1004f5b0
cmp dword [esp + 0x30], 0
mov eax, 0xce3ebc7a
mov ecx, 0xc3475dc2
cmove eax, ecx
mov ecx, 0x1457f977
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0xffffffff
jmp 0x1004f5b0
cmp ecx, 0xd568afb1
je 0x10050daf
cmp ecx, 0xde52f196
je 0x10050dca
cmp ecx, 0xe0446a04
jne 0x1004f5b0
mov eax, dword [esp + 0x20]
shr eax, 1
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x14ac66a1
mov esi, eax
and esi, 0xeb53995e
or eax, 0xeb53995e
or ecx, 0xeb53995e
add ecx, eax
not ecx
lea eax, [esi + ecx]
add eax, 0xeb53995e
or eax, edx
xor eax, 0x6b53995e
add eax, 0xc34a3d02
mov ecx, eax
or ecx, 0x3cb5c2fe
or eax, 0xc34a3d01
add eax, ecx
imul eax, eax, 0x13722c97
lea ecx, [eax - 0x30b82797]
mov edx, ecx
and edx, 0xc49d8002
add eax, edx
add eax, 0xcf47d869
mov edx, ecx
xor edx, 0xc49d8002
add edx, eax
or ecx, 0xc49d8002
sub edx, ecx
lea eax, [edx + 0x3b627ffe]
mov ecx, eax
not ecx
and ecx, 0x1d80a54c
add ecx, edx
add ecx, 0x3b627ffe
or eax, 0xe27f5ab3
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x1d80a54d
mov ecx, eax
and ecx, 0xc49d8002
and eax, 0x3b627ffd
sub eax, ecx
add eax, edx
add eax, 0x1d80a54d
mov esi, 0x227f5ab2
sub esi, edx
or esi, 0xc49d8002
add esi, eax
add esi, ecx
imul eax, esi, 0x9f941327
lea ecx, [eax + 0x79dac88e]
and ecx, 0x3a921e52
add ecx, eax
add ecx, 0x79dac88e
mov edx, 0x86253771
sub edx, eax
or edx, 0xc56de1ad
lea eax, [edx + ecx]
add eax, 0x3a921e54
cmp eax, dword [esp + 0x20]
mov eax, 0xad8acb60
mov ecx, 0x214484d4
cmovb eax, ecx
mov ecx, 0x1457f977
mov dword [esp + 0x28], 0x7fffffff
jmp 0x1004f5b0
cmp ecx, 0x75933a3c
je 0x1005103b
cmp ecx, 0x77df9686
je 0x10051056
cmp ecx, 0x797fc367
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xb85f91ee
mov ecx, 0x88995c64
mov edx, 0x1ab1b26
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x33c0d2c9
je 0x10051071
cmp ecx, 0x3f1cd5e4
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x345df576
mov ecx, 0x88995c64
mov edx, 0x2aa287b4
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0xc264c8fa
je 0x1005108c
cmp ecx, 0xcb0a48fe
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xc048b5d6
mov ecx, 0x88995c64
mov edx, 0x64624426
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x213b13ea
je 0x100510a7
cmp ecx, 0x22827314
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x12fa4870
mov ecx, 0x4f675488
mov edx, 0xd568afb1
cmovl ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x60012711
je 0x100510c2
cmp ecx, 0x61e68649
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xce3ebc7a
mov ecx, 0x88995c64
mov edx, 0x58e37868
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x521380b1
je 0x100510dd
cmp ecx, 0x5402d85a
jne 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x891d6c4
mov ecx, 0x22827314
mov edx, 0xb66365f8
cmovl ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x88066647
jne 0x100510fc
mov ecx, dword [esp]
cmp ecx, 0x714536f7
mov ecx, 0x88995c64
mov edx, 0xad29111c
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0xe219f22d
jne 0x10051109
mov ecx, dword [esp]
cmp ecx, 0xc3475dc2
mov ecx, 0x88995c64
mov edx, 0x22c06076
cmove ecx, edx
jmp 0x1004f5b0
cmp ecx, 0x6d5941a7
jne 0x10051117
mov ecx, dword [esp]
cmp ecx, 0xb85f91ee
mov ecx, 0x797fc367
mov edx, 0xc264c8fa
cmovl ecx, edx
jmp 0x1004f5b0
cmp ecx, 0xababd5f9
jne 0x10051125
mov eax, dword [esp + 0x34]
mov eax, dword [eax - 4]
mov dword [esp + 0x58], eax
imul eax, dword [esp + 0x34], 0x9afedb55
lea ecx, [eax - 0x6fd5c2f4]
mov edx, 0x6fd5c2f3
sub edx, eax
and edx, 0x65ec66f9
lea eax, [edx + eax*2]
add eax, 0x20547a18
or ecx, 0x65ec66f9
sub eax, ecx
add eax, 0x9a139907
imul ecx, eax, 0xeb3e49fd
imul eax, eax, 0xd67c93fa
not ecx
mov edx, ecx
or edx, 0x68d799fb
add edx, eax
or ecx, 0x97286604
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0xec666a3c
mov edx, 0x939995c3
sub edx, eax
and edx, 0x68d799fb
add edx, eax
add edx, 0xec666a3c
xor ecx, 0x97286604
add ecx, edx
mov edx, 0x139995c3
sub edx, eax
or edx, 0x68d799fb
sub ecx, edx
lea edi, [ecx + 0x68d799fb]
mov dword [esp + 0x14], edi
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x58]
not edi
mov dword [esp + 0x80], edi
mov edx, ebx
not edx
mov dword [esp + 4], ebx
mov esi, ebx
and esi, edi
sub esi, edi
sub esi, edi
xor ebx, edi
add ebx, esi
mov ebp, edi
mov dword [esp + 0x7c], edx
or ebp, edx
add ebp, ebx
lea esi, [ecx + ecx]
add esi, 0xd1af33f6
sub ebp, esi
or esi, 0x9714737
mov ebx, dword [esp + 0x14]
xor ebx, 0xfb475c64
add ebx, esi
mov esi, ebx
and esi, 0x4b8a39a
add esi, ebx
mov eax, ebx
xor eax, 0x4b8a39a
add eax, esi
or ebx, 0x4b8a39a
sub eax, ebx
mov esi, edi
and esi, 0x995a87b9
or edi, 0x66a57846
lea ebx, [ecx + edi]
add ebx, 0x68d799fc
or ebx, esi
mov esi, ebx
xor esi, 0x995a87b9
mov ecx, dword [esp + 4]
and esi, ecx
xor ebx, 0x66a57846
and ecx, ebx
sub esi, ecx
or ebx, edx
add ebx, esi
lea ecx, [eax - 0x4b8a39b]
mov esi, ecx
xor esi, 0x8e049c94
xor ecx, 0x71fb636b
add ecx, esi
lea esi, [eax + ecx]
add esi, 0x894bf8fa
mov eax, ebx
not eax
mov ecx, esi
not ecx
mov edx, ecx
and edx, eax
add edx, edx
mov edi, esi
sub edi, edx
add edi, eax
xor eax, esi
add eax, edi
sub eax, ebx
add ecx, eax
sub esi, eax
mov eax, ecx
and eax, 0x71fb636b
add eax, ecx
mov edx, esi
and edx, 0x8e049c94
or ecx, 0x71fb636b
add ecx, edx
or esi, 0x8e049c94
add esi, eax
mov edx, dword [esp + 4]
add ecx, edx
sub esi, ecx
mov ebx, dword [esp + 0x14]
mov eax, ebx
or eax, edx
add eax, ebp
mov edx, dword [esp + 0x7c]
and edx, ebx
or edx, eax
mov ebp, edx
and ebp, 0x2a78b139
lea eax, [edx + ebp]
xor ebp, 0x2a78b139
add ebp, eax
mov eax, edx
not eax
and eax, 0xd5874ec6
or edx, 0x2a78b139
sub ebp, edx
mov edi, edx
mov ecx, ebp
not ecx
mov edx, eax
xor edx, ebp
or ebp, eax
and eax, ecx
add eax, eax
sub edx, eax
add ebp, edx
add ebp, ecx
sub ebp, edi
mov eax, ebp
xor ebp, 0x2a78b139
lea ecx, [esi*4 - 0x38127250]
add ecx, ebp
lea edx, [esi + 0x71fb636c]
xor eax, 0xd5874ec6
lea edi, [eax + 1]
mov esi, edx
or esi, edi
add esi, esi
sub ecx, esi
mov esi, 0xfffffffe
sub esi, eax
or esi, edx
add esi, esi
sub ecx, esi
mov esi, edx
not esi
or esi, edi
add esi, ecx
and edx, edi
mov eax, dword [esp + 0x80]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x38]
lea eax, [eax + ecx*2]
add eax, 0xd1af33f8
and eax, 0x5cf12476
mov ecx, eax
xor ecx, 0x5cf12476
add ecx, eax
add eax, ecx
add eax, 0xa30edb8a
and ebx, 0xa30edb89
or ebx, eax
xor ebx, 0xa30edb89
or ebx, dword [esp + 4]
mov eax, edx
not eax
add eax, esi
sub edx, esi
mov ecx, eax
or ecx, ebx
or edx, ebx
add edx, ecx
not edx
add edx, eax
imul eax, edx, 0x6ae82a97
lea ecx, [eax - 0x1b3e5660]
mov edx, ecx
not edx
and ecx, 0x84008315
add eax, eax
add eax, 0xc9835340
sub eax, ecx
or edx, 0x84008315
add edx, eax
imul eax, edx, 0x30060ad9
lea ecx, [eax - 0x5e94f76d]
mov edx, ecx
and edx, 0x1c11f9a6
add eax, edx
add eax, 0xa16b0893
mov edx, ecx
xor edx, 0x1c11f9a6
add edx, eax
or ecx, 0x1c11f9a6
sub ecx, edx
add ecx, 0xe3ee065a
cmp ecx, 0x20
mov eax, 0x714536f7
mov ecx, 0xb85f91ee
cmovb eax, ecx
mov ecx, 0x1457f977
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xcdf9ac67
mov ecx, 0x708a7ad4
mov edx, 0x8dd12676
cmovl ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xe48293f8
mov ecx, 0xb09dd06c
mov edx, 0xd537eaa
cmovl ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x5c6d5269
mov ecx, 0x33c0d2c9
mov edx, 0x3f1cd5e4
cmovl ecx, edx
jmp 0x1004f5b0
mov ecx, 0x1457f977
jmp 0x1004f5b0
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
push dword [esp + 8]
push dword [esp + 0x38]
push dword [esp + 0x14]
call fcn.1005e370
add esp, 0xc
mov eax, dword [esp + 8]
add eax, dword [esp + 0xc]
mov esi, dword [esp + 0x9c]
push esi
push dword [esp + 0x9c]
push eax
call fcn.1005e370
add esp, 0xc
mov edx, dword [esp + 8]
lea ecx, [edx - 0x689e9bcb]
mov eax, ecx
or eax, 0x689e9bcb
add edx, edx
sub edx, eax
and ecx, 0x689e9bcb
mov eax, ecx
not eax
add eax, edx
add eax, 1
add edx, 1
sub ecx, edx
and ecx, 0x76c340b1
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0x76c340b1
add ecx, edx
mov edx, eax
xor edx, 0x893cbf4e
add edx, ecx
or eax, 0x893cbf4e
sub edx, eax
lea eax, [edx + esi]
add eax, 0x76c340b1
add edx, esi
lea ecx, [edx + edx]
add ecx, 0xed868162
sub ecx, eax
imul eax, ecx, 0x9113fc25
lea ecx, [eax - 0x594ba8ec]
mov edx, 0x594ba8eb
sub edx, eax
and edx, 0xc48e6edb
lea eax, [edx + eax*2]
add eax, 0x4d68ae28
or ecx, 0xc48e6edb
sub eax, ecx
imul eax, eax, 0x3d33bfad
mov ecx, dword [esp + 0xc]
mov byte [eax + ecx + 0x3769facb], 0
mov edx, dword [esp + 0x20]
lea eax, [edx + edx]
mov ecx, eax
not ecx
mov esi, ecx
and esi, 0x1eddaf4c
lea esi, [esi + edx*2]
xor eax, 0xe12250b3
add eax, esi
or ecx, 0x1eddaf4c
sub eax, ecx
lea ebx, [eax + 0x1eddaf4c]
mov ecx, ebx
and ecx, 0xe12250b2
add eax, ecx
add eax, 0x1eddaf4c
mov ecx, ebx
not ecx
add ecx, eax
and ebx, 0x1eddaf4c
add ebx, ecx
mov eax, edx
and eax, 1
mov ecx, edx
or ecx, 0x7ffffffe
add ecx, eax
mov esi, edx
not esi
mov edi, esi
or edi, 0x7ffffffe
add edi, ecx
add edi, edi
sub ebx, edi
lea ebp, [ebx + 0x1ef23f42]
lea ecx, [ebx + ebx]
add ecx, 0x3de47e84
or ecx, 0x7b9fdd20
add ecx, ebx
add ecx, 0x1ef23f42
mov edi, ebp
xor edi, 0xc230116f
add ecx, edi
add ecx, 0xc2301171
mov edi, esi
and edi, 1
add edi, esi
sub ebp, ecx
sub ecx, ebx
mov dword [esp + 4], ecx
add ecx, 0x233dd22d
add ebp, 0xbdcfee90
and ebp, 0x4f90168a
and ecx, 0x4f90168a
add ecx, ebp
mov dword [esp + 0x18], ecx
add edi, eax
mov ecx, edx
and ecx, 0xfffffffe
lea ebx, [ecx + edi]
add ebx, 1
mov dword [esp + 0x2c], ebx
add edi, ecx
add eax, eax
sub ecx, eax
mov eax, edx
xor eax, 0xfffffffe
add eax, ecx
mov ebp, esi
lea ecx, [edx + esi*2]
mov dword [esp + 0x38], ecx
lea ecx, [edx + esi*2]
add ecx, 0xffffffff
mov dword [esp + 0x14], ecx
lea esi, [edx + esi*2]
add esi, 1
or ebp, 1
add ebp, edx
add ebp, 1
lea ebx, [eax + edx]
add eax, edx
add eax, 2
xor edx, 1
or edx, ebp
add edx, dword [esp + 0x18]
mov ecx, dword [esp + 4]
sub ecx, edx
mov edx, 0xfffffffd
sub edx, ebx
or eax, dword [esp + 0x2c]
mov ebx, 0xfffffffe
sub ebx, edi
and ebx, edx
mov edi, ebx
sub edi, eax
sub edi, eax
sub edi, ebx
sub edi, ebx
lea edx, [edi*4 - 8]
lea ebp, [edi + edi]
add ebp, 0xfffffffc
sub edx, ebp
sub edx, edi
add edx, 2
add ebx, eax
mov eax, ebx
not eax
mov edi, edx
xor edi, eax
or eax, edx
add eax, edi
add eax, ebx
not edx
add eax, edx
or edx, ebx
add edx, edx
sub eax, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xf2cde8b8
mov edi, 0xfffffffe
sub edi, dword [esp + 0x38]
mov ebx, esi
or esi, 1
or edi, 1
add edi, esi
xor ebx, 1
sub ebx, edi
mov ecx, dword [esp + 0x14]
and ecx, 1
or ebx, ecx
mov ecx, eax
not ecx
and eax, 0xa3f17b88
add edx, edx
add edx, 0xe59bd170
sub edx, eax
or ecx, 0xa3f17b88
add ecx, edx
sub ecx, ebx
add ecx, 0x5c0e8478
mov eax, ecx
or eax, 0x5c0e8477
or ecx, 0xa3f17b88
add ecx, eax
imul eax, ecx, 0x6d8e067
lea ecx, [eax - 0x454e8b7a]
mov edx, ecx
and edx, 0x45e2651c
add eax, edx
add eax, 0xbab17486
mov edx, ecx
xor edx, 0x45e2651c
add edx, eax
or ecx, 0x45e2651c
sub edx, ecx
lea eax, [edx + 0x45e2651c]
mov ecx, eax
not ecx
and ecx, 0x68c969c0
add ecx, edx
add ecx, 0x45e2651c
or eax, 0x9736963f
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x68c969c1
mov ecx, eax
and ecx, 0x45e2651c
and eax, 0xba1d9ae3
sub eax, ecx
add eax, edx
add eax, 0x68c969c1
mov esi, 0x9736963e
sub esi, edx
or esi, 0x45e2651c
add esi, eax
add esi, ecx
imul eax, esi, 0x1e4c3b57
lea ecx, [eax - 0x23675e2b]
and ecx, 0x1b5398bd
add ecx, eax
add ecx, 0xdc98a1d5
mov edx, 0x23675e2a
sub edx, eax
or edx, 0xe4ac6742
lea eax, [edx + ecx]
add eax, 0x1b5398bf
mov dword [esp + 0x18], eax
cmp eax, 0x1000
mov eax, 0x12fa4870
mov ecx, 0xcdf9ac67
cmovae eax, ecx
mov ecx, 0x1457f977
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], edx
jmp 0x1004f5b0
mov ecx, 0x5e78d1b7
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x1eb7d529
mov ecx, 0x58e83efb
mov edx, 0x5402d85a
cmovl ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xe288fed0
mov ecx, 0x6e13bc1e
mov edx, 0x1d5c9d4d
cmovl ecx, edx
jmp 0x1004f5b0
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
cmp eax, 0x10
mov eax, 0x5c6d5269
mov ecx, 0x8b76821c
jmp 0x1005102e
mov ebx, dword [esp + 0x28]
mov esi, ebx
or esi, 0x5c54fd9c
lea eax, [ebx + ebx]
mov ecx, esi
sub ecx, eax
or eax, 0x475604c6
lea edx, [ecx + eax]
add edx, 1
mov ecx, ebx
and ecx, 0x5c54fd9c
lea edi, [ebx + ebx*2]
add edi, ecx
add esi, esi
sub edi, esi
sub edi, eax
mov eax, ebx
not eax
mov esi, eax
or esi, 0x5c54fd9c
add esi, edi
not ecx
add ecx, esi
mov esi, edx
and esi, ecx
or ecx, edx
lea edx, [esi + ecx]
add ecx, esi
add ecx, 1
mov edi, esi
not edi
add edx, edi
add edx, 1
add edx, edx
mov edi, edx
xor edi, 0x38
sub esi, ecx
add esi, edi
and edx, 0x38
add esi, edx
add esi, 0x25
or esi, 0xffffffdb
lea edx, [esi + ebx]
add edx, 0x25
add esi, ebx
mov edi, ebx
mov dword [esp + 0x28], ebx
mov ecx, edx
xor ecx, 0xffffffdc
add ecx, esi
or edx, 0x23
add edx, ecx
mov ecx, 0x1a
sub ecx, esi
or ecx, 0xffffffdc
add ecx, edx
mov edx, ebx
and edx, 0xffffffdb
mov esi, ebx
xor esi, 0xffffffdb
or edi, 0xffffffdb
or eax, 0xffffffdb
add eax, edi
not eax
add eax, esi
add eax, 0xffffffdb
or eax, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x4b
mov ecx, eax
not ecx
mov esi, ecx
and esi, 0x492a64c6
add edx, esi
add edx, 0x4b
mov esi, eax
xor esi, 0xb6d59b39
add esi, edx
add esi, eax
or ecx, 0xb6d59b39
lea eax, [esi + ecx]
add ecx, esi
add ecx, 0xb6d59b3b
mov edx, ecx
and edx, 1
add eax, edx
add eax, 0xb6d59b3b
mov edx, ecx
xor edx, 1
add edx, eax
or ecx, 1
sub edx, ecx
lea eax, [edx + 1]
mov ecx, eax
not ecx
and ecx, 0xb6d59b39
add ecx, edx
add ecx, 1
or eax, 0x492a64c6
add eax, ecx
imul eax, eax, 0x4a10081b
lea ecx, [eax + 0x271ee118]
mov edx, ecx
and edx, 0x67c63886
add eax, edx
add eax, 0x271ee118
mov edx, ecx
or edx, 0x67c63886
sub eax, edx
xor ecx, 0x67c63886
add ecx, eax
imul eax, ecx, 0x37909213
push eax
call fcn.10058266
add esp, 4
mov edx, eax
or edx, 0xffffffdc
mov ecx, eax
and ecx, 0x23
mov dword [esp + 0x24], ecx
mov esi, 0x9117cb0e
sub esi, edx
mov edi, esi
and edi, 0xd
sub edi, edx
mov edx, esi
xor edx, 0x6ee834cd
add edx, edi
or esi, 0x6ee834cd
sub edx, esi
mov ebx, eax
xor ebx, 0x23
sub ebx, eax
mov ebp, eax
or ebp, 0x23
mov ecx, eax
mov dword [esp + 0x1c], eax
mov esi, eax
xor esi, 0xffffffdc
add esi, ebp
add esi, 1
not ebp
add ebp, ebx
lea eax, [eax*2]
add eax, ebp
mov edi, dword [esp + 0x24]
mov ebx, edi
not ebx
lea ebx, [ebx + eax + 0x25]
mov eax, ecx
not eax
lea ebp, [ebp + ecx*2 + 0x25]
sub edi, ebp
mov ebp, edi
and ebp, ecx
or ebx, ecx
sub ebx, ebp
or edi, ecx
add edi, ebx
lea edi, [edi + edx*2]
add edi, 0x6b239cfa
add edx, 0xb591ce7d
sub edx, edi
add edx, 0xb591cea0
mov edi, ecx
neg edi
mov ebx, edx
and ebx, edi
add ebx, ebx
sub ebx, edx
add ebx, ecx
mov ebp, edx
or ebp, edi
add ebp, ebp
sub ebx, ebp
xor edi, edx
lea edx, [ebx + edi*2]
mov ebx, edx
not ebx
and ebx, 0xc77ca69e
add ebx, edx
mov ecx, 0x3fffffff
sub ecx, edx
xor edx, 0x38835961
add edx, ebx
or ecx, 0xc77ca69e
sub ecx, edx
and eax, 0x7935ff58
mov edi, dword [esp + 0x1c]
mov edx, edi
and edx, 0x86ca00a7
mov ebx, edx
xor ebx, 0x86ca00a7
add ebx, edx
mov edx, edi
or edx, 0x86ca00a7
add edx, ebx
mov ebx, edi
xor ebx, 0x7935ff58
add edx, ebx
add edx, 0x7935ff5a
mov ebx, edx
not ebx
mov ebp, eax
and ebp, ebx
mov edi, eax
or edi, edx
add edi, ebp
xor edx, eax
not edx
add edx, edi
or ebx, eax
sub edx, ebx
mov eax, edx
and eax, 0x7935ff58
mov edi, edx
xor edi, 0x86ca00a7
add edi, eax
mov eax, edx
not eax
add eax, edi
and edx, 0x86ca00a7
lea edi, [edx + eax]
add eax, edx
add eax, 1
or eax, 0xffffffdc
sub eax, edi
lea edx, [ecx - 0x23]
mov edi, eax
not edi
and edi, edx
lea edx, [edi + ecx]
add edx, 0xffffffdd
add edx, eax
mov edi, 0x22
sub edi, ecx
or edi, eax
add edi, edx
not edi
mov eax, esi
and eax, 0x1220a9c5
mov ecx, eax
xor ecx, 0x1220a9c5
sub ecx, eax
mov eax, esi
or eax, 0xeddf563a
add eax, ecx
add eax, 0x1220a9c6
and esi, 0xeddf563a
or esi, eax
xor esi, 0x1220a9c5
lea eax, [esi + edi]
lea ecx, [esi + edi]
add ecx, 0xa7b92807
mov edx, ecx
xor edx, 0x5846d7fa
sub edx, eax
or ecx, 0xa7b92805
add ecx, edx
lea ecx, [ecx + eax*2]
mov edx, 0x5846d7f8
sub edx, eax
or edx, 0x5846d7fa
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xadfb8f22
and ecx, 0xa7e9b12f
add ecx, eax
add ecx, 0xadfb8f22
mov edx, 0x520470dd
sub edx, eax
or edx, 0x58164ed0
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0x58164ed1
mov edx, 0x27e9b12e
sub edx, eax
and edx, 0x520470e1
lea edi, [edx + eax*2]
add edi, 0xb02c9da2
or ecx, 0x520470e1
sub edi, ecx
lea ebx, [edi + 0x520470e1]
mov eax, ebx
and eax, 0x27e9b12f
add eax, eax
neg eax
add eax, edi
add eax, 0x520470e1
xor ebx, 0x58164ed0
add ebx, eax
lea eax, [edi + ebx]
add eax, 0x520470e1
lea ecx, [edi + ebx]
add ecx, 0xa1d7d341
lea edx, [ecx + ecx*2]
mov esi, ecx
xor esi, 0x1f
add esi, edx
lea edx, [eax + eax]
add edx, 0x9fa6c4c0
mov ebp, edx
or ebp, 0x3e
sub esi, ebp
or edx, 0xffffffc0
sub esi, edx
mov ebp, 0xb02c9d9f
sub ebp, eax
mov eax, ebp
or eax, 0x1f
add eax, esi
mov edx, ecx
and edx, 0x1f
mov esi, edx
not esi
add eax, esi
and eax, ecx
mov ecx, eax
not ecx
lea ecx, [ecx + eax*2]
add ecx, ecx
lea eax, [edi + ebx]
add eax, 0xf9ee2221
or eax, 0xffffffe0
sub ecx, eax
mov edi, ebp
and edi, 0xffffffe0
lea eax, [edi + ebp]
and ebp, 0x1f
sub eax, ebp
mov ebx, edi
not ebx
add ebx, eax
add ebx, 1
add eax, 1
sub edi, eax
and edi, edx
or edx, ebx
add edx, edi
or esi, ebx
lea eax, [edx + esi]
add edx, esi
add edx, 1
mov esi, edx
not esi
lea edi, [eax + esi*2]
add edi, 1
lea eax, [eax + esi*2]
add eax, 2
mov ebx, 0xfffffffe
sub ebx, edi
mov edi, eax
and edi, 0xcd4faf38
and ebx, 0xcd4faf38
add ebx, edi
or eax, 0x32b050c7
add eax, ebx
add eax, 1
mov edi, edx
and edi, 0xcd4faf38
or esi, 0x32b050c7
add esi, edi
and edx, 0x32b050c7
add esi, edx
add esi, 1
lea edx, [ecx + 2]
or esi, eax
mov eax, edx
and eax, 0x81a4675a
add eax, ecx
add eax, 2
xor esi, 0xcd4faf38
not edx
or edx, 0x7e5b98a5
add edx, eax
add edx, esi
imul eax, edx, 0x7faa5987
lea ecx, [eax + 0x7faa5987]
mov edx, 0x8055a678
sub edx, eax
and edx, 0xaca5ace3
add edx, eax
add edx, 0x7faa5987
xor ecx, 0x535a531c
add ecx, edx
mov edx, 0x55a678
sub edx, eax
or edx, 0xaca5ace3
sub ecx, edx
add ecx, 0x535a531d
imul eax, ecx, 0xc1841c37
imul edx, ecx, 0x8308386e
mov ecx, eax
or ecx, 0x8173073b
not eax
add edx, eax
or eax, 0x8173073b
add eax, ecx
sub edx, eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x1c]
mov dword [edx - 4], eax
mov ecx, 0x1457f977
mov eax, 0xc3475dc2
mov edx, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x8e86dd5d
mov ecx, 0x88995c64
mov edx, 0x8420bf39
cmove ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xe288fed0
mov ecx, 0x88995c64
mov edx, 0x149979
cmove ecx, edx
jmp 0x1004f5b0
push dword [esp + 0x30]
call fcn.10058266
add esp, 4
mov dword [esp + 0x24], eax
mov ecx, 0x1457f977
mov eax, 0xc3475dc2
mov edx, dword [esp + 0x44]
mov dword [esp + 0x1c], edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x345df576
mov ecx, 0x19017960
mov edx, 0x60012711
cmovl ecx, edx
jmp 0x1004f5b0
push dword [esp + 8]
push dword [esp + 0x40]
push dword [esp + 0x14]
call fcn.1005e370
add esp, 0xc
mov eax, dword [esp + 8]
add eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x9c]
push ecx
mov edi, ecx
push dword [esp + 0x9c]
push eax
call fcn.1005e370
add esp, 0xc
mov ebp, dword [esp + 8]
mov ecx, ebp
not ecx
mov dword [esp + 4], ecx
mov edx, ebp
mov eax, dword [esp + 0x68]
and edx, eax
mov esi, ecx
or esi, eax
add esi, edx
mov edx, ecx
or edx, edi
add edx, esi
mov esi, edx
not esi
lea esi, [esi + edx*2]
lea edx, [esi + ebp]
add edx, 3
add esi, ebp
mov edi, edx
mov ecx, dword [esp + 0x64]
and edi, ecx
add esi, edi
add esi, 3
mov edi, edx
not edi
mov eax, dword [esp + 0x74]
mov ebx, eax
and ebx, edi
or edx, ecx
add edx, ebx
add edx, dword [esp + 0x60]
sub esi, edx
or edi, eax
lea eax, [esi + edi]
mov dword [esp + 0x14], eax
lea ebx, [esi + edi]
add ebx, 1
mov edx, ebp
xor edx, dword [esp + 0x9c]
mov esi, edx
not esi
lea edi, [edx + esi*2]
mov ecx, 0xfffffffe
sub ecx, edi
lea esi, [edx + esi*2]
add esi, 1
mov edi, esi
and edi, 0x30e4eee2
mov eax, ecx
and eax, 0x30e4eee2
add eax, edi
xor esi, 0xcf1b111d
add esi, eax
or ecx, 0x30e4eee2
sub esi, ecx
mov edi, ebp
and edx, 0xcf1b111d
or edx, esi
xor edx, 0xcf1b111d
mov eax, ebx
and eax, 0x6c6afb8c
mov ecx, dword [esp + 0x14]
add eax, ecx
add eax, 1
not ebx
or ebx, 0x93950473
lea ecx, [eax + ebx]
add eax, ebx
add eax, 0x6c6afb8e
mov esi, 0x93950471
sub esi, ecx
and esi, edx
lea ecx, [esi + ecx*2]
add ecx, 0xd8d5f71c
mov esi, ebp
add ecx, edx
or eax, edx
sub ecx, eax
mov eax, ecx
and eax, 0x6c6afb8c
add eax, eax
mov ebx, ecx
sub ebx, eax
mov edx, ecx
xor edx, 0x93950473
add edx, ebx
lea eax, [ebp*2]
add eax, ebp
add edx, ecx
or edi, 0xea42ba7a
mov ecx, edi
and esi, 0xea42ba7a
add eax, esi
add edi, edi
sub eax, edi
mov edi, ebp
add edi, ebp
sub ecx, edi
or edi, 0x2b7a8b0a
add ecx, edi
add ecx, 1
sub eax, edi
mov edi, dword [esp + 4]
or edi, 0xea42ba7a
add edi, eax
not esi
add esi, edi
mov eax, ecx
and eax, esi
or esi, ecx
lea ecx, [eax + esi]
mov edi, eax
not edi
add ecx, edi
add ecx, 1
add esi, eax
add esi, 1
add ecx, ecx
sub eax, esi
mov esi, ecx
xor esi, 0xd48574f4
add eax, esi
and ecx, 0xd48574f4
add eax, ecx
add eax, 0x15bd4587
or eax, dword [esp + 0x9c]
sub edx, eax
lea eax, [edx + 0x686b8b73]
mov ecx, eax
xor ecx, 0x9794748d
add ecx, edx
add ecx, 0x686b8b73
mov edx, eax
or edx, 0x686b8b72
add edx, ecx
not eax
or eax, 0x9794748d
add eax, edx
imul eax, eax, 0x234400b5
lea ecx, [eax + 0x4bd635b2]
or ecx, 0x413cc553
mov edx, 0xb429ca4d
sub edx, eax
or edx, 0x413cc553
add edx, ecx
not edx
add edx, eax
imul eax, edx, 0x3a94ed9d
lea ecx, [eax - 0x1a8dd5a3]
mov edx, ecx
and ecx, 0xea1de8ee
add eax, eax
add eax, 0xcae454ba
sub eax, ecx
not edx
or edx, 0xea1de8ee
add eax, edx
add eax, 0xc32f0e09
mov ecx, eax
or ecx, 0x15e21711
or eax, 0xea1de8ee
add eax, ecx
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax + 0x15e21712], 0
jmp 0x100510ed
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffdd
mov eax, 0xe288fed0
mov ecx, 0x214484d4
cmovb eax, ecx
mov ecx, 0x1457f977
mov edx, dword [esp + 0x44]
mov dword [esp + 0x28], edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x8e86dd5d
mov ecx, 0x985bb88
mov edx, 0x5fbb9bb0
cmovl ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xc95d1a0c
mov ecx, 0x88995c64
mov edx, 0x41b22a25
cmove ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x891d6c4
mov ecx, 0x88995c64
mov edx, 0xe0446a04
cmove ecx, edx
jmp 0x1004f5b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x54]
lea edx, [ecx - 0x6b141f8f]
lea esi, [ecx + eax*2]
add esi, 0x94ebe071
or edx, eax
mov edi, 0x6b141f8e
sub edi, ecx
or edi, eax
add edi, edx
not edi
add edi, esi
imul eax, edi, 0x313bc04f
lea ecx, [eax - 0x382a02df]
mov edx, ecx
not edx
and ecx, 0xee725f27
add eax, eax
add eax, 0x8fabfa42
sub eax, ecx
or edx, 0xee725f27
add eax, edx
add eax, 0xb689e142
mov ecx, eax
or ecx, 0x118da0d8
or eax, 0xee725f27
add eax, ecx
imul eax, eax, 0xe96356af
lea ecx, [eax + 0x48c4da57]
mov edx, ecx
and edx, 0x7238941d
add eax, edx
add eax, 0x48c4da57
mov edx, ecx
xor edx, 0x7238941d
add edx, eax
or ecx, 0x7238941d
sub edx, ecx
lea eax, [edx - 0x7238941d]
mov ecx, eax
not ecx
and ecx, 0x418eaae9
add ecx, edx
add ecx, 0x8dc76be3
or eax, 0xbe715516
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x418eaaea
mov ecx, eax
and ecx, 0x7238941d
and eax, 0x8dc76be2
sub eax, ecx
add eax, edx
add eax, 0x418eaaea
mov esi, 0xbe715515
sub esi, edx
or esi, 0x7238941d
add esi, eax
lea eax, [ecx + esi]
add eax, 0x7238941e
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x10050eba
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov ecx, eax
mov esi, eax
not esi
mov edx, esi
mov edi, eax
xor edi, 0xfffffffe
sub edi, eax
and esi, 1
add esi, edi
lea esi, [esi + eax*2]
mov edi, eax
or edi, 1
and ecx, 0x9db3136e
mov ebx, ecx
xor ebx, 0x9db3136e
add ebx, ecx
mov ecx, edi
sub esi, edi
xor edi, 0x9db3136e
add edi, ebx
mov ebx, eax
and ecx, 0x624cec91
or ebx, 0x624cec91
add ebx, ecx
or edx, 0x624cec91
lea ecx, [ebx + edx]
add edx, ebx
add edx, 0x9db31370
mov ebx, eax
or ebx, 0x9db3136f
not edi
add edi, ebx
or edi, edx
not edi
add ecx, edi
add ecx, 0x9db31370
mov edx, ecx
xor edx, 0x9db3136e
sub edx, ecx
mov edi, ecx
xor edi, 0x624cec91
add edi, edx
add ecx, ecx
or ecx, 0x3b6626dc
lea edx, [edi + ecx]
add ecx, edi
add ecx, 0x624cec94
mov edi, ecx
not edi
and edi, 0xd62d8c84
lea edx, [edi + edx*2]
add edx, 0xc499d928
mov edi, ecx
xor edi, 0x29d2737b
add edi, edx
or ecx, 0x29d2737b
sub edi, ecx
and eax, 0xfffffffe
mov ecx, esi
not ecx
and ecx, eax
mov edx, eax
or edx, esi
add edx, ecx
not eax
or eax, esi
add eax, edx
lea eax, [eax + edi*2]
add eax, 0x8d52d928
add edi, 0xc6a96c94
sub eax, edi
imul eax, eax, 0x97b6511d
lea ecx, [eax + 0x2731d282]
mov edx, 0xd8ce2d7d
sub edx, eax
and edx, 0xb4361e26
lea eax, [edx + eax*2]
add eax, 0x4e63a504
or ecx, 0xb4361e26
sub eax, ecx
lea ecx, [eax - 0x4bc9e1da]
add eax, eax
add eax, 0x686c3c4c
sub eax, ecx
not ecx
lea eax, [eax + ecx*2]
imul eax, eax, 0xc6f306cb
mov ecx, 0xafbe36ff
sub ecx, eax
mov edx, ecx
and edx, 0x2db0cc22
add edx, eax
add edx, 0x5041c900
add eax, 0x5041c900
xor eax, 0xd24f33dd
add eax, edx
or ecx, 0x2db0cc22
sub eax, ecx
add eax, 0x6b5510b8
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
cmp eax, 0x1000
mov eax, 0xe48293f8
mov ecx, 0xc95d1a0c
cmovae eax, ecx
mov ecx, 0x1457f977
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xc3475dc2
mov ecx, 0xe219f22d
mov edx, 0xcb0a48fe
cmovl ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xc95d1a0c
mov ecx, 0x2baa5daa
mov edx, 0x75933a3c
cmovl ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x714536f7
mov ecx, 0x88066647
mov edx, 0x2e498ddf
cmovl ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0xad8acb60
mov ecx, 0x88995c64
mov edx, 0xde52f196
cmove ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x1eb7d529
mov ecx, 0x88995c64
mov edx, 0x8da66c2a
cmove ecx, edx
jmp 0x1004f5b0
mov ecx, dword [esp]
cmp ecx, 0x214484d4
mov ecx, 0x5bd61f34
mov edx, 0x213b13ea
cmovl ecx, edx
jmp 0x1004f5b0
push dword [esp + 0x18]
push dword [esp + 0x30]
call fcn.10058253
add esp, 8
mov ecx, 0x1457f977
mov eax, 0x8e86dd5d
jmp 0x1004f5b0
cmp ecx, 0x8420bf39
je 0x10051136
jmp 0x1004f5b0
cmp ecx, 0x149979
jne 0x1004f5b0
jmp 0x1005114b
cmp ecx, 0x64624426
jne 0x1004f5b0
jmp 0x10051150
cmp ecx, 0xad29111c
jne 0x1004f5b0
call fcn.1005a20d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.100362f0
call fcn.1002db40
int3