Function at 0x598470
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 0x5995eb
sub esp, 0x110
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea eax, [0x666120]
mov dword [esp], eax
call fcn.00409c30
mov edi, dword [esp + 4]
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x5995a7
mov eax, dword [esp + 0x118]
mov dword [edi], eax
mov dword [esp + 0xcc], edi
mov eax, dword [0x9da3b8]
test eax, eax
jne 0x59955e
mov eax, dword [edi]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x5993e5
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call fcn.005974e0
lea esi, [esp + 4]
lea edi, [esp + 0xfc]
call fcn.0044ce9e
lea eax, [0x61afe0]
mov dword [esp], eax
call fcn.00409c30
mov eax, dword [esp + 4]
mov dword [esp + 0xc4], eax
lea ecx, [0x658240]
mov dword [esp], ecx
call fcn.00409c30
mov eax, dword [esp + 4]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0xcc]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.00599600
mov eax, dword [esp + 8]
mov dword [esp + 0x94], eax
lea ecx, [0x629ea0]
mov dword [esp], ecx
call fcn.00409c30
mov eax, dword [esp + 4]
mov dword [esp + 0xc8], eax
lea ecx, [0x6495c0]
mov dword [esp], ecx
call fcn.00409c30
mov eax, dword [esp + 4]
lea ecx, [0x5c55a0]
mov dword [eax], ecx
mov ecx, dword [0x9ec0a0]
test ecx, ecx
jne 0x59938d
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xcc]
mov dword [eax + 8], edx
mov ebx, dword [esp + 0xc0]
mov dword [eax + 0xc], ebx
mov ebp, dword [esp + 0xc4]
mov dword [eax + 0x10], ebp
mov dword [esp + 0xbc], eax
lea edi, [esp + 8]
mov dword [esp + 0xb8], edi
xor esi, esi
xor esi, esi
mov dword [esp + 0x78], esi
xor esi, esi
xchg esi, eax
mov byte [esp + 0x2e], al
xchg esi, eax
xor esi, esi
jmp 0x598635
mov edx, esi
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xb8]
mov esi, eax
mov dword [esp + 0x78], ecx
mov byte [esp + 0x2e], bl
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xc0]
mov ecx, dword [ebp + 4]
test ecx, ecx
jg 0x598a0c
mov ecx, dword [ebp]
mov dword [esp + 0xb4], ecx
mov esi, ebx
mov ebx, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [ebx + 1]
mov edx, dword [edx]
mov dword [esp + 0xb0], edx
cmp ecx, ebp
ja 0x598999
mov ecx, dword [esp + 0xb4]
lea ebp, [ebx + 1]
mov edx, dword [esp + 0xc4]
mov dword [edx + 4], ebp
mov ebp, dword [0x9ec0a0]
lea edx, [ecx + ebx*4]
test ebp, ebp
jne 0x598982
mov edx, dword [esp + 0xb0]
mov dword [ecx + ebx*4], edx
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea esi, [esp + 0xfc]
call fcn.0044ce9e
call fcn.00597370
mov eax, dword [0x9ec0a0]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
test eax, eax
jne 0x59896d
mov eax, dword [esp + 0xc0]
mov dword [eax], ecx
test ebp, ebp
jne 0x5987ba
mov edx, dword [esp + 0xcc]
mov ebx, dword [edx]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
mov esi, dword [esp + 0xc4]
mov edi, dword [esi + 4]
mov eax, dword [esi]
test edi, edi
jbe 0x5995b8
mov eax, dword [eax]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00598310
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x18]
movzx ebx, byte [esp + 0x19]
test dl, dl
je 0x598787
mov edx, dword [esp + 0xcc]
mov ebp, dword [edx]
nop
mov esi, edx
mov edx, dword [ebp + 0x24]
mov ebp, dword [ebp + 0x20]
test ebp, ebp
je 0x598606
mov dword [esp + 0x44], eax
mov dword [esp + 0xac], ecx
mov byte [esp + 0x2f], bl
mov eax, dword [ebp + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xac]
movzx ebx, byte [esp + 0x2f]
mov esi, dword [esp + 0xcc]
jmp 0x598606
mov eax, dword [esp + 0xc0]
mov eax, dword [eax]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
nop
call fcn.00427960
add esp, 0x110
ret
mov eax, dword [esp + 0xc8]
mov byte [eax], 1
lea edi, [esp + 0xe8]
lea esi, [esp + 0xfc]
call fcn.0044ce9e
nop
nop
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov esi, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x598956
mov ecx, eax
shr eax, 0x1f
shl esi, 1
or esi, eax
mov eax, esi
shl esi, 1
mov edi, ecx
shl ecx, 1
shr ecx, 0x1f
or ecx, esi
mov esi, ecx
add ecx, 0xd7b17f80
shr eax, 0x1f
add esi, 0xd7b17f80
adc eax, 0xd
test eax, eax
sete al
test ecx, ecx
sete cl
and ecx, eax
test cl, cl
je 0x59894f
test edi, 0x3fffffff
sete al
nop
test al, al
je 0x598883
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
nop
call fcn.00427960
add esp, 0x110
ret
mov dword [esp + 0x90], ebx
mov dword [esp + 0x50], ebp
mov eax, dword [edx]
call eax
movzx eax, byte [esp]
test al, al
jne 0x5988a7
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x50]
jmp 0x598843
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0xac], ecx
lea edx, [0x63ed80]
mov dword [esp], edx
call fcn.00409c30
mov eax, dword [esp + 4]
mov dword [esp + 0xa8], eax
mov dword [esp], 0
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
lea ecx, [0x681188]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x31
call fcn.0043bda0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0xa8]
mov dword [edi + 4], eax
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x598946
mov dword [edi], ecx
mov byte [edi + 8], 1
mov ebx, edi
lea ebp, [0x6dbf90]
jmp 0x598843
mov eax, ecx
call fcn.0044c8c0
jmp 0x598935
xor eax, eax
jmp 0x59883f
mov esi, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
mov edi, eax
mov eax, esi
jmp 0x598821
mov edi, dword [esp + 0xc0]
mov eax, ecx
call fcn.0044c8c0
mov eax, edi
jmp 0x5986e4
mov ecx, edi
mov edi, edx
mov eax, dword [esp + 0xb0]
call fcn.0044c8c0
mov edi, ecx
jmp 0x598695
lea eax, [0x666120]
mov dword [esp], eax
mov edx, dword [esp + 0xb4]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xc4]
mov dword [edi + 8], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x598a05
mov dword [edi], eax
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xb8]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0xbc]
jmp 0x59866d
call fcn.0044c8c0
jmp 0x5989e0
mov dword [esp + 0x58], esi
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
nop
mov dword [esp], eax
lea eax, [0x670a8c]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.00581fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x599269
mov dword [esp + 0x80], eax
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xcc]
mov ebx, dword [edx]
mov ebx, dword [ebx + 8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00521a50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jne 0x599107
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax]
mov ebx, dword [ecx + 0x48]
mov ebp, dword [ecx + 0x44]
test ebx, ebx
je 0x5990fe
mov ecx, dword [ecx + 8]
mov esi, dword [ecx + 0x14]
cmp dword [ecx + 0x18], ebx
je 0x5990d8
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.0051f4b0
mov eax, dword [esp + 8]
test eax, eax
je 0x5990cf
nop
mov eax, dword [eax + 4]
test eax, eax
je 0x5990bb
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0xc4]
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
test ebx, ebx
jbe 0x5995e4
mov dword [esp + 0x88], ecx
mov dword [esp + 0x4c], eax
mov eax, dword [ebp]
mov dword [esp + 0x84], eax
call fcn.0040a710
mov eax, dword [esp]
mov dword [esp + 0xa4], eax
lea ecx, [0x662060]
mov dword [esp], ecx
call fcn.00409c30
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x58]
mov dword [edi + 4], eax
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x5990ad
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx]
mov ebx, dword [0x9ec0a0]
test ebx, ebx
jne 0x59907f
mov dword [edi + 0x74], eax
mov ebx, dword [esp + 0x6c]
mov dword [edi + 8], ebx
mov ebx, dword [esp + 0xa4]
mov dword [edi + 0x1c], ebx
mov ebx, dword [esp + 0x4c]
mov dword [edi + 0x48], ebx
mov ebx, dword [0x9ec0a0]
test ebx, ebx
jne 0x599063
mov ebx, dword [esp + 0x88]
mov dword [edi + 0x44], ebx
mov ebx, dword [esp + 0x84]
mov eax, dword [ebx + 0x70]
mov ebp, dword [0x9ec0a0]
test ebp, ebp
jne 0x599050
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x7c]
mov ebp, dword [ebx + 0x78]
mov dword [edi + 0x78], ebp
mov ebp, dword [0x9ec0a0]
test ebp, ebp
jne 0x59902f
mov dword [edi + 0x7c], eax
mov eax, dword [esp + 0xcc]
mov dword [eax], edi
movzx ebp, byte [esp + 0x2e]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x598bdb
mov edx, dword [ebx + 0x28]
test edx, edx
jne 0x598f56
mov ecx, dword [eax]
mov dword [esp], ecx
mov edx, dword [esp + 0x94]
mov ecx, dword [edx]
call ecx
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [ecx - 1]
cmp ebp, ecx
jae 0x5995dd
mov eax, dword [ebx + ecx*4 - 4]
mov ecx, dword [esp + 0xcc]
mov edx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [edx + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00597260
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x598e6e
nop
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
mov edi, dword [ebx]
mov eax, dword [esp + 0x114]
mov eax, dword [eax + 8]
test eax, eax
je 0x598e63
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov ecx, dword [eax]
mov edx, eax
call ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
cmp dword [0x9daa98], ecx
je 0x598e04
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx]
mov ebp, dword [ebx + 0x2c]
cmp ebp, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, dword [ebx + 0x28]
cmp edi, 0xffffffff
sete al
and eax, esi
test al, al
je 0x598dd8
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x20]
lea edx, [0x634360]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00407800
mov eax, dword [0x9b4244]
mov ecx, dword [0x9b4240]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0x800
mov dword [esp + 0x14], 0
call fcn.00452a80
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov edx, dword [edx + 0x10]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x598d51
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xb8]
jmp 0x598640
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
lea ebx, [0x6dc010]
cmp ecx, ebx
jne 0x5995bf
mov edx, dword [esp + 0x48]
mov dword [eax + 0xc], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x598dc3
mov edx, dword [esp + 0x80]
mov dword [eax + 8], edx
mov edx, dword [esp + 0xc0]
mov edx, dword [edx]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
nop
call fcn.00427960
add esp, 0x110
ret
lea edi, [eax + 8]
mov edx, eax
mov eax, dword [esp + 0x80]
call fcn.0044c8c0
mov eax, edx
jmp 0x598d98
test ebp, ebp
sete al
xchg ebp, ebx
setl bl
xchg ebp, ebx
cmp edi, 0x800
xchg esi, ebx
setbe bl
xchg esi, ebx
and esi, eax
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x598cb6
jmp 0x598d0a
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [0x9daa9c]
mov dword [esp + 8], edx
call fcn.004031a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x598e30
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
jmp 0x598c8d
mov eax, dword [esp + 0xc0]
mov eax, dword [eax]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
nop
call fcn.00427960
add esp, 0x110
ret
lea eax, [0x695800]
jmp 0x598c5c
mov dword [esp + 0x38], eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0xa4], ecx
nop
nop
lea edx, [0x66fb9e]
mov dword [esp], edx
mov dword [esp + 4], 7
call fcn.00583210
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xa0], ecx
lea edx, [0x622ea0]
mov dword [esp], edx
call fcn.00409c30
mov edi, dword [esp + 4]
mov dword [esp + 0x9c], edi
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x598f4b
mov eax, dword [esp + 0x68]
mov dword [edi], eax
lea eax, [0x6527e0]
mov dword [esp], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xc], ecx
call fcn.0040ead0
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x598f3a
mov eax, dword [esp + 0x9c]
mov dword [edi], eax
jmp 0x598c31
mov eax, dword [esp + 0x9c]
call fcn.0044c8c0
jmp 0x598c31
mov eax, dword [esp + 0x68]
call fcn.0044c8c0
jmp 0x598ee4
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax]
mov ebx, dword [esp]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov edi, dword [esp + 4]
mov dword [ecx + 0x20], ebx
mov ebx, dword [0x9ec0a0]
test ebx, ebx
jne 0x599018
mov dword [ecx + 0x24], edi
test esi, esi
jne 0x598fa4
mov ecx, dword [eax]
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + 0x30]
mov ebx, dword [ebx + 0x2c]
mov dword [ecx + 0x2c], ebx
mov dword [ecx + 0x30], ebp
jmp 0x598bdb
mov eax, dword [esp + 0xc0]
mov eax, dword [eax]
nop
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x598ff8
mov dword [esp], esi
mov dword [esp + 4], ebp
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
nop
call fcn.00427960
add esp, 0x110
ret
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x54], esi
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x54]
jmp 0x598fb8
add ecx, 0x24
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.0044c8c0
mov eax, ebx
jmp 0x598f86
lea ebp, [edi + 0x7c]
mov edx, edi
mov edi, ebp
call fcn.0044c8c0
mov edi, dword [esp + 0xcc]
mov eax, edx
call fcn.0044c8c0
mov eax, edi
jmp 0x598bc5
lea ebp, [edi + 0x70]
mov edx, edi
mov edi, ebp
call fcn.0044c8c0
mov edi, edx
jmp 0x598ba2
lea ebx, [edi + 0x44]
mov eax, edi
mov edi, ebx
mov edx, eax
mov eax, dword [esp + 0x88]
call fcn.0044c8c0
mov edi, edx
jmp 0x598b87
lea ebx, [edi + 0x74]
mov edx, edi
mov edi, ebx
call fcn.0044c8c0
lea edi, [edx + 8]
mov eax, dword [esp + 0x6c]
call fcn.0044c8c0
lea edi, [edx + 0x1c]
mov eax, dword [esp + 0xa4]
call fcn.0044c8c0
mov edi, edx
jmp 0x598b68
mov eax, dword [esp + 0x78]
call fcn.0044c8c0
jmp 0x598b3d
mov edx, dword [esp + 0xcc]
mov ebx, dword [edx]
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x44]
jmp 0x598ad8
xor eax, eax
xor ecx, ecx
jmp 0x598ad8
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.00402560
movzx eax, byte [esp + 0xc]
test al, al
je 0x598aa5
xor ecx, ecx
xor eax, eax
jmp 0x598ad8
xor ecx, ecx
xor eax, eax
jmp 0x598ad8
mov dword [esp + 0x64], eax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0xc0]
mov edx, dword [edx]
nop
mov ebx, dword [edx + 0x24]
mov edx, dword [edx + 0x20]
test edx, edx
jne 0x59925c
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
call fcn.00407620
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x59914d
mov ecx, dword [ecx + 4]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
lea edx, [0x62b9a0]
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0xe4], eax
nop
lea eax, [0x67e3a4]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0xd8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.0049e510
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x70], ecx
nop
lea edx, [0x637420]
mov dword [esp], edx
call fcn.00409c30
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x599251
mov eax, dword [esp + 0x70]
mov dword [edi], eax
lea eax, [0x6dbcf0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
nop
call fcn.00427960
add esp, 0x110
ret
mov eax, dword [esp + 0x70]
call fcn.0044c8c0
jmp 0x59920b
mov eax, dword [edx + 0x10]
mov dword [esp], ebx
call eax
jmp 0x599127
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax]
nop
mov edx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x599379
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00407550
mov eax, dword [esp + 4]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
lea ecx, [0x62ae60]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
nop
lea eax, [0x67d366]
mov dword [esp], eax
mov dword [esp + 4], 0x23
lea eax, [esp + 0xd0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0049e510
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x74], ecx
nop
lea edx, [0x637420]
mov dword [esp], edx
call fcn.00409c30
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x40]
mov dword [edi + 4], eax
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x59936e
mov eax, dword [esp + 0x74]
mov dword [edi], eax
lea eax, [0x6dbcf0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
nop
call fcn.00427960
add esp, 0x110
ret
mov eax, dword [esp + 0x74]
call fcn.0044c8c0
jmp 0x599328
mov eax, dword [ecx + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0xc0]
jmp 0x599281
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.0044c8c0
lea edi, [ecx + 8]
mov edx, eax
mov eax, dword [esp + 0xcc]
call fcn.0044c8c0
lea edi, [ecx + 0xc]
mov ebx, eax
mov eax, dword [esp + 0xc0]
call fcn.0044c8c0
lea edi, [ecx + 0x10]
mov ebp, eax
mov eax, dword [esp + 0xc4]
call fcn.0044c8c0
mov eax, ecx
mov ecx, edx
mov edx, ebx
mov ebx, ebp
mov ebp, dword [esp + 0xc4]
jmp 0x5985e0
nop
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x59954a
mov eax, dword [edi]
nop
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jne 0x5994f4
mov eax, 3
lea ecx, [0x66d5c2]
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], ecx
nop
lea edx, [0x637420]
mov dword [esp], edx
call fcn.00409c30
mov edi, dword [esp + 4]
mov dword [esp + 0x98], edi
mov dword [edi + 4], 0x15
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x5994e4
lea eax, [0x677e08]
mov dword [edi], eax
lea eax, [0x647040]
mov dword [esp], eax
call fcn.00409c30
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x5994d9
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
lea ecx, [0x6dbcf0]
mov dword [edi + 0x10], ecx
mov ecx, dword [0x9ec0a0]
test ecx, ecx
jne 0x5994c0
mov eax, dword [esp + 0x98]
mov dword [edi + 0x14], eax
mov dword [esp + 0x11c], 0
lea eax, [0x6dc010]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edi
nop
call fcn.00427960
add esp, 0x110
ret
lea ecx, [edi + 0x14]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x98]
call fcn.0044c8c0
mov edi, edx
jmp 0x599494
mov eax, dword [esp + 0x60]
call fcn.0044c8c0
jmp 0x599477
lea eax, [0x677e08]
call fcn.0044c8c0
jmp 0x59944e
mov dword [esp + 0x7c], eax
dec ecx
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.004cab80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], 0
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043bda0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x59940f
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
mov edi, dword [esp + 0xcc]
jmp 0x5993f4
mov dword [esp], 8
lea eax, [0x695798]
mov dword [esp + 4], eax
lea eax, [esp + 0x11c]
mov dword [esp + 8], eax
lea eax, [esp + 0x120]
mov dword [esp + 0xc], eax
call fcn.00427190
test eax, eax
jne 0x59959a
mov edi, dword [esp + 0xcc]
jmp 0x5984f2
nop
call fcn.00427960
add esp, 0x110
ret
mov eax, dword [esp + 0x118]
call fcn.0044c8c0
jmp 0x5984dd
call fcn.00426ef0
ud2
mov dword [esp], ecx
lea eax, [0x644d80]
mov dword [esp + 4], eax
lea eax, [0x634060]
mov dword [esp + 8], eax
call fcn.004073a0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.0044b170
jmp fcn.00598470