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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x62bb5c
mov eax, dword fs:[0]
push eax
sub esp, 0x6d8
mov eax, dword [0x652018]
xor eax, esp
mov dword [esp + 0x6d0], eax
push ebx
push esi
push edi
mov eax, dword [0x652018]
xor eax, esp
push eax
lea eax, [esp + 0x6e8]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x18], edi
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0xdc], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x9c], eax
mov byte [esp + 0xb0], al
mov eax, dword [ebp + 0x34]
mov byte [esp + 0xac], al
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0xa8], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0x50]
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 0x58]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x5c]
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x28], eax
mov byte [esp + 0x58], al
mov eax, dword [ebp + 0x64]
mov dword [esp + 0x4c], eax
mov byte [esp + 0x60], al
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0xb4], eax
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x78]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x7c]
mov dword [esp + 0xe0], eax
mov eax, dword [ebp + 0x80]
mov dword [esp + 0xd8], eax
mov eax, dword [ebp + 0x84]
mov dword [esp + 0xe8], eax
mov eax, dword [edx + 0x54]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x5c], esi
test eax, eax
je 0x4647ea
mov eax, dword [eax + 4]
inc esi
test eax, eax
jne 0x4647de
mov dword [esp + 0x5c], esi
cmp byte [edx], 0xd
lea eax, [esp + 0x4dc]
mov dword [esp + 0x54], eax
sete byte [esp + 0x73]
cmp esi, 0x80
jbe 0x464827
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
mov edx, dword [edi + 0x14]
seto cl
neg ecx
or ecx, eax
call 0x3bcc1e
mov edx, dword [esp + 0x34]
mov dword [esp + 0x54], eax
test esi, esi
je 0x464839
mov edi, dword [esp + 0x54]
mov ecx, esi
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x18]
mov al, byte [edx + 0x78]
xor esi, esi
shr al, 2
xor edx, edx
and al, 1
mov dword [esp + 0x64], edx
mov byte [esp + 0x17], al
mov eax, dword [ebp + 0x28]
and eax, 2
mov dword [esp + 0x74], edx
mov dword [esp + 0x50], esi
mov dword [esp + 0xe4], eax
jne 0x4648af
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x54]
test eax, eax
je 0x4648af
test byte [eax + 0x20], 1
jne 0x464892
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x464889
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x464889
test byte [ecx + 2], 1
jne 0x464892
mov eax, dword [eax + 4]
test eax, eax
jne 0x46486f
jmp 0x4648af
mov edx, dword [esp + 0x5c]
lea esi, [esp + 0x74]
dec edx
mov dword [esp + 0x50], esi
cmp byte [esp + 0x17], 0
mov dword [esp + 0x64], edx
je 0x4648af
dec edx
mov dword [esp + 0x64], edx
test dword [ebp + 0x28], 0x2000
je 0x464911
cmp byte [esp + 0x4c], 0
jne 0x464911
test ebx, ebx
jne 0x46490a
lea ecx, [esp + 0x88]
call dword [0x660330]
mov dword [esp + 0x6f0], ebx
mov dword [esp + 0x88], 0x40cc48
mov dword [esp + 0x94], 0x40cb40
mov dword [esp + 0x6f0], 0xffffffff
lea eax, [esp + 0x88]
push 0x651bb0
push eax
call 0x5a4c84
mov ebx, dword [ebx + 0x28]
mov dword [esp + 0x38], ebx
xor eax, eax
mov dword [esp + 0x44], eax
test ebx, ebx
je 0x464cb1
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x464937
mov eax, dword [ecx]
shr eax, 0x1c
test al, 1
jne 0x464cb1
mov eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x5c]
jne 0x464b9e
mov esi, dword [esp + 0x20]
cmp byte [esi], 0
jne 0x464bc4
cmp byte [edi + 0x88], 0
je 0x464b7a
cmp byte [esp + 0x28], 0
je 0x46497b
lea eax, [ebx + 4]
push eax
push 0x8ed5
push dword [edi + 0x1c]
call 0x3cd1ce
add esp, 0xc
jmp 0x464b76
push ecx
lea ecx, [esp + 0x168]
call fcn.0041538e
mov dword [esp + 0x6f0], 1
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x34]
call fcn.004637fe
mov edi, eax
mov ecx, edi
call 0x3e9c7e
push 0
push 0
push 0
lea ecx, [esp + 0x8c]
mov dword [esp + 0x8c], 0
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 1
mov ecx, eax
call 0x3e19fe
mov edx, dword [esp + 0x48]
mov al, byte [edx]
test al, al
je 0x4649ed
cmp dword [edx + 4], 0
jmp 0x4649f1
cmp dword [edx + 8], 0
setne cl
test cl, cl
jne 0x4649fc
xor esi, esi
jmp 0x464a0b
test al, al
je 0x464a08
mov esi, dword [edx + 4]
mov esi, dword [esi + 4]
jmp 0x464a0b
mov esi, dword [edx + 8]
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1c], 0
jne 0x464a20
mov edi, dword [esp + 0x18]
mov eax, 0x404b4c
jmp 0x464a66
mov ecx, dword [eax + 0x14c]
test ecx, ecx
jne 0x464a2e
xor eax, eax
jmp 0x464a33
call 0x3e0aae
mov ecx, dword [esp + 0x18]
push dword [ecx + 0x10]
mov ecx, dword [esp + 0x50]
push dword [esp + 0x7c]
movzx ecx, cl
push dword [esp + 0x68]
neg ecx
sbb ecx, ecx
and ecx, esi
push ecx
lea ecx, [esp + 0x174]
push ecx
push eax
push edi
mov edi, dword [esp + 0x34]
mov ecx, dword [edi + 0x1c]
call 0x3cd75e
cmp byte [edi + 0x88], 0
je 0x464aaf
mov ecx, dword [esp + 0x80]
test ecx, ecx
jne 0x464a7f
mov ecx, 0x404b4c
test eax, eax
jne 0x464a88
mov eax, 0x404b4c
push ecx
push eax
lea eax, [ebx + 4]
push eax
mov eax, dword [esp + 0x58]
movzx eax, al
neg eax
sbb eax, eax
and eax, 0x197d
add eax, 0x7569
push eax
push dword [edi + 0x1c]
call 0x3cd1ce
add esp, 0x14
mov dword [esp + 0x6f0], 0xffffffff
mov eax, dword [esp + 0x168]
mov dword [esp + 0x164], 0x424634
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x168], 0x42461c
mov eax, dword [esp + 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x120]
mov dword [esp + ecx + 0x164], eax
mov eax, dword [esp + 0x17c]
test eax, eax
je 0x464b50
cmp eax, 1
jne 0x464b18
push dword [esp + 0x180]
push 0
push dword [0x65e8d0]
call dword [0x66016c]
jmp 0x464b2a
cmp eax, 2
jne 0x464b2a
push dword [esp + 0x180]
call dword [0x660480]
lea eax, [esp + 0x184]
mov dword [esp + 0x180], eax
mov dword [esp + 0x170], 0x100
mov dword [esp + 0x17c], 0
jmp 0x464b57
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x16c], 0
mov word [eax], cx
mov dword [esp + 0x288], 0x41b854
mov eax, dword [esp + 0x44]
cmp byte [esp + 0x9c], 0
mov ecx, dword [esp + 0xc4]
mov byte [esi], 1
mov byte [ecx], 1
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 0
jne 0x4668cb
jmp 0x464bc4
cmp eax, edx
jne 0x464ba6
test esi, esi
jne 0x464be0
cmp byte [esp + 0x17], 0
je 0x464bb8
cmp dword [ebx + 0x28], 0
jne 0x464bb8
mov eax, dword [esp + 0x5c]
dec eax
mov edx, dword [esp + 0x54]
mov dword [edx + eax*4], ecx
inc eax
mov dword [esp + 0x44], eax
mov ebx, dword [ebx + 0x28]
mov dword [esp + 0x38], ebx
test ebx, ebx
je 0x464cb1
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x50]
jmp 0x46491f
mov dl, byte [esp + 0x17]
test dl, dl
je 0x464bf2
cmp dword [ebx + 0x28], 0
je 0x464cb5
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x464c77
mov eax, dword [ecx]
shr eax, 0x1c
test al, 1
jne 0x464cb5
test ecx, ecx
je 0x464c77
mov edi, dword [ecx + 0x24]
mov ecx, dword [esp + 0x18]
push 0x2c
add ecx, 0x24
call fcn.0053ac3e
mov esi, eax
mov eax, 0x4f
mov word [esi], ax
test edi, edi
je 0x464c38
mov cx, word [edi + 2]
and cx, 1
mov dword [esi + 0x24], edi
or word [esi + 2], cx
mov eax, dword [ebx + 4]
mov ecx, 0x65e308
mov dword [esi + 4], eax
mov eax, dword [ebx + 8]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0x65e308
call 0x3db1de
mov edi, dword [esp + 0x18]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [eax], esi
lea eax, [esi + 0x28]
mov dword [esp + 0x50], eax
jmp 0x464ca2
cmp byte [edi + 0x88], 0
je 0x464c94
lea eax, [ebx + 4]
push eax
push 0x777c
push dword [edi + 0x1c]
call 0x3cd1ce
add esp, 0xc
mov eax, dword [esp + 0x20]
mov byte [eax], 1
mov eax, dword [esp + 0x2c]
mov byte [eax], 0
mov ebx, dword [ebx + 0x28]
mov dword [esp + 0x38], ebx
test ebx, ebx
jne 0x464be0
mov dl, byte [esp + 0x17]
test ebx, ebx
je 0x464ec9
nop
mov ebx, dword [ebx + 0x24]
mov eax, dword [ebx]
shr eax, 0x1c
test al, 1
je 0x4652a4
mov eax, dword [esp + 0x34]
xor esi, esi
mov edi, dword [ebx + 0x2c]
mov ecx, dword [eax + 0x54]
mov edx, dword [edi + 0x24]
test ecx, ecx
je 0x464d05
mov eax, dword [ecx + 8]
cmp eax, edx
je 0x464d45
test eax, eax
je 0x464cfd
test edx, edx
je 0x464cfd
mov eax, dword [eax - 0xc]
cmp eax, dword [edx - 0xc]
sete al
test al, al
jne 0x464d45
mov ecx, dword [ecx + 4]
inc esi
test ecx, ecx
jne 0x464ce1
mov edi, dword [esp + 0x18]
cmp byte [edi + 0x88], 0
je 0x464e91
push ecx
lea ecx, [esp + 0x168]
call fcn.0041538e
mov dword [esp + 0x6f0], 6
mov edx, dword [esp + 0x48]
mov al, byte [edx]
test al, al
je 0x46510c
cmp dword [edx + 4], 0
jmp 0x465110
test byte [ecx + 0x20], 1
jne 0x4650e2
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x464d67
mov eax, dword [eax + 0xc]
test eax, eax
je 0x464d67
test byte [eax + 2], 1
jne 0x4650e2
cmp byte [esp + 0x4c], 0
je 0x464f1e
test esi, esi
jne 0x464f1e
mov edi, dword [esp + 0x18]
cmp byte [edi + 0x88], 0
je 0x464e91
push ecx
lea ecx, [esp + 0x3b8]
call fcn.0041538e
mov dword [esp + 0x6f0], 4
mov edx, dword [esp + 0x48]
mov cl, byte [edx]
test cl, cl
je 0x464db2
cmp dword [edx + 4], esi
jmp 0x464db6
cmp dword [edx + 8], 0
setne al
test al, al
jne 0x464dc1
xor eax, eax
jmp 0x464dd8
test cl, cl
mov ecx, edx
push 1
je 0x464dd3
call 0x3db84e
mov eax, dword [eax + 4]
jmp 0x464dd8
call 0x3db8ee
mov edx, dword [esp + 0x6c]
sub esp, 0x10
mov ecx, esp
push dword [esp + 0x88]
mov dword [ecx + 8], eax
mov byte [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 0xc], 0
mov esi, dword [ebx + 0x2c]
mov ecx, dword [esp + 0x48]
call fcn.004637fe
push eax
push dword [esi + 0x24]
lea eax, [esi + 4]
mov ecx, edi
push eax
push 0
push 0x8ee9
push 0x7640
push 0x8ed8
push 0
push dword [esp + 0x94]
push dword [esp + 0x90]
call fcn.0046449e
mov dword [esp + 0x6f0], 0xffffffff
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3b4], 0x424634
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x3b8], 0x42461c
mov eax, dword [esp + 0x3b8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x120]
mov dword [esp + ecx + 0x3b4], eax
lea ecx, [esp + 0x3b4]
call fcn.0041555e
mov dword [esp + 0x4d8], 0x41b854
mov dl, byte [esp + 0x17]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov byte [eax], 1
mov byte [ecx], 0
cmp byte [esp + 0x9c], 0
je 0x464eb6
cmp byte [eax], 0
jne 0x4668cb
mov ebx, dword [esp + 0x38]
mov ebx, dword [ebx + 0x28]
mov dword [esp + 0x38], ebx
test ebx, ebx
jne 0x464cbe
mov esi, dword [esp + 0x48]
lea ecx, [edi + 0x88]
mov dword [esp + 0x50], 0
mov dword [esp + 0x44], ecx
mov eax, dword [esi]
mov dword [esp + 0x11c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x120], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x124], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x128], eax
mov al, byte [ecx]
mov byte [esp + 0x98], al
test ecx, ecx
je 0x4652cc
mov bl, al
jmp 0x4652ce
mov ecx, dword [esp + 0x54]
cmp dword [ecx + esi*4], 0
jne 0x464ff2
mov dl, byte [esp + 0x17]
test dl, dl
je 0x464f41
mov eax, dword [esp + 0x5c]
dec eax
cmp esi, eax
je 0x464ff2
cmp esi, dword [esp + 0x44]
jae 0x464fe2
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x88], 0
je 0x464fc4
mov edx, dword [esp + 0x48]
sub esp, 0x10
mov ecx, esp
mov eax, dword [edx]
push dword [esp + 0x88]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x80]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x48]
call fcn.004637fe
mov ecx, dword [esp + 0x2c]
push eax
push dword [edi + 0x24]
lea eax, [edi + 4]
push eax
push 0
push 0x8ee7
push 0x7d15
push 0x8ed6
push 0
push dword [esp + 0x94]
push dword [esp + 0x90]
call fcn.0046449e
mov dl, byte [esp + 0x17]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
mov byte [eax], 1
mov byte [ecx], 0
mov ecx, dword [esp + 0x54]
mov dword [ecx + esi*4], ebx
jmp 0x464ea3
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov dword [ecx + esi*4], ebx
jmp 0x464ea3
mov edi, dword [esp + 0x18]
cmp byte [edi + 0x88], 0
je 0x464e91
push ecx
lea ecx, [esp + 0x290]
call fcn.0041538e
mov dword [esp + 0x6f0], 5
sub esp, 0x10
mov edx, dword [esp + 0x58]
mov ecx, esp
mov esi, dword [ebx + 0x2c]
push dword [esp + 0x88]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x80]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x48]
call fcn.004637fe
push eax
push dword [esi + 0x24]
lea eax, [esi + 4]
mov ecx, edi
push eax
push 0
push 0x8ee8
push 0x7642
push 0x8ed7
push 0
push dword [esp + 0x94]
push dword [esp + 0x90]
call fcn.0046449e
mov dword [esp + 0x6f0], 0xffffffff
mov eax, dword [esp + 0x290]
mov dword [esp + 0x28c], 0x424634
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x290], 0x42461c
mov eax, dword [esp + 0x290]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x120]
mov dword [esp + ecx + 0x28c], eax
lea ecx, [esp + 0x28c]
call fcn.0041555e
mov dword [esp + 0x3b0], 0x41b854
jmp 0x464e91
lea eax, [edi + 4]
mov edi, dword [esp + 0x18]
cmp byte [edi + 0x88], 0
je 0x464e91
push eax
push 0x777b
push dword [edi + 0x1c]
call 0x3cd1ce
add esp, 0xc
jmp 0x464e91
cmp dword [edx + 8], 0
setne cl
test cl, cl
jne 0x46511b
xor esi, esi
jmp 0x46512a
test al, al
je 0x465127
mov esi, dword [edx + 4]
mov esi, dword [esi + 4]
jmp 0x46512a
mov esi, dword [edx + 8]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x34]
call fcn.004637fe
mov edi, eax
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1c], 0
jne 0x46514e
mov edi, dword [esp + 0x18]
mov eax, 0x404b4c
jmp 0x465194
mov ecx, dword [eax + 0x14c]
test ecx, ecx
jne 0x46515c
xor eax, eax
jmp 0x465161
call 0x3e0aae
mov ecx, dword [esp + 0x18]
push dword [ecx + 0x10]
mov ecx, dword [esp + 0x50]
push dword [esp + 0x7c]
movzx ecx, cl
push dword [esp + 0x68]
neg ecx
sbb ecx, ecx
and ecx, esi
push ecx
lea ecx, [esp + 0x174]
push ecx
push eax
push edi
mov edi, dword [esp + 0x34]
mov ecx, dword [edi + 0x1c]
call 0x3cd75e
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ecx + 0x24]
add ecx, 4
cmp byte [edi + 0x88], 0
je 0x4651dc
test eax, eax
jne 0x4651af
mov eax, 0x404b4c
test edx, edx
jne 0x4651b8
mov edx, 0x404b4c
push eax
mov eax, dword [esp + 0x2c]
movzx eax, al
neg eax
push edx
sbb eax, eax
and eax, 0x1898
push ecx
add eax, 0x7640
push eax
push dword [edi + 0x1c]
call 0x3cd1ce
add esp, 0x14
mov dword [esp + 0x6f0], 0xffffffff
mov eax, dword [esp + 0x168]
mov dword [esp + 0x164], 0x424634
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x168], 0x42461c
mov eax, dword [esp + 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x120]
mov dword [esp + ecx + 0x164], eax
mov eax, dword [esp + 0x17c]
test eax, eax
je 0x46527d
cmp eax, 1
jne 0x465245
push dword [esp + 0x180]
push 0
push dword [0x65e8d0]
call dword [0x66016c]
jmp 0x465257
cmp eax, 2
jne 0x465257
push dword [esp + 0x180]
call dword [0x660480]
lea eax, [esp + 0x184]
mov dword [esp + 0x180], eax
mov dword [esp + 0x170], 0x100
mov dword [esp + 0x17c], 0
jmp 0x465284
mov eax, dword [esp + 0x180]
xor ecx, ecx
mov dword [esp + 0x16c], 0
mov word [eax], cx
mov dword [esp + 0x288], 0x41b854
jmp 0x464e91
test dl, dl
je 0x464e95
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
cmp dword [ecx + eax*4 - 4], 0
jne 0x464e95
mov dword [ecx + eax*4 - 4], ebx
mov eax, dword [esp + 0x20]
jmp 0x464ea3
xor bl, bl
mov dword [esp + 0x88], 0x41eec8
mov byte [esp + 0x8c], bl
mov dword [esp + 0x90], ecx
mov byte [esp + 0x94], 0
mov dword [esp + 0x88], 0x424afc
mov dword [esp + 0x6f0], 9
lea eax, [esp + 0x50]
push dword [esp + 0xd8]
mov byte [ecx], 0
push dword [esp + 0x9c]
push dword [esp + 0x68]
push dword [esp + 0x64]
push ecx
push dword [esp + 0x98]
mov ecx, edi
push dword [esp + 0x58]
push eax
push esi
push dword [ebp + 0x28]
push dword [esp + 0x64]
push dword [esp + 0xa0]
push dword [esp + 0x84]
push dword [esp + 0x68]
push dword [esp + 0x5c]
call fcn.0042084e
lea ecx, [edi + 0x88]
test ecx, ecx
je 0x465360
mov byte [ecx], bl
mov edx, dword [esp + 0x68]
test al, al
mov byte [esp + 0x94], 1
sete cl
mov byte [edx], cl
test al, al
jne 0x4655b7
lea esi, [edi + 0x88]
mov edx, dword [esp + 0x7c]
cmp byte [esi], al
jne 0x46539b
mov ecx, edx
xor eax, eax
and ecx, 0x200
or eax, ecx
je 0x46551b
test dword [ebp + 0x28], 0x8000
jne 0x46551b
mov eax, dword [esp + 0x34]
xor edi, edi
xor bl, bl
mov esi, dword [eax + 0x54]
test esi, esi
je 0x465506
mov eax, dword [esp + 0x5c]
cmp edi, eax
jae 0x4654e8
mov cl, byte [esi + 0x20]
test cl, 1
jne 0x4654b2
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4653eb
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4653eb
test byte [eax + 2], 1
jne 0x4654ae
test cl, 2
jne 0x4654ae
mov eax, dword [esp + 0x54]
cmp dword [eax + edi*4], 0
jne 0x4654ae
push 1
push 0
push edx
push dword [esp + 0xc8]
call fcn.0040125e
test al, al
jne 0x4654c3
push ecx
lea ecx, [esp + 0x290]
call fcn.0041538e
mov byte [esp + 0x6f0], 0xa
sub esp, 0x10
mov edx, dword [esp + 0x58]
mov ecx, esp
push dword [esp + 0x88]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x80]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x48]
call fcn.004637fe
mov ecx, dword [esp + 0x2c]
push eax
push dword [esi + 8]
push dword [esp + 0x40]
push 0
push 0x8eea
push 0x76f7
push 0x8ed9
push 0
push dword [esp + 0x94]
push dword [esp + 0x90]
call fcn.0046449e
mov bl, 1
mov byte [esp + 0x6f0], 9
lea ecx, [esp + 0x28c]
call 0x3cc30e
mov eax, dword [esp + 0x5c]
mov esi, dword [esi + 4]
inc edi
test esi, esi
je 0x4654e8
mov edx, dword [esp + 0x7c]
jmp 0x4653bf
mov eax, dword [esp + 0x34]
test byte [eax + 0x78], 4
je 0x4654d0
mov eax, dword [eax + 0x5c]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x28]
push 0x7910
call fcn.0042212e
jmp 0x4654ec
test bl, bl
je 0x465506
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x2c]
mov byte [eax], 1
mov eax, dword [esp + 0x20]
mov byte [eax], 1
mov byte [ecx], 0
jmp 0x46550a
mov eax, dword [esp + 0x20]
cmp byte [eax], 0
jne 0x4655a5
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x84]
lea eax, [esp + 0x50]
push 0
push 0
push dword [esp + 0x68]
push dword [esp + 0x64]
push ecx
push ebx
push dword [esp + 0x58]
mov ecx, edi
push eax
lea eax, [esp + 0x13c]
push eax
push dword [ebp + 0x28]
push dword [esp + 0x64]
push dword [esp + 0xa0]
push dword [esp + 0x84]
push dword [esp + 0x68]
push dword [esp + 0x5c]
call fcn.0042084e
cmp byte [esi], 0
je 0x465592
mov ecx, dword [edi + 0x1c]
test ecx, ecx
je 0x465592
call 0x3ce11e
test al, al
jne 0x465592
cmp byte [esi], al
je 0x465592
push dword [esp + 0x24]
push 0x781b
push dword [edi + 0x1c]
call 0x3cd1ce
add esp, 0xc
cmp byte [ebx], 0
jne 0x4655a5
mov eax, dword [esp + 0x20]
mov byte [eax], 1
mov eax, dword [esp + 0x2c]
mov byte [eax], 0
mov dword [esp + 0x6f0], 0xffffffff
xor eax, eax
jmp 0x4669bb
mov cl, byte [esi]
test cl, cl
je 0x4655c3
cmp dword [esi + 4], 0
jmp 0x4655c7
cmp dword [esi + 8], 0
setne al
test al, al
je 0x4656e6
test cl, cl
jne 0x4655e6
mov eax, dword [esi + 8]
test eax, eax
je 0x4655e6
cmp byte [eax], 0x29
je 0x4656e6
mov ecx, esi
xor edi, edi
call 0x3dc09e
test eax, eax
je 0x465605
mov ecx, esi
call 0x3dc09e
mov ebx, dword [esp + 0x18]
mov edi, eax
jmp 0x465685
mov eax, dword [esp + 0x50]
test eax, eax
je 0x465615
mov ebx, dword [esp + 0x18]
mov edi, eax
jmp 0x465685
push 1
mov ecx, esi
call 0x3db8ee
mov esi, dword [eax + 0x58]
test esi, esi
je 0x46567d
mov ebx, dword [esp + 0x24]
mov ecx, ebx
call 0x3d178e
test al, al
je 0x46567d
cmp dword [ebx], 0xfeefed
mov ebx, dword [esp + 0x18]
je 0x465681
mov ecx, dword [ebx + 0x14]
mov eax, esi
shl eax, 4
push eax
call 0x3bcd8e
mov edi, eax
test esi, esi
je 0x465681
mov edx, dword [esp + 0x24]
mov ecx, edi
lea esp, [esp]
mov eax, dword [edx]
lea ecx, [ecx + 0x10]
mov dword [ecx - 0x10], eax
mov eax, dword [edx + 4]
mov dword [ecx - 0xc], eax
mov eax, dword [edx + 8]
mov dword [ecx - 8], eax
mov eax, dword [edx + 0xc]
mov dword [ecx - 4], eax
dec esi
jne 0x46565e
jmp 0x465681
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x48]
cmp byte [ebx + 0x88], 0
je 0x46569e
test edi, edi
jne 0x465699
cmp byte [esp + 0x28], 0
je 0x46569e
mov ecx, dword [ebx + 0x1c]
jmp 0x4656a0
xor ecx, ecx
push dword [ebx + 0x178]
lea eax, [ebx + 0x6c]
push eax
push dword [ebx + 0xc]
push dword [ebx + 0x10]
push ecx
push 0
push 1
mov ecx, esi
call 0x3db8ee
mov edx, edi
mov ecx, eax
call fcn.0043e9be
test al, al
jne 0x4656e2
mov eax, dword [esp + 0x20]
mov byte [eax], 1
mov dword [esp + 0x6f0], 0xffffffff
xor eax, eax
jmp 0x4669bb
mov edi, dword [esp + 0x18]
mov al, byte [esi]
mov dword [esp + 0x3c], 0
test al, al
je 0x465739
lea ecx, [esp + 0xc8]
call dword [0x660330]
mov byte [esp + 0x6f0], 0xb
mov dword [esp + 0xc8], 0x40cc48
mov dword [esp + 0xd4], 0x4262d8
mov byte [esp + 0x6f0], 9
lea eax, [esp + 0xc8]
push 0x651bb0
push eax
call 0x5a4c84
cmp byte [esp + 0x4c], 0
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 0x54]
mov dword [esp + 0x40], esi
je 0x46575a
mov esi, dword [esi + 4]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], 1
test esi, esi
je 0x466949
mov ecx, dword [esi + 0xc]
call 0x3dc91e
mov ebx, eax
mov dword [esp + 0x28], eax
test ebx, ebx
je 0x46579b
movzx eax, byte [ebx]
cmp eax, 3
je 0x465786
cmp eax, 6
jne 0x465797
mov ebx, dword [ebx + 0x50]
jmp 0x465793
mov ecx, ebx
call 0x3dc91e
test eax, eax
je 0x465793
mov ebx, eax
test ebx, ebx
jne 0x465774
mov dword [esp + 0x28], ebx
mov ecx, ebx
mov byte [esp + 0x1f], 0
call 0x3db1de
cmp eax, 0x15
jne 0x4657ec
mov ecx, dword [ebx + 8]
mov byte [esp + 0x1f], 1
call 0x3dc91e
mov ebx, eax
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x4657f7
movzx eax, byte [ebx]
cmp eax, 3
je 0x4657d5
cmp eax, 6
jne 0x4657e6
mov ebx, dword [ebx + 0x50]
jmp 0x4657e2
mov ecx, ebx
call 0x3dc91e
test eax, eax
je 0x4657e2
mov ebx, eax
test ebx, ebx
jne 0x4657c3
mov dword [esp + 0x28], ebx
jmp 0x4657f7
test byte [esi + 0x20], 0x10
je 0x4657f7
mov byte [esp + 0x1f], 1
mov edx, dword [esp + 0x48]
mov esi, ebx
mov ecx, edx
mov dword [esp + 0x38], esi
call 0x3dba1e
test al, al
jne 0x46584a
cmp byte [edx], al
je 0x46581e
cmp dword [edx + 4], 0
jne 0x466861
xor ecx, ecx
jmp 0x465821
mov ecx, dword [edx + 8]
sub esp, 0x10
lea edx, [edi + 0x6c]
mov eax, esp
mov dword [eax + 8], ecx
mov ecx, ebx
mov byte [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0
call fcn.0041f36e
mov esi, eax
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x40]
test byte [edx + 0x20], 1
jne 0x465874
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x465b21
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x465b21
test byte [eax + 2], 1
je 0x465b21
cmp dword [esp + 0xe4], 0
jne 0x465b21
mov ecx, esi
call 0x3db1de
cmp eax, 0x14
je 0x4658be
cmp byte [edi + 0x88], 0
je 0x4658ab
push dword [esp + 0x24]
push 0x7974
push dword [edi + 0x1c]
call 0x3cd1ce
add esp, 0xc
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov byte [ebx], 1
mov byte [eax], 0
jmp 0x466840
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x4659e7
cmp dword [ebx + 0x28], 0
jne 0x4659e7
mov eax, dword [ebx + 0x24]
test byte [eax + 2], 1
jne 0x4659e7
push esi
push eax
mov ecx, edi
call fcn.00463c2e
test al, al
mov al, byte [ebp + 0x3c]
je 0x4659ea
test al, al
jne 0x4659ea
mov bl, byte [esp + 0x1f]
test bl, bl
je 0x46591b
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x24]
cmp word [eax], 0x5c
jne 0x46591b
mov ecx, 0x800
or word [eax + 2], cx
push 0
push 0
lea eax, [esp + 0x3b]
mov byte [esp + 0x26], 0
push eax
lea eax, [esp + 0x74]
mov byte [esp + 0x2b], 0
push eax
push dword [esp + 0x68]
lea eax, [esp + 0x33]
mov dword [esp + 0x7c], 0
push eax
lea eax, [esp + 0x36]
mov byte [esp + 0x4b], 0
push eax
mov eax, dword [esp + 0x90]
mov ecx, edi
push 0
push 0
push 0
push esi
push dword [eax + 0x24]
call fcn.0046d6ce
test byte [eax + 2], 1
jne 0x4659d0
test bl, bl
je 0x4659ca
push dword [esp + 0x2c]
mov ebx, dword [esp + 0x44]
push dword [esp + 0xa8]
push dword [esp + 0xbc]
push dword [esp + 0x64]
push dword [esp + 0xb0]
push dword [esp + 0xcc]
push dword [esp + 0xd8]
push dword [esp + 0xc4]
push dword [esp + 0x40]
push dword [esp + 0x100]
push ecx
push dword [esp + 0xd8]
mov ecx, edi
push dword [esp + 0xe0]
push esi
push ebx
push eax
call fcn.00466cce
test byte [eax + 2], 1
je 0x4659d7
mov ecx, dword [esp + 0x20]
mov byte [ecx], 1
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov dword [ecx + esi*4], eax
jmp 0x466840
mov al, byte [ebp + 0x3c]
cmp byte [ebp + 0x38], 0
jne 0x465597
test al, al
je 0x465a18
test ebx, ebx
je 0x465a18
cmp dword [ebx + 0x28], 0
jne 0x465a18
mov ecx, dword [ebx + 0x24]
test byte [ecx + 2], 1
jne 0x465a18
call fcn.00481a7e
test al, al
jne 0x4668a6
mov ecx, esi
call 0x3dd22e
mov edi, eax
mov esi, ebx
test ebx, ebx
je 0x465a9a
mov ebx, dword [esp + 0x40]
lea ecx, [ecx]
push 0
push dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
push dword [esp + 0xac]
push dword [esp + 0xc0]
push dword [esp + 0x68]
push dword [esp + 0xb4]
push dword [esp + 0xd0]
push dword [esp + 0xdc]
push dword [esp + 0xc8]
push dword [esp + 0x44]
push dword [esp + 0xd4]
push dword [esp + 0xdc]
push dword [esp + 0xac]
push dword [esp + 0xf0]
push edi
push ebx
push dword [esi + 0x24]
call fcn.00463a2e
mov dword [esi + 0x24], eax
mov esi, dword [esi + 0x28]
test esi, esi
jne 0x465a2e
cmp byte [esp + 0x9c], 0
jne 0x46683c
mov ebx, dword [esp + 0x20]
cmp byte [ebx], 0
jne 0x46683c
mov edx, dword [esp + 0x74]
lea eax, [edx + 4]
test edx, edx
jne 0x465ac4
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
push 0
push eax
push 0
push ecx
push edx
mov ecx, edi
call fcn.0045b33e
mov esi, eax
test byte [esi + 2], 1
jne 0x465b0e
cmp byte [esp + 0x1f], 0
je 0x465b08
cmp word [esi], 0x63
mov ecx, edi
push 1
jne 0x465b00
push dword [esi + 0x28]
call fcn.0046ae1e
mov dword [esi + 0x28], eax
jmp 0x465b08
push esi
call fcn.0046ae1e
mov esi, eax
test byte [esi + 2], 1
je 0x465b11
mov byte [ebx], 1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov dword [ecx + eax*4], esi
jmp 0x466844
cmp byte [esp + 0x73], 0
mov byte [esp + 0x1e], 0
je 0x465b62
mov eax, dword [edx + 0x10]
test eax, eax
je 0x465b45
mov eax, dword [eax + 0xc]
test eax, eax
je 0x465b45
mov al, byte [eax + 3]
shr al, 6
and al, 1
jne 0x465b62
mov ecx, esi
call 0x3db1de
cmp eax, 0x11
jne 0x465b62
cmp byte [esp + 0x1f], 0
jne 0x465b62
mov byte [esp + 0x1f], 1
mov byte [esp + 0x1e], 1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov edi, dword [ecx + eax*4]
test edi, edi
je 0x465ca5
mov esi, dword [edi + 0x24]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x98], 0
test byte [esi + 2], 1
jne 0x465c8b
mov ecx, ebx
call fcn.00481b8e
test al, al
je 0x465bc3
mov eax, dword [esp + 0x44]
cmp byte [eax], 0
je 0x465bb9
mov eax, dword [esp + 0x18]
lea edx, [esi + 4]
mov ecx, ebx
push dword [eax + 0x1c]
push dword [eax + 0xc]
call fcn.00421b1e
or word [esi + 2], 1
jmp 0x465c71
cmp byte [esp + 0x1e], 0
je 0x465bff
mov edx, dword [esi + 0x1c]
mov ecx, ebx
push 0
push 0
push 0
call fcn.0048281e
test al, al
jne 0x465c71
cmp word [esi], 0x5c
jne 0x465bf1
mov eax, 0x800
or word [esi + 2], ax
mov ecx, dword [esp + 0x18]
push 0
push esi
call fcn.0046ad3e
jmp 0x465c6f
cmp byte [esp + 0x1f], 0
jne 0x465c71
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x30]
push dword [esp + 0xac]
push dword [esp + 0xc0]
push dword [esp + 0x68]
push dword [esp + 0xb4]
push dword [esp + 0xd0]
push dword [esp + 0xdc]
push dword [esp + 0xc8]
push dword [esp + 0x44]
push dword [esp + 0xd4]
push dword [esp + 0xdc]
push dword [esp + 0xac]
push dword [esp + 0xf0]
push ebx
push dword [esp + 0x7c]
push esi
call fcn.00463a2e
mov esi, eax
mov eax, dword [esp + 0x98]
test eax, eax
je 0x465c8b
mov ecx, dword [esp + 0xd8]
mov edx, edi
push eax
call fcn.004cb7be
mov edi, dword [esp + 0x18]
test byte [esi + 2], 1
je 0x4666a7
mov ebx, dword [esp + 0x20]
mov byte [ebx], 1
jmp 0x46671c
mov edi, dword [esp + 0x40]
test byte [edi + 0x20], 2
je 0x466743
test byte [ebp + 0x28], 1
jne 0x466743
mov eax, dword [esp + 0xe0]
mov ecx, esi
mov byte [eax], 1
call fcn.00481b8e
test al, al
je 0x465d41
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x18]
cmp byte [eax], 0
je 0x465cf0
push dword [edi + 0x1c]
mov edx, dword [esp + 0x28]
mov ecx, esi
push dword [edi + 0xc]
call fcn.00421b1e
push 0x2c
lea ecx, [edi + 0x24]
call fcn.0053ac3e
mov ecx, dword [esp + 0x24]
mov esi, eax
mov eax, 0x2c
mov word [esi], ax
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0xc]
mov ecx, 0x65e308
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0x65e308
call 0x3db1de
mov dword [esi + 0x14], eax
or word [esi + 2], 1
mov ebx, dword [esp + 0x38]
jmp 0x465c8f
mov ecx, esi
call 0x3e941e
test al, al
je 0x46605c
cmp byte [edi], 0xf
je 0x46605c
test byte [edi + 0x20], 4
je 0x465dce
mov ecx, dword [esp + 0x18]
test esi, esi
jne 0x465d87
push dword [esp + 0x24]
push 0x65e308
push 0x2c
call fcn.0042861e
mov edi, dword [esp + 0x18]
mov esi, eax
or word [esi + 2], 1
jmp 0x466046
push 0x24
lea ecx, [ecx + 0x24]
call fcn.0053ac3e
mov ecx, dword [esp + 0x24]
mov esi, eax
mov eax, 0x54
mov word [esi], ax
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], ecx
call 0x3db1de
mov edi, dword [esp + 0x18]
mov dword [esi + 0x14], eax
jmp 0x466046
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x18]
test eax, eax
je 0x465e1f
mov eax, dword [eax + 0xc]
test eax, eax
je 0x465e1f
test byte [eax + 2], 8
je 0x465e1f
mov ecx, dword [edi + 0x210]
mov eax, dword [ecx]
push dword [eax + 0x10]
lea eax, [ecx + 0x4c8]
push eax
lea ecx, [esp + 0x10c]
call fcn.00402cde
cmp dword [esp + 0x104], 1
jne 0x465e1f
mov ecx, dword [esp + 0x108]
call 0x3da59e
cmp eax, 6
je 0x465e84
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x466039
mov eax, dword [eax + 0xc]
test eax, eax
je 0x466039
test byte [eax + 2], 0x10
je 0x466039
mov ecx, dword [edi + 0x210]
mov eax, dword [ecx]
push dword [eax + 0x10]
lea eax, [ecx + 0x4dc]
push eax
lea ecx, [esp + 0x114]
call fcn.00402cde
cmp dword [esp + 0x10c], 1
jne 0x466039
mov ecx, dword [esp + 0x110]
call 0x3da59e
cmp eax, 6
jne 0x466039
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x465ed1
mov eax, dword [eax + 0xc]
test eax, eax
je 0x465ed1
test byte [eax + 2], 8
je 0x465ed1
mov ecx, dword [edi + 0x210]
mov eax, dword [ecx]
push dword [eax + 0x10]
lea eax, [ecx + 0x4c8]
push eax
lea ecx, [esp + 0x11c]
call fcn.00402cde
mov edi, dword [esp + 0x114]
dec edi
neg edi
sbb edi, edi
not edi
and edi, dword [esp + 0x118]
jmp 0x465f04
mov ecx, dword [edi + 0x210]
mov eax, dword [ecx]
push dword [eax + 0x10]
lea eax, [ecx + 0x4dc]
push eax
lea ecx, [esp + 0xd0]
call fcn.00402cde
mov edi, dword [esp + 0xc8]
dec edi
neg edi
sbb edi, edi
not edi
and edi, dword [esp + 0xcc]
mov esi, dword [esp + 0x18]
push 7
mov ecx, dword [esi + 0x210]
call fcn.0040300e
mov ebx, eax
test ebx, ebx
jne 0x465f36
push dword [esp + 0x24]
mov ecx, esi
push 0x65e308
push 0x2c
call fcn.0042861e
mov esi, eax
or word [esi + 2], 1
jmp 0x465f72
push 0x24
lea ecx, [esi + 0x24]
call fcn.0053ac3e
mov ecx, dword [esp + 0x24]
mov esi, eax
mov eax, 0x54
mov word [esi], ax
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0xc]
mov ecx, ebx
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], ebx
call 0x3db1de
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0x18]
add ecx, 0x24
push 0x30
call fcn.0053ac3e
mov ebx, eax
mov eax, 0x27
mov word [ebx], ax
test esi, esi
je 0x465f9d
mov cx, word [esi + 2]
and cx, 1
mov dword [ebx + 0x24], esi
or word [ebx + 2], cx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 8], eax
mov eax, dword [ecx + 8]
mov dword [ebx + 0xc], eax
mov eax, dword [ecx + 0xc]
mov ecx, 0x65e308
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x1c], 0x65e308
call 0x3db1de
mov ecx, dword [esp + 0x18]
push 0x2c
mov dword [ebx + 0x14], eax
lea ecx, [ecx + 0x24]
call fcn.0053ac3e
mov esi, eax
mov eax, 0x4f
mov word [esi], ax
mov cx, word [ebx + 2]
mov dword [esi + 0x24], ebx
and cx, 1
mov ebx, dword [esp + 0x24]
or word [esi + 2], cx
mov ecx, 0x65e308
mov eax, dword [ebx]
mov dword [esi + 4], eax
mov eax, dword [ebx + 4]
mov dword [esi + 8], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0x65e308
call 0x3db1de
push 0
push 0
push 0
push esi
push ebx
push ebx
push edi
mov edi, dword [esp + 0x34]
mov ecx, edi
mov dword [esi + 0x14], eax
call fcn.0045a4ae
jmp 0x466044
push dword [esp + 0x24]
mov ecx, edi
call fcn.0046766e
mov esi, eax
test byte [esi + 2], 1
je 0x465d38
mov eax, dword [esp + 0x20]
mov byte [eax], 1
jmp 0x466840
cmp byte [edi], 0xf
mov dword [esp + 0x64], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
jne 0x466580
test byte [edi + 0x20], 8
je 0x4660c8
mov edi, dword [esp + 0x18]
mov dword [esp + 0x4c], 8
mov dword [esp + 0x50], 0
test byte [edi + 0x84], 0x40
je 0x4660bb
mov dword [esp + 0x64], 1
jmp 0x4665bb
mov dword [esp + 0x64], 0
jmp 0x4665bb
push dword [edi + 0x14]
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0xf0]
push dword [esp + 0x28]
mov ecx, esi
push eax
call fcn.0046346e
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x80], ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x150], eax
mov eax, dword [esi]
mov dword [esp + 0x4c], ecx
mov ecx, esi
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x466569
lea ecx, [esp + 0xec]
call 0x3f696e
xor dh, dh
xor dl, dl
cmp dword [esi + 0x120], 0
mov byte [esp + 0x17], dl
mov byte [esp + 0x1e], dh
mov byte [esp + 0x33], dh
je 0x4662af
mov esi, dword [edi + 0x10]
test esi, esi
je 0x4662ab
mov eax, dword [esi + 8]
movzx eax, byte [eax]
test byte [eax + eax*2 + 0x405210], 0x40
je 0x4662ab
mov eax, dword [esi + 8]
test byte [eax + 0x79], 4
je 0x4662ab
mov ecx, eax
call 0x3e9d0e
test eax, eax
je 0x4662a3
mov ecx, dword [esi + 8]
call 0x3e9d0e
mov ecx, eax
call 0x3c4c8e
test al, al
je 0x4662a3
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 8]
call 0x3e9d0e
mov ecx, eax
call 0x3c4cce
test byte [eax + 0x60], 0x40
jne 0x4662a3
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4662a3
mov eax, dword [eax]
mov dword [esp + 0x68], eax
test eax, eax
je 0x4662a3
mov ebx, eax
lea esp, [esp]
mov edi, dword [ebx + 4]
mov dword [esp + 0x68], edi
test edi, edi
je 0x466286
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x466286
call 0x3c4c8e
test al, al
je 0x466286
mov ecx, dword [edi + 8]
call 0x3c4cce
mov ecx, dword [edi + 8]
mov esi, dword [eax + 4]
call 0x3c4cce
mov ecx, dword [esp + 0x68]
push esi
mov edi, dword [eax + 0xc]
mov ecx, dword [ecx + 8]
call 0x3c4cce
mov ecx, eax
call 0x3e28ae
mov edx, edi
mov ecx, eax
call fcn.0042919e
mov esi, eax
push esi
push 0x41d6b0
call 0x5a0667
test eax, eax
jne 0x466251
mov dl, 1
mov byte [esp + 0x17], dl
jmp 0x46628a
push esi
push 0x41d728
call 0x5a0667
test eax, eax
jne 0x46626c
mov dl, byte [esp + 0x17]
mov dh, 1
mov byte [esp + 0x1e], dh
jmp 0x46628e
push esi
push 0x41d640
call 0x5a0667
mov dl, byte [esp + 0x17]
test eax, eax
jne 0x46628a
mov byte [esp + 0x33], 1
jmp 0x46628a
mov dl, byte [esp + 0x17]
mov dh, byte [esp + 0x1e]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x4661de
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
jmp 0x4662ab
mov dh, byte [esp + 0x1e]
mov dl, byte [esp + 0x17]
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4662cd
cmp dword [eax + 0xc], 0
je 0x4662cd
test eax, eax
je 0x4662cd
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4662cd
test byte [ecx + 8], 0x10
jne 0x4662d1
test dl, dl
je 0x4662f9
mov ecx, dword [esp + 0xe8]
test ecx, ecx
je 0x4662f9
cmp dword [ecx], 0xfeefed
je 0x466569
mov eax, dword [ecx + 4]
mov edi, 8
inc eax
cdq
mov esi, edx
jmp 0x466482
test eax, eax
je 0x466314
cmp dword [eax + 0xc], 0
je 0x466314
test eax, eax
je 0x466314
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x466314
test byte [ecx + 8], 0x40
jne 0x46631c
test dh, dh
je 0x466414
mov eax, dword [esi + 0x208]
test eax, eax
je 0x46634b
mov eax, dword [eax + 4]
mov esi, eax
mov dword [esp + 0x28], eax
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x466332
sub esi, ecx
mov edi, 0x11
sar esi, 1
jmp 0x466486
mov edx, dword [esi + 0x120]
test edx, edx
je 0x4663b9
movzx eax, byte [edx]
mov al, byte [eax + eax*2 + 0x405210]
test al, 8
jne 0x4663b9
and al, 0x40
movzx ecx, al
neg ecx
sbb ecx, ecx
and ecx, edx
je 0x466394
test byte [ecx + 0x78], 6
je 0x466382
mov eax, dword [ecx + 0x5c]
test eax, eax
je 0x466382
mov eax, dword [eax + 4]
jmp 0x466397
test byte [ecx + 0x7a], 0x10
je 0x466394
mov eax, dword [ecx + 0x34]
test eax, eax
je 0x466394
mov eax, dword [eax + 4]
jmp 0x466397
mov eax, dword [edx + 4]
mov esi, eax
mov dword [esp + 0x28], eax
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4663a0
sub esi, ecx
mov edi, 0x11
sar esi, 1
jmp 0x466486
mov ecx, dword [esi + 0x14c]
test ecx, ecx
je 0x466464
test byte [ecx + 0x78], 6
je 0x4663d9
mov eax, dword [ecx + 0x5c]
test eax, eax
je 0x4663d9
mov eax, dword [eax + 4]
jmp 0x4663ee
test byte [ecx + 0x7a], 0x10
je 0x4663eb
mov eax, dword [ecx + 0x34]
test eax, eax
je 0x4663eb
mov eax, dword [eax + 4]
jmp 0x4663ee
mov eax, dword [ecx + 4]
mov esi, eax
mov dword [esp + 0x28], eax
lea ecx, [esi + 2]
lea esp, [esp]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4663fe
sub esi, ecx
mov edi, 0x11
sar esi, 1
jmp 0x466486
test eax, eax
je 0x46642f
cmp dword [eax + 0xc], 0
je 0x46642f
test eax, eax
je 0x46642f
mov eax, dword [eax + 0xc]
test eax, eax
je 0x46642f
test byte [eax + 8], 0x20
jne 0x466436
cmp byte [esp + 0x33], 0
je 0x466464
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x466464
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x28], eax
test eax, eax
je 0x466464
mov esi, eax
lea ecx, [esi + 2]
nop
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x46644e
sub esi, ecx
mov edi, 0x11
sar esi, 1
jmp 0x466486
mov edi, dword [esp + 0xfc]
cmp edi, 2
je 0x466569
mov esi, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
mov dword [esp + 0x28], eax
push dword [esp + 0x44]
lea ecx, [esp + 0x158]
call fcn.0042749e
mov byte [esp + 0x6f0], 0xd
mov eax, dword [esp + 0x44]
mov byte [eax], 0
test edi, edi
js 0x4664bd
mov eax, dword [esp + 0x18]
push edi
mov ecx, dword [eax + 0x210]
call 0x3e93ce
mov edx, eax
jmp 0x4664bf
xor edx, edx
mov ecx, dword [esp + 0x28]
sub esp, 0x18
mov eax, esp
push edx
push dword [esp + 0x40]
mov dword [eax], ecx
mov ecx, dword [esp + 0x114]
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x118]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x120]
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x38]
call fcn.004705ae
mov ecx, dword [esp + 0x38]
push 1
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [esp + 0x30]
push eax
call fcn.0046cb9e
test byte [eax + 2], 1
jne 0x466555
mov eax, dword [esp + 0x28]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x150], eax
mov byte [esp + 0x6f0], 9
lea ecx, [esp + 0x154]
call fcn.004192fe
cmp dword [esp + 0x4c], 2
mov edi, dword [esp + 0x18]
jne 0x4665b7
mov eax, dword [esp + 0x20]
mov byte [eax], 1
jmp 0x466840
mov ecx, esi
call 0x3db1de
cmp eax, 0x13
je 0x4665a9
mov ecx, esi
call 0x3db1de
cmp eax, 0x16
je 0x4665a9
mov ecx, esi
call 0x3db1de
mov edi, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
jmp 0x4665bb
mov edi, dword [esp + 0x18]
mov dword [esp + 0x4c], 0x12
jmp 0x4665bb
mov esi, dword [esp + 0x38]
mov ecx, ebx
call 0x3db1de
cmp eax, 0x16
jne 0x4665d8
mov ecx, dword [edi + 0x210]
push 7
call fcn.0040300e
mov edx, eax
jmp 0x466646
mov ecx, esi
call 0x3db1de
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jne 0x4665eb
mov edx, esi
jmp 0x466646
cmp ecx, 0x12
jne 0x466630
mov ecx, esi
call 0x3db1de
cmp eax, 0x11
je 0x4665e7
mov ecx, esi
call 0x3db1de
cmp eax, 0x14
je 0x4665e7
mov ecx, esi
call fcn.00482e0e
test al, al
jne 0x4665e7
mov ecx, esi
call 0x3db1de
cmp eax, 0x13
je 0x4665e7
mov ecx, dword [edi + 0x210]
push 7
call fcn.0040300e
mov edx, eax
jmp 0x466646
test ecx, ecx
js 0x466644
push ecx
mov ecx, dword [edi + 0x210]
call 0x3e93ce
mov edx, eax
jmp 0x466646
xor edx, edx
mov eax, dword [esp + 0x64]
sub esp, 0x18
mov ecx, esp
push edx
push dword [esp + 0x40]
mov dword [ecx], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x170]
mov dword [ecx + 0x14], eax
mov ecx, edi
call fcn.004705ae
push 0
push 0
push 0
push 0
push 0
push esi
push eax
mov ecx, edi
call fcn.0046cb9e
mov ebx, dword [esp + 0x38]
mov esi, eax
jmp 0x465c8f
cmp byte [esp + 0x1f], 0
je 0x466718
cmp word [esi], 0x5c
jne 0x4666bd
mov eax, 0x800
or word [esi + 2], ax
push dword [esp + 0x2c]
push dword [esp + 0xa8]
push dword [esp + 0xbc]
push dword [esp + 0x64]
push dword [esp + 0xb0]
push dword [esp + 0xcc]
push dword [esp + 0xd8]
push dword [esp + 0xc4]
push dword [esp + 0x40]
push dword [esp + 0x100]
push ecx
push dword [esp + 0xd8]
mov ecx, edi
push dword [esp + 0xe0]
push ebx
push dword [esp + 0x78]
push esi
call fcn.00466cce
mov esi, eax
mov ebx, dword [esp + 0x20]
cmp byte [esp + 0x9c], 0
je 0x465b11
cmp byte [ebx], 0
jne 0x4655a5
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov dword [ecx + eax*4], esi
jmp 0x466844
mov ebx, dword [ebp + 0x28]
test bl, 1
jne 0x466900
push 1
push 0
push dword [esp + 0x84]
push dword [esp + 0xc8]
call fcn.0040125e
test al, al
jne 0x4668d2
mov eax, dword [esp + 0x44]
cmp byte [eax], 0
je 0x46681e
mov eax, ebx
shr eax, 0xf
and eax, 1
jne 0x46681e
push ecx
lea ecx, [esp + 0x290]
call fcn.0041538e
mov byte [esp + 0x6f0], 0xe
sub esp, 0x10
mov edx, dword [esp + 0x58]
mov ecx, esp
push dword [esp + 0x88]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x80]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x48]
call fcn.004637fe
push eax
push dword [edi + 8]
mov edi, dword [esp + 0x34]
mov ecx, edi
push dword [esp + 0x40]
push 0
push 0x8eea
push 0x76f7
push 0x8ed9
push 0
push dword [esp + 0x94]
push dword [esp + 0x90]
call fcn.0046449e
mov byte [esp + 0x6f0], 9
lea ecx, [esp + 0x28c]
call 0x3cc30e
jmp 0x466822
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov byte [eax], 1
mov eax, dword [esp + 0xc4]
mov byte [eax], 1
mov eax, dword [esp + 0x2c]
mov byte [eax], 0
jmp 0x466840
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
inc eax
mov dword [esp + 0x3c], eax
mov esi, dword [esi + 4]
mov dword [esp + 0x40], esi
test esi, esi
jne 0x465762
jmp 0x466949
lea ecx, [esp + 0x12c]
call dword [0x660330]
mov byte [esp + 0x6f0], 0xc
mov dword [esp + 0x12c], 0x40cc48
mov dword [esp + 0x138], 0x41c0ec
mov byte [esp + 0x6f0], 9
lea eax, [esp + 0x12c]
push 0x651bb0
push eax
call 0x5a4c84
mov eax, dword [esp + 0x20]
mov byte [eax], 1
mov eax, dword [esp + 0x2c]
mov byte [eax], 0
mov dword [esp + 0x6f0], 0xffffffff
lea ecx, [esp + 0x88]
call fcn.004192fe
xor eax, eax
jmp 0x4669c6
mov eax, dword [esp + 0x34]
test byte [eax + 0x78], 4
je 0x4668df
mov eax, dword [eax + 0x5c]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 4]
cmp byte [ecx], 0
je 0x46693b
test eax, eax
jne 0x4668f4
mov eax, 0x404b4c
push eax
push dword [esp + 0x28]
push 0x7910
jmp 0x46692c
mov eax, dword [esp + 0x34]
test byte [eax + 0x78], 4
je 0x46690d
mov eax, dword [eax + 0x5c]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 4]
cmp byte [ecx], 0
je 0x46693b
test eax, eax
jne 0x466922
mov eax, 0x404b4c
push eax
push dword [esp + 0x28]
push 0x7734
mov eax, dword [esp + 0x24]
push dword [eax + 0x1c]
call 0x3cd1ce
add esp, 0x10
mov eax, dword [esp + 0x20]
mov byte [eax], 1
mov eax, dword [esp + 0x2c]
mov byte [eax], 0
cmp byte [esp + 0x9c], 0
jne 0x4655a5
mov ebx, dword [esp + 0x5c]
xor ecx, ecx
mov edi, dword [esp + 0x54]
lea eax, [ebx - 1]
lea eax, [edi + eax*4]
lea esp, [esp]
test ebx, ebx
je 0x46697c
mov ecx, dword [eax]
dec ebx
sub eax, 4
test ecx, ecx
je 0x46696e
xor edx, edx
test ecx, ecx
je 0x4669ae
lea esi, [ecx + 4]
mov eax, dword [edi + ebx*4]
lea ecx, [eax + 4]
test eax, eax
jne 0x466992
lea ecx, [edx + 4]
push esi
push ecx
push edx
push eax
push 0x65e308
push ecx
mov ecx, dword [esp + 0x30]
call fcn.0047312e
mov ecx, ebx
mov edx, eax
dec ebx
test ecx, ecx
jne 0x466985
mov dword [esp + 0x6f0], 0xffffffff
mov eax, edx
mov dword [esp + 0x88], 0x424afc
mov ecx, dword [esp + 0x6e8]
mov dword fs:[0], ecx
pop ecx
pop edi