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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x663eee
sub esp, 0x110
mov eax, 0
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
mov byte [esp + 0x33], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov eax, dword [0xa7fb14]
test eax, eax
je 0x662f2b
lea eax, [0x80cae8]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x108], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x104], eax
mov byte [esp + 0x33], 1
mov eax, dword [esp + 0x118]
setne cl
mov byte [esp + 0x32], cl
mov edx, dword [eax + 8]
test edx, edx
jne 0x6630d0
nop
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test edx, edx
jne 0x6630be
mov eax, dword [esp + 0x118]
mov edx, dword [eax + 4]
mov eax, dword [eax]
test edx, edx
jne 0x663066
lea eax, [0x7e2e58]
mov edx, 3
mov dword [esp + 0x38], edx
mov dword [esp + 0x5c], eax
lea ecx, [0x79c540]
mov dword [esp], ecx
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [esp + 0xa0], eax
mov dword [eax + 4], 0x15
lea ecx, [0x7f0708]
mov dword [eax], ecx
lea ecx, [0x7b1ba0]
mov dword [esp], ecx
call fcn.0040b5d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0xa976a0]
test eax, eax
jne 0x663058
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
lea ecx, [0x8713a0]
mov dword [edi + 0x10], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x66303f
mov eax, dword [esp + 0xa0]
mov dword [edi + 0x14], eax
mov dword [esp + 0x11c], 0
lea eax, [0x871920]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edi
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x66301c
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.00696740
jmp 0x663015
lea ecx, [edi + 0x14]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0045c3e0
mov edi, edx
jmp 0x662fec
mov eax, dword [esp + 0x5c]
call fcn.0045c3e0
jmp 0x662fcf
mov dword [esp + 0x70], eax
lea ecx, [edx - 1]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add ecx, eax
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004e2990
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00446610
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x662f72
mov ecx, dword [edx + 0x10]
mov dword [esp], eax
call ecx
movzx ecx, byte [esp + 0x32]
jmp 0x662f53
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call fcn.00661890
lea esi, [esp + 4]
lea edi, [esp + 0xdc]
call fcn.0045cb5e
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov ecx, dword [esp + 0x118]
mov dword [esp + 4], ecx
call fcn.00663f00
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
mov byte [esp + 0x2f], 0
lea edi, [esp + 0xf0]
xor eax, eax
call fcn.0045c67b
lea eax, [0x696790]
mov dword [esp + 0xf0], eax
lea eax, [esp + 0x2f]
mov dword [esp + 0xf4], eax
lea eax, [esp + 0x118]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0x68]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0xac]
mov dword [esp + 0x100], eax
lea edi, [esp + 8]
mov dword [esp + 0x9c], edi
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x6631ad
mov edi, dword [esp + 0x9c]
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0xb0]
test ebx, ebx
jg 0x663545
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
lea ebp, [ecx + 1]
cmp ebx, ebp
jb 0x663501
lea ebx, [ecx + 1]
mov dword [esp + 0xb0], ebx
mov ebx, dword [0xa976a0]
mov eax, dword [esp + 0x118]
lea ebp, [edx + ecx*4]
test ebx, ebx
jne 0x6634f1
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov ecx, dword [esp + 0x118]
mov dword [esp + 4], ecx
lea esi, [esp + 0xdc]
call fcn.0045cb5e
call fcn.00661720
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
test eax, eax
jne 0x663329
mov edx, dword [esp + 0x118]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0xac]
test ebp, ebp
jbe 0x663eac
mov eax, dword [esi]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00662cf0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
movzx ebx, byte [esp + 0x19]
test al, al
je 0x6632d4
mov ebp, dword [esp + 0x118]
mov eax, ecx
mov ecx, dword [ebp + 0x20]
mov ebp, dword [ebp + 0x24]
test ecx, ecx
je 0x6631a2
mov byte [esp + 0x30], bl
mov dword [esp + 0x40], edx
mov dword [esp + 0x98], eax
mov eax, dword [ecx + 0x10]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x40]
movzx ebx, byte [esp + 0x30]
jmp 0x6631a2
mov eax, dword [esp + 0x68]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x663306
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.00696740
jmp 0x6632ff
mov byte [esp + 0x2f], 1
lea edi, [esp + 0xc8]
lea esi, [esp + 0xdc]
call fcn.0045cb5e
mov ecx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
test ebp, 0x80000000
je 0x6634dc
shl ebp, 1
mov esi, ecx
shr ecx, 0x1f
or ecx, ebp
mov ebp, esi
shl esi, 1
mov edi, ecx
shl ecx, 1
shr esi, 0x1f
or esi, ecx
mov ecx, esi
add esi, 0xd7b17f80
shr edi, 0x1f
add ecx, 0xd7b17f80
adc edi, 0xd
mov dword [esp + 0x80], ebx
mov dword [esp + 0x50], eax
test esi, esi
sete cl
test edi, edi
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x66341a
test ebp, 0x3fffffff
jne 0x66341a
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x6633f7
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.00696740
jmp 0x6633f0
mov eax, dword [edx]
call eax
movzx eax, byte [esp]
test al, al
jne 0x663436
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x80]
jmp 0x6633ae
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], ecx
lea edx, [0x7a7620]
mov dword [esp], edx
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov dword [esp], 0
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
lea ecx, [0x80066c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x31
call fcn.00446610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x94]
mov dword [edi + 4], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x6634d5
mov dword [edi], eax
mov byte [edi + 8], 1
lea eax, [0x871820]
mov ebx, edi
jmp 0x6633ae
call fcn.0045c3e0
jmp 0x6634c4
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0xd4]
mov ebp, ecx
jmp 0x663385
mov ecx, edi
mov edi, ebp
call fcn.0045c3e0
mov edi, ecx
jmp 0x663201
lea eax, [0x7daee0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00443250
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xac], edx
mov edi, dword [esp + 0x9c]
jmp 0x6631dc
mov dword [esp + 0x6c], eax
mov dword [esp + 0x54], ecx
mov byte [esp + 0x31], dl
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
lea eax, [0x7e6c9b]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.00638ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x663dab
mov dword [esp + 0x44], eax
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x118]
mov edx, dword [edx + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.005ec5b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x663c64
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x118]
mov ebx, dword [edx + 0x48]
mov ebp, dword [edx + 0x44]
test ebx, ebx
je 0x663c5d
mov edx, dword [edx + 8]
mov esi, dword [edx + 0x14]
cmp dword [edx + 0x18], ebx
je 0x663c3c
mov eax, 1
test al, al
jne 0x663bf9
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xac]
test ebx, ebx
jbe 0x663ed8
mov dword [esp + 0x7c], eax
mov dword [esp + 0x48], edx
mov eax, dword [ebp]
mov dword [esp + 0x78], eax
call fcn.0040c070
mov eax, dword [esp]
mov dword [esp + 0x90], eax
lea ecx, [0x7d6c20]
mov dword [esp], ecx
call fcn.0040b5d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x54]
mov dword [edi + 4], eax
mov eax, dword [0xa976a0]
test eax, eax
jne 0x663beb
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov ecx, dword [0xa976a0]
mov eax, dword [esp + 0x68]
test ecx, ecx
jne 0x663bbd
mov dword [edi + 0x74], eax
mov ecx, dword [esp + 0x64]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [edi + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x48], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x663ba4
mov ecx, dword [esp + 0x7c]
mov dword [edi + 0x44], ecx
mov ecx, dword [0xa976a0]
mov ebx, dword [esp + 0x78]
mov eax, dword [ebx + 0x70]
test ecx, ecx
jne 0x663b91
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebx + 0x78]
mov dword [edi + 0x78], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x663b7e
mov dword [edi + 0x7c], eax
mov dword [esp + 0x118], edi
movzx eax, byte [esp + 0x31]
test al, al
je 0x6636e1
mov edx, dword [ebx + 0x28]
test edx, edx
jne 0x663a84
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
lea ebx, [ecx - 1]
cmp ebx, ecx
jae 0x663ed1
mov eax, dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x118]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00661610
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x66399f
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x114]
mov edi, dword [esi + 8]
test edi, edi
je 0x663994
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov eax, dword [edi]
mov edx, edi
call eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], ecx
cmp dword [0xa80838], eax
je 0x663913
mov edx, dword [esp + 0x68]
mov ebx, dword [edx + 0x2c]
cmp ebx, 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [edx + 0x28]
cmp esi, 0xffffffff
xchg edi, ebx
sete bl
xchg edi, ebx
and ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6638e7
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
lea edx, [0x798520]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408f30
mov eax, dword [0xa76b60]
mov ecx, dword [0xa76b64]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0x800
mov dword [esp + 0x14], 0
call fcn.004951c0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x66383f
mov edi, dword [esp + 0x9c]
jmp 0x6631bc
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
lea ebx, [0x871920]
cmp ebx, ecx
jne 0x663eb5
mov edx, dword [esp + 0x44]
mov dword [eax + 0xc], edx
mov edx, dword [0xa976a0]
test edx, edx
jne 0x6638d5
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x6638b2
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.00696740
jmp 0x6638ab
lea edi, [eax + 8]
mov edx, eax
mov eax, dword [esp + 0x74]
call fcn.0045c3e0
mov eax, edx
jmp 0x663888
cmp esi, 0x800
xchg ebp, ebx
setbe bl
xchg ebp, ebx
test ebx, ebx
sete bl
xchg esi, ebx
setl bl
xchg esi, ebx
and ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x6637c5
jmp 0x663819
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0xa8083c]
mov dword [esp + 8], edx
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x66393f
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
jmp 0x66379b
mov eax, dword [esp + 0x68]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x663971
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.00696740
jmp 0x66396a
lea edi, [0x80cb60]
jmp 0x66376a
mov dword [esp + 0x60], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x90], eax
nop
lea ecx, [0x7e5b98]
mov dword [esp], ecx
mov dword [esp + 4], 7
call fcn.0063af60
mov eax, dword [esp + 8]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x77f300]
mov dword [esp], edx
call fcn.0040b5d0
mov edi, dword [esp + 4]
mov dword [esp + 0x8c], edi
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [0xa976a0]
test eax, eax
jne 0x663a79
mov eax, dword [esp + 0x60]
mov dword [edi], eax
lea eax, [0x7c5540]
mov dword [esp], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
call fcn.00410370
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, dword [0xa976a0]
test eax, eax
jne 0x663a68
mov eax, dword [esp + 0x8c]
mov dword [edi], eax
jmp 0x66373c
mov eax, dword [esp + 0x8c]
call fcn.0045c3e0
jmp 0x66373c
mov eax, dword [esp + 0x60]
call fcn.0045c3e0
jmp 0x663a12
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp]
mov esi, dword [esp + 0xc]
mov dword [eax + 0x20], ebp
mov ebp, dword [0xa976a0]
test ebp, ebp
jne 0x663b6f
mov dword [eax + 0x24], ebx
test ecx, ecx
jne 0x663ad2
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x78]
mov ebx, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x30], ecx
jmp 0x6636e1
mov eax, dword [esp + 0x68]
mov ebx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test ebx, ebx
jne 0x663b4c
mov dword [esp], ecx
mov dword [esp + 4], esi
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x663b29
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.00696740
jmp 0x663b22
mov dword [esp + 0x84], esi
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp], eax
call ecx
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x84]
jmp 0x663ae0
lea edi, [eax + 0x24]
mov eax, ebx
call fcn.0045c3e0
jmp 0x663ab2
lea ecx, [edi + 0x7c]
mov edx, edi
mov edi, ecx
call fcn.0045c3e0
mov edi, edx
jmp 0x6636c6
lea ecx, [edi + 0x70]
mov edx, edi
mov edi, ecx
call fcn.0045c3e0
mov edi, edx
jmp 0x6636ac
lea ecx, [edi + 0x44]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x7c]
call fcn.0045c3e0
mov edi, edx
jmp 0x663694
lea ecx, [edi + 0x74]
mov edx, edi
mov edi, ecx
call fcn.0045c3e0
lea edi, [edx + 8]
mov eax, dword [esp + 0x64]
call fcn.0045c3e0
lea edi, [edx + 0x1c]
mov eax, dword [esp + 0x90]
call fcn.0045c3e0
mov edi, edx
jmp 0x663678
mov eax, dword [esp + 0x6c]
call fcn.0045c3e0
jmp 0x663652
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call fcn.005e9200
mov eax, dword [esp + 8]
test eax, eax
je 0x663c1c
mov edx, dword [eax + 4]
test edx, edx
je 0x663c2d
xor eax, eax
xor ecx, ecx
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x64]
jmp 0x6635f1
mov edx, dword [esp + 0x118]
mov ecx, dword [edx + 0x44]
mov eax, dword [edx + 0x48]
jmp 0x663c20
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.00402950
movzx eax, byte [esp + 0xc]
xor eax, 1
mov ecx, dword [esp + 0x64]
jmp 0x6635e5
xor eax, eax
jmp 0x6635e5
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x68]
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
test ebx, ebx
jne 0x663d9e
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.00408d50
mov eax, dword [esp + 8]
lea ecx, [0x78aa20]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x663ce4
mov eax, dword [eax + 4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc4], eax
lea eax, [0x7fbdcd]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x663d7b
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.00696740
jmp 0x663d74
mov eax, dword [ebx + 0x10]
mov dword [esp], ecx
call eax
jmp 0x663c81
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test ecx, ecx
jne 0x663e9f
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00408c40
mov eax, dword [esp + 4]
lea ecx, [0x78a120]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [0x7f9f64]
mov dword [esp], eax
mov dword [esp + 4], 0x23
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x663e7c
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.00696740
jmp 0x663e75
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
call ecx
jmp 0x663dbd
xor eax, eax
mov ecx, ebp
call fcn.0045c460
mov dword [esp], ecx
lea eax, [0x7b9020]
mov dword [esp + 4], eax
lea eax, [0x797f20]
mov dword [esp + 8], eax
call fcn.00408aa0
mov eax, ebx
call fcn.0045c460
xor eax, eax
mov ecx, ebx
call fcn.0045c460
nop
call fcn.004303a0
add esp, 0x110
ret
call fcn.0045ae90
jmp fcn.00662e90