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

Disassembly:
je 0x410dac
mov esp, eax
xor dword [ebp - 0x6c], 0x645
xor dword [ebp - 0x5c], ecx
pop dword [ebp - 0x30]
or esi, ecx
and edi, dword [ebp - 0x2c]
xor edx, dword [ebp - 0x48]
ret 8
je 0x40abb5
or byte [esi + eax + 0x1d], 0x10
mov cl, byte [ebp + eax - 0x204]
test cl, 2
je 0x40abb8
push 0xffffffff
xor dword [ebp - 0x1c], eax
xor esi, edi
sub edi, ebx
mov edx, dword [ebp - 0x68]
add dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
add eax, 0x5a0
call dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
add ebx, dword [ebp - 0x6c]
cmp dword [ebp - 0x3c], 1
je 0x40abee
mov dword [esi + 0x10], eax
lea edx, [esi + 0x28]
mov dword [esi + 0x30], edx
lea eax, [esi + 0xc]
mov dword [esi + 0x14], eax
push 0
xor ebx, dword [ebp - 0x5c]
cmp dword [ebp - 0x28], 0
je 0x40ac0b
pop ecx
test eax, eax
je 0x40abff
add dword [0x41a4dd], 0x20
push 0
cmp dword [ebp - 0x3c], 0x400002
jne 0x40ac2d
call 0x415c8d
and dword [ebp - 4], 0
push dword [ebp + 8]
add dword [ebp - 0x1c], 0xffffff8d
push 0
add word [ebp - 0x48], 0x47d
push 0
cmp dword [ebp - 0x3c], 0x56
jne 0x40ac4d
add ecx, 0x18
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x50]
lea eax, [edi + 0xadc]
mov dword [ebp - 0x20], eax
sub eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x3c], 0x55
jne 0x40ac71
pop edi
mov eax, 0x41a585
pop esi
mov esp, ebp
sub edi, dword [ebp - 0x5c]
push dword [ebp - 0x20]
xor ecx, dword [ebp - 0x38]
add edi, 0xa511
add eax, 0xe3f7
mov edx, dword [ebp - 0x68]
add edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x50]
add ecx, 0x654
call dword [ecx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x28], 0x400002
jne 0x40acc3
add esp, 0x1c
and ebx, 0x41a482
je fcn.0040ad21
cmp dword [ebp - 0x218], 0
jne 0x40ac7a
lea eax, [ebp - 0x250]
mov eax, dword [ebp - 0x20]
mov ebx, ecx
add ebx, 0x33a1
mov ebx, esi
mov ebx, 0x1464bcf6
mov ebx, ecx
or dword [ebp - 0x20], eax
je 0x40c088
mov edx, dword [ebp - 0x30]
lea edx, [edx - 4]
push edx
push dword [ebp - 0x20]
call fcn.0040456b
add ecx, edi
xor edx, ebx
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x64], esi
and ecx, esi
cmp dword [eax + 0xc], 0
je 0x40aee5
sub edi, esi
push 0
add eax, ecx
xor dword [ebp - 0x58], 0x5b0
cmp dword [ebp - 0x28], 0xffffffc5
jne 0x40ad24
push 0x84000000
cmp dword [ebp - 0x28], 0x13
jne 0x40ad38
mov ecx, esi
mov byte [ebp - 4], 3
and word [ebp - 0x34], 0x184
push 0
cmp dword [ebp - 0x3c], 0x400002
jne 0x40ad59
inc dword [edi]
xor edi, edi
inc edi
xor edx, edx
add eax, 2
push 0
xor dword [ebp - 0x48], edi
and dword [ebp - 0x2c], ebx
add edx, 0xa9b6
cmp dword [ebp - 0x3c], 1
je 0x40ad75
mov edi, eax
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x50]
lea ecx, [edi + 0xbdc]
mov dword [ebp - 0x20], ecx
or dword [ebp - 0x58], edx
push dword [ebp - 0x20]
or dword [ebp - 0x38], 0x9e6
mov esi, dword [ebp - 0x30]
or edi, ecx
and edx, dword [ebp - 0x48]
push dword [esi - 4]
or dword [ebp - 0x48], esi
or dword [ebp - 0x44], edi
mov edx, dword [ebp - 0x68]
sub edi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x50]
add edi, 0x658
call dword [edi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
lea ecx, [ebx + edi*4 + 0xb9d]
and dword [ebp - 0x38], eax
mov edi, dword [ebp - 0x20]
xor edx, dword [ebp - 0x6c]
test dword [ebp - 0x28], 0
je 0x40addb
or dword [ebp - 0x20], edi
je 0x40aeda
or ebx, ecx
and edi, dword [ebp - 0x38]
push dword [ebp - 0x20]
add word [ebp - 0x34], 0x1de
mov word [ebp - 0x5c], 0x55c
mov edx, dword [ebp - 0x68]
add eax, edx
add ebx, ecx
mov eax, dword [ebp - 0x50]
add eax, 0x664
call dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
or edi, dword [ebp - 0x64]
or esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
push dword [ecx + 0xc]
xor dword [ebp - 0x6c], eax
push dword [ebp - 0x50]
add edi, esi
xor ecx, dword [ebp - 0x34]
call fcn.0040c6c1
and dword [ebp - 0x2c], edi
cmp dword [ebp - 0x28], 0xffffffae
jne 0x40ae45
pop ecx
push 0xc
push 0x41a105
call fcn.00416f0c
and dword [ebp - 0x64], ebx
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x50]
or esi, dword [ebp - 0x2c]
mov dword [ebp - 0x6c], ecx
lea ecx, [ebx + 0x758]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x3c], 1
je 0x40ae77
call dword [0x41a04c]
test eax, eax
jne 0x40aed1
and dword [ebp - 4], eax
movzx eax, word [ebp - 4]
push dword [ebp - 0x20]
xor ecx, dword [ebp - 0x38]
or edx, ecx
add dword [ebp - 0x28], 0
je 0x40ae8f
call 0x414879
fnclex
push dword [ebp - 0x50]
call fcn.0040c315
and esi, ebx
and eax, dword [ebp - 0x1c]
add word [ebp - 0x48], 0xc90
mov ebx, dword [ebp - 0x20]
xor eax, dword [ebp - 0x2c]
or dword [ebp - 0x20], ebx
je 0x40aecc
and esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x50]
lea edx, [edx + 0x30]
push edx
push dword [ebp - 0x20]
call fcn.0040456b
jmp 0x40aee5
jmp 0x40c028
lea edi, [edi + esi*8 + 0x7a]
jmp 0x40aee5
jmp 0x40c028
lea esi, [ebp - 0x20]
push esi
mov esi, dword [ebp - 0x50]
push dword [esi + 0x30]
call fcn.0040456b
lea ecx, [ebp - 0x68]
push ecx
push dword [ebp - 0x20]
call fcn.0040456b
cmp dword [ebp - 0x3c], 1
je 0x40af10
add esp, 0x14
cmp al, 0x2b
je 0x40af39
lea ecx, [ebp - 0x54]
cmp dword [ebp - 0x28], 0x400002
jne 0x40af30
push ecx
lea ecx, [ebx + 0x2b]
push dword [ebp - 0x20]
or esi, ebx
and ecx, dword [ebp - 0x6c]
call fcn.0040456b
sub edi, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], 0xffffff98
jne 0x40af57
call edx
movzx eax, ax
mov ecx, 0x41a269
lea esi, [ebp - 0x40]
mov byte [ebp - 0x2c], 0x44
push esi
cmp dword [ebp - 0x28], 0x19
jne 0x40af6e
push dword [ebp - 0x20]
add ebx, dword [ebp - 0x44]
mov word [ebp - 0x64], 0x2fa
call fcn.0040456b
or ecx, dword [ebp - 0x44]
sub esi, dword [ebp - 0x1c]
or dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x3c], 1
je 0x40af98
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 1
mov ebx, 0xff
mov dword [ebp - 0x1c], edi
and dword [ebp - 0x20], ebx
xor dword [ebp - 0x58], 0x943
mov ebx, 0xff00
add dword [ebp - 0x2c], 0x2b4
and dword [ebp - 0x68], ebx
or dword [ebp - 0x58], 0xd1d
mov ecx, dword [ebp - 0x68]
shr ecx, 8
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x3c], 1
je 0x40afdf
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
and esi, edi
mov eax, 0xff0000
cmp dword [ebp - 0x28], 0x400002
jne 0x40aff9
je 0x40b06d
xor eax, eax
cmp dword [ebp + 0x14], esi
and dword [ebp - 0x54], eax
mov edi, dword [ebp - 0x54]
shr edi, 0x10
mov dword [ebp - 0x54], edi
add dword [ebp - 0x6c], ecx
add esi, edx
mov ecx, 0xff000000
lea edi, [edx + esi*2 + 0xf7]
and dword [ebp - 0x40], ecx
xor eax, dword [ebp - 0x58]
test dword [ebp - 0x28], 0
je 0x40b036
cmp dword [esi + 0x10], eax
jne 0x40b033
mov dword [esi + 0x10], ebx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov ebx, dword [ebp - 0x40]
shr ebx, 0x18
mov dword [ebp - 0x40], ebx
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x50]
push dword [eax + 0x7d8]
call fcn.0040456b
or edx, dword [ebp - 0x38]
xor eax, dword [ebp - 0x6c]
mov eax, 0xf000
xor ebx, dword [ebp - 0x38]
cmp dword [ebp - 0x3c], 0xffffff9e
jne 0x40b06a
je 0x40b0a9
and dword [ebp - 0x4c], eax
xor edi, dword [ebp - 0x34]
cmp dword [ebp - 0x4c], 0x1000
jne 0x40b0c0
cmp dword [ebp - 0x3c], 0xffffffe8
jne 0x40b095
mov ebp, esp
push ecx
mov ecx, dword [ecx + 0x14]
push esi
mov esi, dword [ebp + 8]
mov eax, ecx
cmp dword [ebp - 0x3c], 0x400002
jne 0x40b0b2
call fcn.00410a4a
mov edi, dword [ebp - 0x1c]
push 1
call fcn.00412aee
pop ecx
int3
push dword [ebp - 0x40]
jmp 0x40b13d
cmp dword [ebp - 0x4c], 0x2000
jne 0x40b0eb
xor word [ebp - 0x6c], 0x257
push dword [ebp - 0x54]
mov dword [ebp - 0x64], 0x58
xor eax, dword [ebp - 0x5c]
jmp 0x40b13d
xor esi, dword [ebp - 0x64]
cmp dword [ebp - 0x4c], 0x3000
jne 0x40b115
and dword [ebp - 0x64], eax
xor dword [ebp - 0x58], eax
and dword [ebp - 0x2c], 7
push dword [ebp - 0x68]
add dword [ebp - 0x58], esi
jmp 0x40b13d
cmp dword [ebp - 0x3c], 1
je 0x40b11f
push dword [ebp - 0x20]
cmp dword [ebp - 0x28], 0
je 0x40b13d
je 0x4159a7
mov ecx, dword [ebp - 0x258]
lea esi, [ebp - 0x224]
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x50]
push dword [eax + 0x7d8]
call fcn.0040456b
add ebx, dword [ebp - 0x58]
add dword [ebp - 0x2c], ecx
xor ebx, dword [ebp - 0x58]
mov ebx, 0xf00
cmp dword [ebp - 0x3c], 1
je 0x40b179
and dword [ebp - 0x4c], ebx
or eax, ecx
add ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x4c], 0x100
jne 0x40b1ac
add ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x3c], 1
je 0x40b19e
push dword [ebp - 0x40]
add ebx, dword [ebp - 0x2c]
jmp 0x40b225
cmp dword [ebp - 0x3c], 0x400002
jne 0x40b1be
lea ecx, [ebp - 0x48]
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x4c], 0x200
jne 0x40b1e7
add dword [ebp - 0x1c], 0x8d2
and edi, dword [ebp - 0x5c]
and dword [ebp - 0x44], 0xcda
push dword [ebp - 0x54]
jmp 0x40b225
cmp dword [ebp - 0x4c], 0x300
jne 0x40b21b
cmp dword [ebp - 0x28], 0
je 0x40b203
cmp dword [ebp - 0x28], 0x400002
jne 0x40b213
cmp dword [ebp + 0xc], 0
push dword [ebp - 0x68]
jmp 0x40b225
push dword [ebp - 0x20]
add dword [ebp - 0x58], eax
and dword [ebp - 0x58], 0xffffff98
lea edi, [ebp - 0x4c]
push edi
mov edi, dword [ebp - 0x50]
push dword [edi + 0x7d8]
call fcn.0040456b
xor eax, dword [ebp - 0x64]
xor ecx, eax
xor ebx, dword [ebp - 0x34]
mov ecx, 0xf0
and dword [ebp - 0x4c], ecx
and ecx, ebx
cmp dword [ebp - 0x3c], 0x16
jne 0x40b25b
int3
cmp dword [ebp - 0x4c], 0x10
jne 0x40b27b
mov ebx, ecx
and edi, dword [ebp - 0x64]
push dword [ebp - 0x40]
xor eax, dword [ebp - 0x44]
jmp 0x40b2ef
or edi, ecx
cmp dword [ebp - 0x4c], 0x20
jne 0x40b2b3
and word [ebp - 0x5c], 0xc79
push dword [ebp - 0x54]
jmp 0x40b2ef
xor eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x4c], 0x30
jne 0x40b2ec
xor ebx, dword [ebp - 0x38]
xor dword [ebp - 0x6c], ebx
xor dword [ebp - 0x64], ebx
add edi, 0x9b67
push dword [ebp - 0x68]
add dword [ebp - 0x2c], ebx
add dword [ebp - 0x38], ecx
jmp 0x40b2ef
push dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push dword [ecx + 0x7d8]
call fcn.0040456b
xor dword [ebp - 0x44], edx
mov ecx, 0xf
and ebx, edx
and dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 1
jne 0x40b33c
or edi, ecx
xor ecx, dword [ebp - 0x48]
push dword [ebp - 0x40]
or ebx, eax
jmp 0x40b3b0
xor esi, eax
cmp dword [ebp - 0x4c], 2
jne 0x40b374
lea eax, [edi]
mov eax, 0x809c19e4
mov eax, edx
lea edi, [edx + 0x569]
push dword [ebp - 0x54]
and ecx, edi
mov ecx, 0x671cee60
mov ecx, ebx
mov dword [ebp - 0x48], eax
jmp 0x40b3b0
and dword [ebp - 0x34], ecx
cmp dword [ebp - 0x4c], 3
jne 0x40b398
add ecx, 0x4c03
push dword [ebp - 0x68]
jmp 0x40b3b0
test dword [ebp - 0x28], 0
je 0x40b3ad
push edx
push ebx
call eax
mov eax, 0x41a548
push dword [ebp - 0x20]
and word [ebp - 0x2c], 0x95f
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x50]
lea eax, [edi + 0x744]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x3c], 1
je 0x40b3e2
or dword [ebp - 0x38], esi
push dword [ebp - 0x20]
and dword [ebp - 0x6c], edi
add dword [ebp - 0x44], eax
mov edi, dword [ebp - 0x30]
push dword [edi - 0xc]
xor edi, esi
and edi, ecx
add esi, ecx
mov edx, dword [ebp - 0x68]
test dword [ebp - 0x28], 0
je 0x40b40f
test ebx, ebx
jne 0x40b3a6
xor ecx, ecx
mov ebx, dword [ebp - 0x50]
add ebx, 0x618
call dword [ebx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
and word [ebp - 0x58], 0xcf6
and ebx, esi
add esp, 0x18
cmp dword [ebp - 0x3c], 0xffffff97
jne 0x40b439
push 3
lea edi, [ebp - 0x68]
push edi
mov edi, dword [ebp - 0x30]
push dword [edi - 0xc]
call fcn.0040456b
xor dword [ebp - 0x6c], edx
cmp dword [ebp - 0x28], 0xfffffff6
jne 0x40b45f
lea edi, [ebp - 0x68]
push edi
or esi, dword [ebp - 0x2c]
push dword [ebp - 0x20]
add edx, 0x63b5
or dword [ebp - 0x58], 0x5b
call fcn.00404623
cmp dword [ebp - 0x3c], 1
je 0x40b492
call fcn.0041835f
pop ecx
cmp eax, 0xffffffff
je 0x40b448
push esi
call fcn.0041386c
xor dword [ebp - 0x5c], 0x336
xor ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x50]
add dword [ebp - 0x6c], ebx
cmp dword [esi + 8], 0
jne 0x40b562
or esi, ecx
xor dword [ebp - 0x64], ecx
add dword [ebp - 0x28], 0
je 0x40b4d1
push 1
lea ecx, [ebp - 0xb0]
call 0x40dff1
mov dword [eax + 0x60], 0xa
mov edx, dword [ebp - 0x50]
push dword [edx]
or dword [ebp - 0x48], eax
add dword [ebp - 0x34], 0x437
lea esi, [ecx + eax + 0x1833]
mov esi, dword [ebp - 0x20]
and edx, ecx
add dword [ebp - 0x28], 0
je 0x40b4f9
lea eax, [ebp - 0x30]
push eax
mov edi, dword [ebp - 0x50]
lea esi, [edi + 0x7dc]
mov dword [ebp - 0x20], esi
sub ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x28], 0
je 0x40b532
lea ecx, [ebp - 0x2228]
call fcn.00410e7d
mov eax, 0x41a1b5
lea ecx, [ebp - 0x223c]
call fcn.00404c1a
mov eax, dword [ebp - 0x2228]
push dword [ebp - 0x20]
add eax, 0xb1f4
and ecx, dword [ebp - 0x6c]
push dword [ebp - 0x68]
or edi, dword [ebp - 0x34]
sub edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x50]
add ebx, 0x618
call dword [ebx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
xor esi, eax
jmp 0x40b5c6
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0x28], 0
je 0x40b570
pop ecx
pop edi
push dword [ecx + 8]
mov dword [ebp - 0x48], esi
or dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x50]
lea eax, [ecx + 0x8dc]
mov dword [ebp - 0x20], eax
push dword [ebp - 0x20]
add ebx, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0xffffff88
jne 0x40b5a8
mov esi, ecx
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x40b5ee
push eax
call dword [0x41a044]
push dword [ebp - 0x68]
mov edx, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x50]
add ebx, 0x618
call dword [ebx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
and dword [ebp - 0x6c], 0x411
add esp, 0xc
add eax, esi
mov eax, ecx
and eax, edi
xor ebx, dword [ebp - 0x2c]
and dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x30]
lea ecx, [ebx + 0x224]
cmp dword [eax + 0xc], 0
je 0x40bf1c
add edi, dword [ebp - 0x48]
add dword [ebp - 0x28], 0
je 0x40b602
sub dword [ebp - 0x24], edx
not edi
mov ebx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x50]
cmp dword [ebp - 0x3c], 1
je 0x40b619
mov esp, dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.00416978
push dword [ebx + 0xc14]
and ebx, dword [ebp - 0x2c]
push dword [ebp - 0x50]
cmp dword [ebp - 0x28], 0xffffffcf
jne 0x40b62f
int3
call fcn.00417acb
or dword [ebp - 0x34], ebx
and ecx, edx
cmp dword [ebp - 0x3c], 0xffffffb1
jne 0x40b64a
push dword [ebx]
enter 0x51e8, 0xffffffffffffffb3
invalid
push 0
sub edi, dword [ebp - 0x34]
sub edx, dword [ebp - 0x1c]
and dword [ebp - 0x44], ebx
cmp dword [ebp - 0x28], 0x5f
jne 0x40b676
push dword [ebp - 0x194]
mov dword [ebx + 0x48], eax
call fcn.0041380a
mov eax, dword [ebp - 0x1b8]
pop ecx
push 0x84000000
sub ebx, dword [ebp - 0x38]
cmp dword [ebp - 0x3c], 0x400002
jne 0x40b693
test ebx, ebx
jns 0x40b611
mov eax, 0x41a3fe
push 0xffffffff
cmp dword [ebp - 0x3c], 0xfffffff9
jne 0x40b6ad
mov dword [ebp + 8], 0x432598
call fcn.0041726b
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x3c], 0xffffff87
jne 0x40b6c7
test ebx, ebx
je 0x40b6c6
lea ecx, [ebp - 0xa54]
push ecx
lea ecx, [eax + 0x9dc]
mov dword [ebp - 0x20], ecx
and dword [ebp - 0x44], 0xffffff91
cmp dword [ebp - 0x3c], 0x400002
jne 0x40b6e4
or edx, eax
cmp edx, esi
push dword [ebp - 0x20]
sub ecx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x30]
and dword [ebp - 0x1c], ecx
push dword [edi - 0xc]
or ecx, dword [ebp - 0x6c]
and edx, esi
mov eax, dword [ebp - 0x30]
sub edx, edi
push dword [eax - 4]
mov edx, dword [ebp - 0x68]
add dword [ebp - 0x34], 0xffffffab
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x50]
add eax, 0x658
call dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x3c], 1
je 0x40b745
call 0x4123a3
push dword [esi + 0x84]
call fcn.004049c5
push dword [esi + 0x88]
call fcn.00407ee3
push dword [esi + 0x8c]
mov ebx, dword [ebp - 0x20]
and edi, dword [ebp - 0x38]
cmp dword [ebp - 0x3c], 0xfffffffe
jne 0x40b758
int3
or dword [ebp - 0x20], ebx
je 0x40b9c8
xor eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x30]
lea ebx, [ebx - 8]
push ebx
push dword [ebp - 0x20]
call fcn.0040456b
sub edx, dword [ebp - 0x34]
cmp dword [ebp - 0x28], 0
je 0x40b795
sub ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x30]
mov dword [ecx - 0x18], 0x400
xor dword [ebp - 0x64], edx
push 0
or edx, ecx
mov eax, dword [ebp - 0x20]
and dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x30]
or dword [ebp - 0x2c], edx
mov edx, edi
lea eax, [ecx - 0x18]
mov dword [ebp - 0x20], eax
xor eax, ebx
sub esi, edi
push dword [ebp - 0x20]
add dword [ebp - 0x5c], edi
mov edx, dword [ebp - 0x30]
add dword [ebp - 0x28], 0
je 0x40b7df
push dword [ebp + 8]
push dword [edx - 0x14]
mov edi, ebx
cmp dword [ebp - 0x28], 0x400002
jne 0x40b7f6
push 0x13
mov eax, dword [ebp - 0x30]
or dword [ebp - 0x34], 0x63
and dword [ebp - 0x38], ecx
push dword [eax - 8]
cmp dword [ebp - 0x3c], 0x400002
jne 0x40b823
mov edx, dword [ebp - 0x68]
xor esi, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x50]
add ecx, 0x65c
call dword [ecx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
and dword [ebp - 0x1c], 0x78
lea esi, [edi + 0x77b]
mov edi, dword [ebp - 0x20]
or ebx, dword [ebp - 0x38]
or dword [ebp - 0x20], edi
je 0x40b9bb
xor eax, ebx
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x30]
push dword [eax - 0x14]
call fcn.0040456b
test dword [ebp - 0x28], 0
je 0x40b884
or ebx, 0x10
or ebx, edi
test bl, 0x40
jne 0x4178ef
or ebx, 0x40
lea ebx, [ebp - 0x20]
push ebx
mov ebx, dword [ebp - 0x50]
push dword [ebx + 0xc0c]
call fcn.0040456b
mov esi, dword [ebp - 0x68]
and edx, ebx
and eax, ecx
mov eax, esi
sub eax, 6
mov ebx, dword [ebp - 0x20]
add edx, 0xc6a
mov dword [ebp - 0x44], 0x5bd
cmp dword [eax + 6], ebx
jne 0x40b984
mov edx, dword [ebp - 0x30]
sub edi, dword [ebp - 0x48]
mov word [ebp - 0x34], 0x4ea
push dword [edx - 8]
xor dword [ebp - 0x44], esi
add ebx, dword [ebp - 0x2c]
sub ecx, esi
or dword [ebp - 0x2c], 0xaad
mov edx, dword [ebp - 0x68]
xor word [ebp - 0x34], 0x251
mov ecx, dword [ebp - 0x50]
add ecx, 0x664
call dword [ecx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
and esi, ebx
mov ebx, dword [ebp - 0x50]
or edi, dword [ebp - 0x6c]
add word [ebp - 0x5c], 0xe0
push dword [ebx + 0xc18]
cmp dword [ebp - 0x3c], 1
je 0x40b913
push ebp
mov ebp, esp
or ebx, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0x400002
jne 0x40b92d
mov dword [ebp - 0x30], edx
mov edx, eax
mov byte [ebp - 0x2c], al
mov dword [ebp - 0x18], ecx
push dword [ebp - 0x50]
xor ebx, dword [ebp - 0x2c]
cmp dword [ebp - 0x3c], 0x400002
jne 0x40b945
add esp, 4
mov dword [esi + 0xc], edi
call fcn.00417acb
add edx, ecx
mov edx, dword [ebp - 0x50]
mov ecx, esi
cmp dword [ebp - 0x28], 0xffffffd7
jne 0x40b96e
mov ecx, dword [ecx + 4]
add ecx, eax
mov edx, dword [ecx + 0x14]
and edx, 0x41a1d7
or edx, 0x41a27e
sub dword [edx + 0xc1c], 1
cmp dword [ebp - 0x3c], 1
je 0x40b97f
pop esi
jmp 0x40b9cd
jmp 0x40b9ea
jmp 0x40b9ea
jmp 0x40b9ea
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0xc1c], 0
jne 0x40b639
cmp dword [ebp - 0x3c], 0x400002
jne 0x40b9ea
pop ebp
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x50]
push dword [eax + 0xc10]
call fcn.0040456b
cmp dword [ebp - 0x3c], 1
je 0x40ba11
lea esi, [ebp + eax*4 - 0x10]
push 0x1f
xor eax, eax
pop ecx
sub ecx, edx
inc eax
lea edi, [ebp - 0x68]
push edi
mov edi, dword [ebp - 0x30]
push dword [edi - 0x14]
call fcn.0040456b
mov esi, dword [ebp - 0x68]
mov ecx, esi
xor dword [ebp - 0x38], edx
sub ecx, 0x58
mov edi, dword [ebp - 0x20]
cmp dword [ecx + 0x58], edi
jne 0x40bec7
cmp dword [ebp - 0x28], 0
je 0x40ba45
int3
mov edx, dword [ebp - 0x30]
mov dword [edx - 0x18], 4
xor dword [ebp - 0x38], ebx
add esi, 0xfb5c
mov esi, edx
mov eax, dword [ebp - 0x30]
mov dword [eax - 0x28], 0
mov dword [ebp - 0x1c], 0xac0
push 0
and ebx, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], 0xffffffd1
jne 0x40ba84
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
sub edi, eax
mov edi, 0xba840ac4
mov edi, esi
lea edx, [ecx - 0x18]
mov dword [ebp - 0x20], edx
or esi, dword [ebp - 0x38]
or dword [ebp - 0x6c], edi
push dword [ebp - 0x20]
add esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x30]
or edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x5c]
lea ecx, [esi - 0x28]
mov dword [ebp - 0x20], ecx
xor edx, edi
xor edi, ebx
push dword [ebp - 0x20]
add ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x28], 0x400002
jne 0x40bacf
add ebx, eax
sub eax, dword [ebp - 0x2c]
push 0x20000005
mov ecx, dword [ebp - 0x30]
push dword [ecx - 8]
sub esi, eax
cmp dword [ebp - 0x28], 0
je 0x40baf4
push 1
mov ecx, esi
call eax
lea ecx, [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x68]
and esi, ebx
sub ecx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x50]
add ecx, 0x65c
call dword [ecx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
add ecx, edi
xor dword [ebp - 0x5c], esi
lea ecx, [edx + 0x57]
cmp dword [ebp - 0x20], 1
jne 0x40bec7
add esi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x30]
cmp dword [ebp - 0x28], 0x400002
jne 0x40bb46
mov byte [0x43f330], 1
mov eax, esi
pop esi
mov edi, edi
push esi
mov esi, ecx
cmp dword [esi - 0x28], 0
je 0x40bec7
or esi, edx
or ebx, dword [ebp - 0x44]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x30]
push dword [ecx - 0x28]
call fcn.0040456b
sub ebx, dword [ebp - 0x34]
and dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x30]
lea eax, [eax - 0x24]
push eax
push dword [ebp - 0x20]
call fcn.0040456b
or esi, dword [ebp - 0x44]
or dword [ebp - 0x44], 0x6ac
add dword [ebp - 0x48], 0x61a
mov edi, dword [ebp - 0x30]
xor ebx, esi
add dword [edi - 0x24], 0x400
cmp dword [ebp - 0x3c], 1
je 0x40bbb1
mov ebp, esp
push esi
call 0x405a5e
mov esi, eax
test esi, esi
and ecx, eax
cmp dword [ebp - 0x28], 0x4f
jne 0x40bbc3
jne 0x40bbd5
call 0x408b42
mov edi, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 1
je 0x40bbed
mov eax, dword [ebp - 0xac]
mov dword [eax], 0
mov ecx, dword [ebp - 0x9c]
mov dword [ecx], 0
mov edx, dword [ebp - 0xb8]
mov dword [edi - 0x20], 0
lea edx, [esi + edx*8 + 0x22]
push 0x40
mov dword [ebp - 0x5c], edi
cmp dword [ebp - 0x28], 0xfffffff1
jne 0x40bc1d
xor edx, edx
add eax, dword [ebp - 0x1014]
adc edx, dword [ebp - 0x1010]
mov ecx, dword [ebp - 4]
add ecx, 0xbcf
push 0x3000
cmp dword [ebp - 0x28], 0
je 0x40bc40
sub esi, edx
je 0x40bc00
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
xor edi, ebx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
sub edi, ebx
lea edx, [eax - 0x24]
mov dword [ebp - 0x20], edx
push dword [ebp - 0x20]
cmp dword [ebp - 0x3c], 0x400002
jne 0x40bc60
int3
add ebx, edx
lea ebx, [ebx + 0x51]
push 0
add edi, 0x5063
or dword [ebp - 0x6c], ecx
sub ebx, edi
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x30]
lea eax, [edi - 0x20]
mov dword [ebp - 0x20], eax
mov edi, ecx
cmp dword [ebp - 0x3c], 1
je 0x40bc8e
mov edx, dword [esi]
sub ecx, dword [ebp - 0x5c]
push dword [ebp - 0x20]
add dword [ebp - 0x28], 0
je 0x40bca6
mov ecx, 0x41a2ff
or byte [eax], 8
inc eax
push 0xffffffff
xor edi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
add dword [ebp - 0x1c], 0x341
mov ecx, dword [ebp - 0x50]
add ecx, 0x5a0
call dword [ecx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
or dword [ebp - 0x58], edi
and ecx, dword [ebp - 0x1c]
lea esi, [ebp - 0x40]
push esi
mov esi, dword [ebp - 0x30]
push dword [esi - 0x20]
call fcn.0040456b
sub esi, edi
add ecx, dword [ebp - 0x58]
mov dword [ebp - 0x58], edx
mov edi, dword [ebp - 0x30]
xor dword [ebp - 0x58], 0x6c
mov dword [ebp - 0x6c], ebx
mov dword [edi - 0x2c], 0
or dword [ebp - 0x34], 0x4c
lea edx, [ebp - 0x40]
push edx
mov edx, dword [ebp - 0x30]
push dword [edx - 0x2c]
call fcn.00404623
lea edi, [eax + 0x1085]
lea eax, [eax + edi*2 + 0x18]
or ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x20]
or ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
xor ecx, dword [ebp - 0x48]
lea ebx, [ecx + 0x1825]
lea esi, [edx - 0x2c]
mov dword [ebp - 0x20], esi
xor ebx, dword [ebp - 0x64]
push dword [ebp - 0x20]
cmp dword [ebp - 0x3c], 0x400002
jne 0x40bd59
push 0xc
push 0x41a473
call fcn.00413726
call 0x4110f9
and dword [ebp - 4], 0
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 1
je 0x40bd6b
jne 0x40bd23
xor ebx, ebx
cmp dword [edi], ebx
push dword [edx - 0x28]
cmp dword [ebp - 0x3c], 0xfffffffe
jne 0x40bd86
xor esi, esi
push dword [ebp + 8]
call fcn.00417c22
mov edi, eax
pop ecx
test edi, edi
mov eax, edi
or edi, dword [ebp - 0x34]
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
push dword [eax - 8]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x50]
add eax, 0x660
call dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
or ecx, ebx
cmp dword [ebp - 0x3c], 8
jne 0x40bdc0
call fcn.0040d1b4
mov eax, 0x41a4bc
int3
mov edx, dword [ebp - 0x20]
xor esi, ebx
add esi, dword [ebp - 0x48]
or dword [ebp - 0x20], edx
jne 0x40bdf3
and ecx, dword [ebp - 0x2c]
jmp 0x40be2a
lea edi, [edx + ebx*4 - 0x7a]
xor edx, dword [ebp - 0x6c]
cmp dword [ebp - 0x20], 1
jne 0x40bce0
add ebx, 0xee49
and dword [ebp - 0x38], 0xffffffdc
mov dword [ebp - 0x6c], edx
mov edi, dword [ebp - 0x30]
or edx, dword [ebp - 0x64]
cmp dword [edi - 0x2c], 0
jne 0x40bce0
cmp dword [ebp - 0x3c], 1
je 0x40be50
push 1
lea ecx, [ebp - 0x284]
call fcn.00408391
mov esi, dword [ebp - 0x124]
mov dword [eax + 0x60], 0xa
lea edi, [eax + 0x10]
cmp dword [ebp - 0x20], 1
jne 0x40bec7
lea edx, [edx + 0xff9]
mov edi, dword [ebp - 0x30]
cmp dword [edi - 0x2c], 0
jne 0x40bec7
mov ebx, edi
cmp dword [ebp - 0x28], 0xffffffef
jne 0x40be83
mov ebp, esp
cmp dword [ebp - 0x28], 0x400002
jne 0x40be9d
sub eax, edi
push eax
call fcn.0040a6e8
push dword [esi + 0xc0]
mov ebx, dword [ebp - 0x30]
mov dword [ebx - 0x30], 1
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x3c], 0xffffffea
jne 0x40bec7
je fcn.0040bed3
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x5c], esi
jne 0x40be76
dec dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x28], 0
je 0x40bee3
push dword [eax - 8]
xor ecx, dword [ebp - 0x48]
xor dword [ebp - 0x58], edi
add ecx, 0x749c
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x50]
add edi, 0x664
call dword [edi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
jmp 0x40c028
push 0
mov dword [ebp - 0x58], edx
or dword [ebp - 0x34], ecx
or dword [ebp - 0x44], eax
push 0x84000000
sub esi, dword [ebp - 0x6c]
push 0xffffffff
xor dword [ebp - 0x38], eax
cmp dword [ebp - 0x28], 0x3e
jne 0x40bf5a
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 2
call fcn.0041820f
mov eax, 0x41a3e0
mov esi, dword [ebp - 0x14]
and ebx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x2c], 0x28
mov edx, dword [ebp - 0x50]
lea edi, [edx + 0x9dc]
mov dword [ebp - 0x20], edi
or edx, ecx
mov edx, 0xf4169537
mov edx, ebx
push dword [ebp - 0x20]
add esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x30]
push dword [eax - 0xc]
mov byte [ebp - 0x64], 0xc0
mov eax, dword [ebp - 0x30]
push dword [eax - 4]
cmp dword [ebp - 0x28], 0
je 0x40bfa4
pop esi
mov edi, edi
push ebp
mov ebp, esp
push dword [ebp + 0xc]
push dword [ebp + 8]
mov ebx, eax
and dword [ebp - 0x2c], edi
mov edx, dword [ebp - 0x68]
sub eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x50]
add ebx, 0x658
call dword [ebx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
add eax, 0xe061
mov word [ebp - 0x64], 0x7b2
mov eax, dword [ebp - 0x20]
or dword [ebp - 0x20], eax
je 0x40c028
or eax, dword [ebp - 0x38]
add dword [ebp - 0x28], 0
je 0x40bff3
push dword [ebp - 0x20]
add dword [ebp - 0x28], 0
je 0x40c00d
mov edx, dword [ecx]
lea esi, [eax + 0x10]
mov eax, dword [edx + 4]
mov byte [ebp - 4], 8
call eax
mov edx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x1c]
or esi, ecx
mov edi, dword [ebp - 0x50]
add edi, 0x664
call dword [edi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
xor edx, ecx
mov edi, dword [ebp - 0x30]
lea ecx, [eax + esi + 0x34c]
push dword [edi - 4]
cmp dword [ebp - 0x3c], 0x400002
jne 0x40c054
cmp dword [esi + 0x54], edx
je 0x408068
mov ecx, dword [esi + 0x10]
lea edi, [esi + 0x48]
cmp dword [ecx], edi
jne 0x40c083
or eax, esi
mov edx, dword [ebp - 0x68]
cmp dword [ebp - 0x3c], 0x400002
jne 0x40c072
push 9
push dword [eax + 4]
call dword [0x41a048]
test eax, eax
mov edx, dword [ebp - 0x50]
add edx, 0x664
call dword [edx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
sub ecx, ebx
xor dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x38], ecx
cmp dword [ebp - 0x3c], 1
je 0x40c0a0
push edx
mov edx, dword [esi + 0x18]
push eax
lea eax, [edi + 0x4c]
push eax
mov dword [eax - 0x10], 0
lea edi, [edx]
push 0x8000
cmp dword [ebp - 0x28], 0x55
jne 0x40c0c0
jl 0x40ac21
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x30]
add dword [ebp - 0x1c], edx
add dword [ebp - 0x44], 0x78
lea edx, [esi - 0x10]
mov dword [ebp - 0x20], edx
lea eax, [ecx + edi*8 - 0x27]
push dword [ebp - 0x20]
cmp dword [ebp - 0x3c], 1
je 0x40c0ef
movzx eax, word [ebx + 4]
mov ecx, dword [ebp - 0xac]
mov dword [ecx], eax
mov ebx, dword [ebp - 0x20]
or dword [ebp - 0x34], 0x1c
mov ecx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x58]
lea ebx, [ecx - 0xc]
mov dword [ebp - 0x20], ebx
xor ebx, dword [ebp - 0x2c]
push dword [ebp - 0x20]
and dword [ebp - 0x64], edi
or ebx, dword [ebp - 0x48]
add dword [ebp - 0x28], 0
je 0x40c127
push edi
push 0x41a20e
mov edi, ecx
call dword [0x41a04c]
test eax, eax
push 0xffffffff
sub ebx, esi
add eax, edx
xor eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x50]
add edi, 0x5a4
call dword [edi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
lea edx, [ecx + 0x131d]
mov edx, ecx
and dword [ebp - 0x44], 0x52
mov edx, dword [ebp - 0x30]
lea edi, [edx - 0x55]
mov dword [edx - 0x18], 0
cmp dword [ebp - 0x28], 0x76
jne 0x40c16f
int3
push 0x8000
cmp dword [ebp - 0x28], 0x77
jne 0x40c188
call fcn.0040d937
test eax, eax
jne 0x40c1f6
xor ecx, ecx
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x30]
cmp dword [ebp - 0x28], 0xffffffbc
jne 0x40c19a
lea ecx, [ebp - 0x10]
lea edi, [ebx - 0x18]
mov dword [ebp - 0x20], edi
add eax, dword [ebp - 0x1c]
sub edi, dword [ebp - 0x1c]
or esi, edi
push dword [ebp - 0x20]
cmp dword [ebp - 0x28], 0x33
jne 0x40c1c2
mov dword [ebp - 0x24], esi
cmp eax, edi
je 0x40c1bf
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
mov ebx, dword [ebp - 0x20]
or ecx, dword [ebp - 0x58]
or edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
lea ebx, [eax - 0x14]
mov dword [ebp - 0x20], ebx
xor dword [ebp - 0x44], 0xffffffd4
cmp dword [ebp - 0x3c], 0xffffffbb
jne 0x40c1f9
call 0x41125b
push eax
mov dword [ebp - 4], 0
call fcn.00412b52
mov edi, dword [ebp - 0x4c]
add esp, 4
push dword [ebp - 0x20]
add eax, 0x85e
push 0xffffffff
mov edx, dword [ebp - 0x68]
add dword [ebp - 0x28], 0
je 0x40c21d
dec dword [eax]
mov ecx, dword [ecx + 0x24]
mov eax, dword [ecx]
lea edi, [eax + 2]
mov ecx, dword [ebp - 0x50]
add ecx, 0x5a4
call dword [ecx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x28], 0x400002
jne 0x40c250
push 0x41a5a1
call dword [section..rdata]
mov edi, eax
test edi, edi
jne 0x40c249
call fcn.0040cd29
lea edi, [ebp - 0x20]
lea eax, [edi]
add esi, dword [ebp - 0x64]
push edi
and word [ebp - 0x44], 0x512
sub esi, dword [ebp - 0x5c]
push dword [ebp - 0x20]
cmp dword [ebp - 0x3c], 0x400002
jne 0x40c285
push dword [ebp + 0xc]
push dword [ebp + 8]
call 0x4161a6
add esp, 0x14
pop ebp
mov eax, 0x41a395
call fcn.004047c6
or ebx, dword [ebp - 0x34]
and ebx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x30]
lea edi, [esi + ecx*8 - 0x5e]
cmp dword [edx - 0x30], 1
jne 0x40c2c6
lea ebx, [ebp - 0x20]
push ebx
mov ebx, dword [ebp - 0x30]
push dword [ebx - 0x20]
call fcn.0040456b
or edi, ebx
add ecx, edx
lea esi, [ebp - 0x54]
push esi
mov esi, dword [ebp - 0x30]
push dword [esi - 0x28]
call fcn.0040456b
add eax, ecx
pop dword [ebp - 0x50]
and edi, ebx
cmp dword [ebp - 0x3c], 0xd
jne 0x40c2da
cmp dword [esi + 0x14], 0x10
pop dword [ebp - 0x40]
or dword [ebp - 0x48], eax
add esi, eax
pop dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
mov esp, eax
or edx, ecx
pop dword [ebp - 0x30]
ret 8
mov edi, dword [ebp - 0x4c]
mov al, byte [ebp - 0x20]
mov al, byte [edi]
mov word [ebp - 0x6c], 0xfd
mov byte [ebp - 0x20], al
and dword [ebp - 0x58], edx
add dword [ebp - 0x28], 0
je 0x40f0c4
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41a1e7
mov eax, 0xff
and dword [ebp - 0x20], eax
lea edi, [ebp - 0x54]
sub edx, ebx
mov edx, 0x1335fc9
mov edx, edi
or eax, esi
push edi
or eax, edi
test dword [ebp - 0x28], 0
je 0x40f0f4
mov eax, dword [0x41a191]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push dword [ebp - 0x20]
add dword [ebp - 0x2c], 0xffffffbc
call fcn.0040456b
add dword [ebp - 0x40], 2
add edi, 0xa530
mov eax, dword [ebp - 0x54]
shr eax, 4
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x28], 0x400002
jne 0x40f130
call fcn.00413623
mov esi, dword [ebp - 0x54]
lea esi, [eax + 0x37]
mov dword [ebp - 0x54], esi
xor edi, ecx
cmp dword [ebp - 0x28], 0x66
jne 0x40f304
push ebp
mov ebp, esp
push 0xffffffffffffffff
xor edi, edx
and ebx, dword [ebp - 0x34]
cmp dword [ebp - 0x54], 0x41
jb 0x40f344
mov edx, 0x20
add dword [ebp - 0x54], edx
add dword [ebp - 0x38], 0xdb
add edi, dword [ebp - 0x5c]
cmp dword [ebp - 0x3c], 1
je 0x40f344
je 0x40f2ff
lea ecx, [ecx]
lea eax, [ebx + ebx*2]
mov ecx, dword [esi + eax*4 + 0x14]
lea eax, [esi + eax*4 + 0x10]
mov edi, dword [ebp - 0x54]
xor ecx, dword [ebp - 0x38]
or dword [ebp - 0x20], edi
cmp dword [ebp - 0x3c], 0x400002
jne 0x40f365
cmp dword [0x41a474], 0
push esi
jne 0x40f304
xor eax, eax
add dword [ebp - 0x4c], 1
add word [ebp - 0x6c], 0x298
mov eax, dword [ebp - 0x40]
lea eax, [eax - 2]
push eax
push dword [ebp - 0x20]
call fcn.0040456b
cmp dword [ebp - 0x3c], 1
je 0x40f393
mov dword [ebp - 4], 0xffffffff
call fcn.004104ed
add dword [ebp - 0x40], 2
sub ebx, esi
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 1
je 0x40f3aa
mov eax, dword [esi]
cmp dword [eax - 4], 3
je 0x40f416
cmp dword [ebp - 0x28], 0
je 0x40f3c4
lea edx, [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x30]
cmp dword [ecx - 4], 5
je 0x40f416
test dword [ebp - 0x28], 0
je 0x40f3e6
int3
mov ebx, dword [ebp - 0x30]
and edi, esi
cmp dword [ebx - 4], 7
je 0x40f416
xor esi, dword [ebp - 0x1c]
and edi, ecx
xor ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
cmp dword [edx - 4], 9
jne 0x40f446
mov dword [ebp - 0x2c], ebx
or ebx, dword [ebp - 0x1c]
sub ecx, eax
sub eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
or esi, ebx
mov byte [eax], 0x2d
or dword [ebp - 0x58], 0x544
or ebx, dword [ebp - 0x58]
mov edi, 2
add dword [ebp - 0x40], edi
and edi, ecx
cmp dword [ebp - 0x28], 0x7b
jne 0x40f446
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x48]
sub eax, esi
add edx, edi
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x28], 0x400002
jne 0x40f45d
int3
add dword [edx - 4], 1
add dword [ebp - 0x44], 0xfffffff4
add dword [ebp - 0x58], edi
sub dword [ebp - 0x50], 1
jne 0x40f097
or dword [ebp - 0x48], ecx
and ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x20]
lea eax, [ebx + 0x115f]
mov dword [ebp - 0x58], edi
push edx
cmp dword [ebp - 0x28], 0x400002
jne 0x40f4a7
push dword [ebp - 0x218]
mov dword [ebp - 0x228], ebx
push eax
push dword [ebp - 0x264]
push dword [ebp - 0x40]
call fcn.0040456b
mov word [ebp - 0x34], 0x808
add dword [ebp - 0x28], 0
je 0x40f4c6
int3
mov edi, dword [ebp - 0x40]
mov word [ebp - 0x58], 0xad4
sub eax, ebx
mov byte [edi], 0x7d
add esi, edi
lea eax, [edi + ebx*8 + 0xbb]
mov edx, 2
add dword [ebp - 0x40], edx
add edx, esi
sub ecx, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x40]
and dword [ebp - 0x6c], edi
add edi, ebx
mov byte [ebx], 0
lea ebx, [ebp - 0x20]
push ebx
mov ebx, dword [ebp - 0x30]
push dword [ebx + 0x10]
call fcn.004046fb
and ecx, eax
mov ecx, edx
pop dword [ebp - 0x50]
or dword [ebp - 0x64], edi
add dword [ebp - 0x28], 0
je fcn.0040f518
int3
test eax, eax
je 0x412e00
mov eax, dword [eax + 0x24]
shr eax, 0x1f
not eax
mov esi, dword [ebp - 0x30]
lea eax, [esi - 8]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x28], 0x400002
jne 0x412e2b
cmp dword [ebp - 0x3c], 1
je 0x412e41
push 1
lea ecx, [ebp - 0xdc]
call fcn.004142d7
push dword [ebp - 0x20]
lea esi, [eax + edi - 0x14]
xor esi, ecx
cmp dword [ebp - 0x3c], 1
je 0x412e59
push 4
add esi, dword [ebp - 0x1c]
and word [ebp - 0x34], 0x6a9
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x3c], 1
je 0x412e75
test edi, edi
mov esi, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 0xffffffb7
jne 0x412e8e
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
lea eax, [esi - 4]
mov dword [ebp - 0x20], eax
xor dword [ebp - 0x1c], 0x355
push dword [ebp - 0x20]
and dword [ebp - 0x48], 0x512
push 0x1a
add edx, 0xa4b8
lea esi, [eax + ecx*8 - 0x17]
or dword [ebp - 0x48], ecx
lea ecx, [ebx]
push 0xffffffff
cmp dword [ebp - 0x3c], 1
je 0x412edf
push ebx
jne 0x4096da
cmp byte [esi + 0x3c], 0
je 0x40ab9d
mov ecx, esi
call fcn.004157d8
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x50]
add ecx, 0x5bc
call dword [ecx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
sub ebx, ecx
cmp dword [ebp - 0x3c], 0x37
jne 0x412eff
int3
mov esi, dword [ebp - 0x30]
cmp dword [esi - 4], 0
je 0x412f3d
and ecx, esi
cmp dword [ebp - 0x3c], 1
je 0x412f1e
mov dword [ebp - 0x54], 1
add ecx, eax
add dword [ebp - 0x4c], 8
or dword [ebp - 0x6c], 0xb84
and dword [ebp - 0x44], ebx
jmp 0x412f4c
lea esi, [ebp - 0x54]
push esi
or dword [ebp - 0x64], ecx
push dword [ebp - 0x54]
call fcn.004047c6
mov ecx, dword [ebp - 0x4c]
shl ecx, 4
mov dword [ebp - 0x4c], ecx
sub esi, eax
cmp dword [ebp - 0x3c], 0x400002
jne 0x412f67
cmp ecx, ebx
jb 0x412f25
mov ebx, dword [ebp - 0x30]
lea ebx, [ebx - 0xc]
push ebx
push dword [ebp - 0x4c]
call fcn.00404623
lea ecx, [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x30]
push dword [ecx - 0xc]
call fcn.0040456b
and esi, edi
lea ebx, [ebp - 0x68]
push ebx
mov ebx, dword [ebp - 0x30]
push dword [ebx - 0x10]
call fcn.0040456b
cmp dword [ebp - 0x28], 0x400002
jne 0x412fb0
or eax, edx
cmp dword [ecx + 0x38], 0
jne 0x412f2e
or eax, 4
push 0
push eax
cmp dword [ebp - 0x3c], 1
je 0x412fcc
lea ecx, [ebp - 0x224]
lea ecx, [ebp - 0x21c]
mov edx, dword [esp + 8]
lea eax, [edx + 0xc]
pop dword [ebp - 0x4c]
and word [ebp - 0x5c], 0x77
and edi, dword [ebp - 0x44]
pop dword [ebp - 0x50]
cmp dword [ebp - 0x28], 0xffffff94
jne 0x412fe6
int3
mov ebx, dword [ebp - 0x30]
cmp dword [ebp - 0x28], 0
je 0x413006
mov esp, ebx
mov dword [ebp - 0x6c], 0x68
cmp dword [ebp - 0x3c], 0x49
jne 0x413022
pop dword [ebp - 0x30]
and edx, dword [ebp - 0x1c]
ret 4
add eax, dword [ebp - 0x38]
xor word [ebp - 0x48], 0xb60
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 1
je 0x4159be
push dword [edx + 8]
xor esi, edx
add ebx, dword [ebp - 0x2c]
xor ecx, edi
push 0
sub edx, edi
push 0
or dword [ebp - 0x48], edx
xor ecx, edi
mov edx, dword [ebp - 0x68]
add dword [ebp - 0x1c], 0x25
mov eax, dword [ebp - 0x4c]
add eax, 0x640
call dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
xor dword [ebp - 0x58], eax
and dword [ebp - 0x5c], 0xffffffa3
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x28], 0xfffffff5
jne 0x415a17
add esp, 4
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
xor ecx, ecx
or dword [ebp - 0x20], edx
je 0x41613a
cmp dword [ebp - 0x28], 0
je 0x415a38
mov edi, edi
push ecx
mov dword [ecx], 0x433ccc
call fcn.0040c36f
pop ecx
mov ecx, dword [ebp - 0x30]
mov dword [ecx - 0x388], 0x10002
and ecx, dword [ebp - 0x2c]
xor dword [ebp - 0x6c], esi
mov edi, dword [ebp - 0x20]
cmp dword [ebp - 0x3c], 0xffffff94
jne 0x415a5d
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 0xffffffd0
jne 0x415a6e
call fcn.00405fd6
lea edi, [ecx - 0x388]
mov dword [ebp - 0x20], edi
xor dword [ebp - 0x48], esi
or edx, dword [ebp - 0x64]
push dword [ebp - 0x20]
mov edi, dword [ebp - 0x30]
cmp dword [ebp - 0x28], 0xffffffd7
jne 0x415aa1
push dword [edi - 0xb8]
mov edx, dword [ebp - 0x68]
sub eax, edi
and word [ebp - 0x2c], 0xd78
mov edx, dword [ebp - 0x4c]
add edx, 0x5c8
call dword [edx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
xor edx, dword [ebp - 0x34]
add dword [ebp - 0x64], ecx
or dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x20]
or ebx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x58]
or dword [ebp - 0x20], esi
jne 0x4160e9
add ebx, dword [ebp - 0x58]
and ebx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x30]
push dword [ecx - 0x2d8]
call fcn.0040456b
add dword [ebp - 0x28], 0
je 0x415b0e
mov edx, dword [ecx + 8]
push eax
call edx
push edi
call fcn.00410b50
add esp, 4
lea ebx, [ebp - 0x20]
push ebx
mov ebx, dword [ebp - 0x30]
push dword [ebx - 0x64]
call fcn.004046fb
mov ebx, dword [ebp - 0x30]
lea ebx, [ebx - 0x68]
push ebx
push dword [ebp - 0x20]
call fcn.0040456b
or dword [ebp - 0x58], 0x9d9
and edx, dword [ebp - 0x5c]
cmp dword [ebp - 0x3c], 0x64
jne 0x415b41
push 0
mov esi, dword [ebp - 0x30]
mov dword [esi - 0x60], 0
cmp dword [ebp - 0x3c], 1
je 0x415b60
mov ebx, dword [ebp - 0x30]
mov dword [ebx - 0x5c], 0
sub ecx, dword [ebp - 0x48]
mov dword [ebp - 0x34], esi
add word [ebp - 0x5c], 0xb89
push 0x40
cmp dword [ebp - 0x3c], 1
je 0x415b8c
xor eax, eax
mov ecx, dword [ebp - 0xc]
push 0
push 1
mov edi, dword [ebp - 0x20]
mov eax, edi
mov edx, dword [ebp - 0x30]
and dword [ebp - 0x64], esi
or esi, dword [ebp - 0x5c]
lea edi, [edx - 0x60]
mov dword [ebp - 0x20], edi
sub edi, dword [ebp - 0x5c]
cmp dword [ebp - 0x3c], 0xffffffa4
jne 0x415bc3
push ebp
mov ebp, esp
sub esp, 0x7c
mov eax, dword [0x41a4ec]
xor eax, ebp
cmp dword [ebp - 0x28], 0
je 0x415be8
push dword [ebp - 0x20]
mov ebx, ecx
mov edi, eax
sub edi, dword [ebp - 0x2c]
mov eax, ebx
push 0
add edi, ecx
push 0
xor ecx, dword [ebp - 0x64]
push 0
add word [ebp - 0x64], 0x48b
mov esi, dword [ebp - 0x20]
mov edi, ebx
mov edi, esi
mov ecx, dword [ebp - 0x30]
lea esi, [ecx - 0x5c]
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x28], 0x400002
jne 0x415c35
sub ebx, esi
add ebx, dword [ebp + 8]
push 0x41a3b0
push ebx
and ecx, edx
push dword [ebp - 0x20]
mov ebx, dword [ebp - 0x30]
push dword [ebx - 0xbc]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 0xfffffffc
jne 0x415c58
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
or edi, 0xffffffff
push dword [eax - 0x50]
sub eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x68]
xor ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x4c]
add ebx, 0x594
call dword [ebx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
xor dword [ebp - 0x48], edi
add ecx, 0xc9d8
mov edi, dword [ebp - 0x20]
cmp dword [ebp - 0x28], 0
je 0x415c91
int3
or dword [ebp - 0x20], edi
jne 0x4160e9
lea esi, [ebp - 0x68]
push esi
mov esi, dword [ebp - 0x30]
push dword [esi - 0x48]
call fcn.0040456b
add dword [ebp - 0x1c], edi
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x30]
push dword [eax - 0x64]
call fcn.00404623
cmp dword [ebp - 0x3c], 1
je 0x415cd9
je 0x415ca9
and dword [ebp - 0x54], esi
lea esi, [ebp - 0xc]
mov dword [ebp - 0x40], 5
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x68]
add eax, edi
mov byte [ecx], 0x90
and edx, dword [ebp - 0x58]
sub edi, ecx
cmp dword [ebp - 0x3c], 1
je 0x415cf1
test edi, edi
mov edi, 1
lea esi, [esi + edx*2 + 0xcd1]
add dword [ebp - 0x68], edi
cmp dword [ebp - 0x3c], 0x21
jne 0x415d19
test eax, eax
je 0x415d10
mov ecx, dword [esi + 0x10]
cmp dword [ecx], eax
jae 0x415d49
mov edx, 0x41a339
mov ecx, dword [ebp - 0x68]
sub ebx, ecx
mov byte [ecx], 0xe9
cmp dword [ebp - 0x28], 0x78
jne 0x415d2e
mov byte [ebp - 4], 3
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push dword [eax - 0x68]
call fcn.0040456b
cmp dword [ebp - 0x3c], 0xffffff90
jne 0x415d4c
lea eax, [edx + 0xc]
mov ecx, dword [edx - 0x14]
lea ebx, [ebp - 0x54]
push ebx
mov ebx, dword [ebp - 0x30]
push dword [ebx - 0x64]
call fcn.00404623
xor eax, dword [ebp - 0x58]
lea edi, [ebp - 0x20]
push edi
mov edi, dword [ebp - 0x4c]
push dword [edi + 0x10]
call fcn.0040456b
add dword [ebp - 0x20], 0x123
sub esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x30]
push dword [ecx - 0x5c]
call fcn.00404623
lea esi, [ebp - 0x20]
push esi
push dword [ebp - 0x54]
cmp dword [ebp - 0x3c], 0x400002
jne 0x415da4
call fcn.004046fb
sub edx, ebx
cmp dword [ebp - 0x3c], 1
je 0x415dc1
mov esi, 6
mov byte [ebp - 0x1c], 0xfb
cmp dword [ebp - 0x3c], 1
je 0x415dd5
test esi, esi
sub dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x68]
lea eax, [eax + 1]
push eax
push dword [ebp - 0x20]
call fcn.0040456b
test dword [ebp - 0x28], 0
je 0x415dfc
mov eax, dword [ebp + 8]
push eax
call fcn.004174c3
mov edi, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 0x400002
jne 0x415e0e
push dword [edi - 0x68]
add edx, 0x8b09
and edi, ecx
mov ecx, dword [ebp - 0x30]
xor eax, dword [ebp - 0x2c]
push dword [ecx - 0xbc]
mov edx, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x4c]
add ebx, 0x5a8
call dword [ebx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x28], 0x2f
jne 0x415e49
mov dword fs:[0], ecx
mov edi, dword [ebp - 0x20]
or ecx, dword [ebp - 0x6c]
or dword [ebp - 0x20], edi
jne 0x4160e9
mov edi, dword [ebp - 0x30]
push dword [edi - 0xbc]
sub ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x68]
xor ecx, ebx
or dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x4c]
add eax, 0x598
call dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x30]
and edx, dword [ebp - 0x64]
push dword [eax - 0xb8]
or edx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x4c]
add esi, 0x598
call dword [esi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
add edx, esi
or dword [ebp - 0x44], 0xeb
mov edx, dword [ebp - 0x30]
push dword [edx - 0x54]
sub edx, dword [ebp - 0x1c]
push 0xffffffff
add dword [ebp - 0x58], edx
mov word [ebp - 0x5c], 0xe9a
xor dword [ebp - 0x44], 0x886
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x4c]
add esi, 0x5a8
call dword [esi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
xor dword [ebp - 0x1c], 0x85
xor dword [ebp - 0x48], 0x9ff
mov edi, dword [ebp - 0x30]
add esi, 0x39fd
mov dword [ebp - 0x44], eax
push dword [edi - 0x50]
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x4c]
add edi, 0x598
call dword [edi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x3c], 0xffffffc9
jne 0x4161ab
pop ebp
int3
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 1
je 0x4161c5
push 0x20
push edx
call fcn.0041040a
mov edi, dword [esi + 4]
add esp, 0x10
push dword [eax - 0x48]
push 0xffffffff
and dword [ebp - 0x44], eax
and word [ebp - 0x44], 0x444
mov edx, dword [ebp - 0x68]
cmp dword [ebp - 0x3c], 0x54
jne 0x4161e8
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov edx, dword [ebp - 0x4c]
add edx, 0x5a8
call dword [edx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
add eax, edx
mov ecx, dword [ebp - 0x30]
add word [ebp - 0x38], 0x4e6
and eax, dword [ebp - 0x58]
push dword [ecx - 0x3c]
cmp dword [ebp - 0x28], 0x400002
jne 0x41621e
call ebx
lea ecx, [ebp - 0x1a8]
add esi, 0x1e9e
mov edx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x28], 0x400002
jne 0x416237
push eax
mov ebx, dword [ebp - 0x4c]
add ebx, 0x598
call dword [ebx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
add ebx, 0x1259
mov edi, dword [ebp - 0x30]
push dword [edi - 0x34]
xor word [ebp - 0x6c], 0xc7a
push 0xffffffff
cmp dword [ebp - 0x3c], 0x400002
jne 0x416279
or ecx, 0xffffffff
sub ecx, eax
cmp ecx, ebx
ja 0x416293
push 0x41a478
cmp dword [ebp - 0x28], 0
je 0x41628d
pop edi
pop esi
mov eax, 0x41a4ff
pop ebx
mov esp, ebp
pop ebp
mov edx, dword [ebp - 0x68]
and dword [ebp - 0x44], eax
and dword [ebp - 0x44], 0xbf4
mov eax, dword [ebp - 0x4c]
add eax, 0x5a8
call dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x30]
push dword [ecx - 8]
mov edx, dword [ebp - 0x68]
and dword [ebp - 0x58], 0x7d
xor eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x4c]
add esi, 0x598
call dword [esi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
test dword [ebp - 0x28], 0
je 0x4162d9
push ecx
mov ebx, dword [ebp - 0x30]
cmp dword [ebp - 0x28], 0
je 0x4162ef
test eax, eax
je 0x416284
cmp eax, 0xffffffff
jae 0x41628a
dec eax
push dword [ebx - 4]
mov edx, dword [ebp - 0x68]
or dword [ebp - 0x34], 0xffffffc8
mov edi, dword [ebp - 0x4c]
add edi, 0x598
call dword [edi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], edx
or esi, edi
lea esi, [ebp - 0x20]
cmp dword [ebp - 0x3c], 1
je 0x416320
or edi, 0xffffffff
mov eax, dword [esi + 0x1c]
test eax, eax
push esi
cmp dword [ebp - 0x3c], 1
je 0x41632f
test dword [eax + 0x10], ecx
jne 0x41632d
push dword [ebp - 0x50]
call fcn.0040456b
pop dword [ebp - 0x40]
and ecx, ebx
or edi, dword [ebp - 0x1c]
add esi, 0x497f
add edi, dword [ebp - 0x64]
pop dword [ebp - 0x4c]
xor dword [ebp - 0x34], 0x59
cmp dword [ebp - 0x28], 0x4c
jne 0x416362
mov edx, dword [eax + 8]
mov esi, dword [edx + esi*4]
xor ecx, ecx
mov esi, ecx
mov word [ebp - 0x48], 0xdea
pop dword [ebp - 0x50]
and edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
xor ecx, edx
and ebx, dword [ebp - 0x58]
mov esp, eax
cmp dword [ebp - 0x28], 0x1c
jne 0x416390
mov word [ebp - 0x6c], 0x334
or dword [ebp - 0x5c], eax
pop dword [ebp - 0x30]
cmp dword [ebp - 0x28], 0xffffffd9
jne 0x4163b9
mov ebx, dword [edi]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x18], ebx
lea esp, [esp]
cmp ebx, edi
je 0x40f2e6
ret 0xc
or word [ebp - 0x34], 0x73
pop dword [ebp - 0x40]
xor dword [ebp - 0x1c], ebx
xor dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], esi
cmp dword [ebp - 0x3c], 0xffffffe5
jne 0x417906
cmp byte [ebp - 0x51], 0
jne 0x41794f
mov ecx, dword [esi]
pop dword [ebp - 0x4c]
cmp dword [ebp - 0x28], 0
je 0x417917
xor eax, ebp
mov dword [ebp - 4], eax
pop dword [ebp - 0x68]
cmp dword [ebp - 0x28], 0x5a
jne 0x417927
lea eax, [ebp - 0x60]
push eax
pop dword [ebp - 0x54]
xor esi, ebx
cmp dword [ebp - 0x28], 0xffffffcf
jne 0x41794a
je 0x417968
test al, 8
je 0x4178e3
push dword [esi + 8]
call fcn.0040ec5f
and dword [esi + 1], 0xff0041a2
pop dword [ebp - 0x50]
and ebx, esi
and dword [ebp - 0x38], 0xffffffb6
pop dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
add dword [ebp - 0x48], 0xffffff91
sub ebx, dword [ebp - 0x44]
mov esp, edx
and edi, dword [ebp - 0x38]
pop dword [ebp - 0x30]
sub esi, dword [ebp - 0x38]
ret 0x10