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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x438839
sub esp, 0xf0
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov dword [esp + 0xe0], eax
jmp 0x437f4b
mov dword [esp + 0x3c], ecx
mov eax, esi
mov ecx, edx
xor edx, edx
div ecx
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0x25]
mov edx, dword [esp + 0x78]
movzx esi, byte [esp + 0x24]
mov esi, dword [esp + 0xac]
cmp dword [esp + 0xa8], esi
je 0x4378b6
mov esi, dword [0x5a6a60]
test esi, esi
jne 0x4378aa
mov dword [esp + 0xa0], ebx
mov esi, dword [0x5a6664]
mov edx, dword [0x5a6660]
mov ebx, dword [esp + 0xb0]
cmp ebx, esi
jae 0x438825
mov edx, dword [edx + ebx*4]
cmp eax, edx
jne 0x437629
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0xa0]
mov byte [esp + 0x25], dl
inc dword [esp + 0xa8]
mov esi, dword [esp + 0xb0]
add esi, dword [esp + 0xb4]
mov edx, dword [esp + 0xac]
test edx, edx
jne 0x437579
jmp 0x438820
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0xbc], edx
mov esi, dword [esp + 0x78]
cmp esi, 3
je 0x43784f
xor ebx, ebx
test bl, bl
jne 0x437721
movzx ebx, byte [esp + 0x25]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xa4], ebx
movzx ebx, byte [esp + 0x25]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebp
mov byte [esp + 0x25], bl
mov eax, dword [0x5a6690]
mov edx, dword [0x5a6694]
mov esi, dword [0x5a6698]
mov ecx, dword [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
call fcn.0043e180
movzx eax, byte [esp + 0x10]
test al, al
je 0x4376e0
mov eax, dword [esp + 0xec]
movzx edx, byte [esp + 0x25]
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x94]
mov ebx, dword [esp + 0xa4]
jmp 0x4375fc
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
movzx ecx, byte [esp + 0x24]
mov byte [esp + 8], cl
call fcn.0043ec20
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4376b6
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf8], 0
add esp, 0xf0
ret
mov dword [esp], edx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
call fcn.00439200
mov eax, dword [esp + 0x18]
test eax, eax
setne cl
mov edx, dword [esp + 0x14]
test edx, edx
setne bl
movzx ebp, byte [esp + 0x1c]
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
or ebx, ecx
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x28], esi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x2c], edi
test bl, bl
je 0x437842
mov ebx, dword [esp + 0x9c]
test ebx, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, dword [esp + 0x44]
test edi, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x437814
movzx eax, byte [esp + 0x26]
test al, al
jne 0x4377c0
movzx eax, byte [esp + 0x25]
mov ebx, eax
mov edi, ecx
mov ecx, edx
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xa4], esi
jmp 0x43766a
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.0043e9c0
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 8]
test eax, eax
jne 0x4377ff
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov eax, 1
jmp 0x4377a6
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf8], cl
add esp, 0xf0
ret
cmp edi, eax
xchg ebp, ebx
setg bl
xchg ebp, ebx
cmp ebx, edx
xchg esi, ebx
seta bl
xchg esi, ebx
cmp edi, eax
sete al
and esi, eax
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x437798
mov ecx, edi
mov edx, ebx
jmp 0x437798
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 0x44]
jmp 0x437839
mov dword [esp + 0x88], ebp
mov eax, dword [0x5a66b0]
mov ecx, dword [0x5a66b4]
mov edx, dword [0x5a66b8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0043e180
movzx ebx, byte [esp + 0x10]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x44]
jmp 0x43764a
mov eax, dword [esp + 0xe0]
jmp 0x437f4b
inc edx
movzx esi, byte [esp + 0x25]
mov esi, eax
mov eax, edx
mov edx, dword [esp + 0xe0]
cmp eax, 4
jge 0x4379b2
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebp
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov edx, dword [edx + 0x18]
mov esi, dword [edx + 0x90]
mov dword [esp + 0x38], esi
mov ebx, dword [edx + 0x94]
mov dword [edx + 0x90], ebx
shl esi, 0x11
mov ebp, dword [esp + 0x38]
xor esi, ebp
mov ebp, ebx
xor ebx, esi
shr esi, 7
xor esi, ebx
mov ebx, ebp
shr ebp, 0x10
xor ebp, esi
mov dword [edx + 0x94], ebp
lea edx, [ebp + ebx]
mov ebx, dword [0x5a66f0]
mov ebp, dword [0x5a66f8]
mov esi, dword [0x5a66f4]
test ebx, ebx
je 0x438833
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], edx
mov eax, edx
xor edx, edx
div ebx
test ebp, ebp
je 0x43882e
mov dword [esp + 0xa4], edx
mov eax, dword [esp + 0x74]
xor edx, edx
div ebp
mov edx, dword [esi + edx*4]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], ebx
mov esi, dword [esp + 0xa4]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x78]
cmp edx, 3
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0x24], al
xchg esi, eax
mov eax, dword [esp + 0xec]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
jmp 0x4375a5
movzx eax, byte [esp + 0x25]
test al, al
je 0x4379c2
mov eax, edx
jmp 0x437f4b
mov dword [esp + 0x98], ebp
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x94], edi
mov dword [esp + 0x3c], ecx
mov eax, dword [0x5c3698]
test eax, eax
jne 0x438538
xor eax, eax
test al, al
jne 0x438482
test edi, edi
setne al
test ecx, ecx
setne dl
or edx, eax
test dl, dl
je 0x438473
sub ecx, ebx
sbb edi, ebp
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edi
mov eax, dword [0x5a6660]
mov dword [esp + 0xd0], eax
mov edx, dword [0x5a6664]
mov dword [esp + 0x84], edx
mov ebx, dword [0x5a6690]
mov dword [esp + 0xc4], ebx
mov ebp, dword [0x5a6694]
mov dword [esp + 0x64], ebp
mov esi, dword [0x5a6698]
mov dword [esp + 0x68], esi
mov ecx, dword [0x5a66b0]
mov dword [esp + 0xb8], ecx
mov edi, dword [0x5a66b4]
mov dword [esp + 0x30], edi
mov edi, dword [0x5a66b8]
mov dword [esp + 0x34], edi
nop
nop
lea edi, [0x5a69d8]
mov dword [esp], edi
call fcn.00409490
mov eax, dword [0x5a6a60]
test eax, eax
je 0x437aa8
nop
nop
lea eax, [0x5a69d8]
mov dword [esp], eax
call fcn.00409690
mov eax, dword [esp + 0xe0]
jmp 0x437f4b
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x13a8]
test ecx, ecx
jne 0x437a8c
mov ecx, dword [0x5a6a18]
test ecx, ecx
jne 0x43842b
call fcn.0043c2c0
mov eax, dword [esp + 0xec]
cmp dword [esp], eax
jne 0x43880a
mov dword [esp], eax
call fcn.0043e320
nop
nop
lea eax, [0x5a69d8]
mov dword [esp], eax
call fcn.00409690
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x18]
movzx edx, byte [ecx + 0x84]
mov byte [esp + 0x23], dl
test dl, dl
jne 0x4383f1
xor ecx, ecx
jmp 0x437b28
mov ebx, dword [esp + 0x70]
lea ecx, [ebx + 1]
mov eax, dword [esp + 0xe0]
movzx edx, byte [esp + 0x23]
mov ebx, dword [esp + 0x84]
cmp ebx, ecx
jle 0x437bc0
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0xd0]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0xdc], edx
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
mov ebp, dword [esp + 0x64]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x68]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
call fcn.0043e180
movzx eax, byte [esp + 0x10]
test al, al
je 0x4383d5
xor eax, eax
test al, al
je 0x437b15
nop
nop
lea eax, [0x5a69d8]
mov dword [esp], eax
call fcn.00409490
call fcn.0043e410
mov eax, dword [esp]
mov dword [esp + 0xdc], eax
nop
nop
lea ecx, [0x5a69d8]
mov dword [esp], ecx
call fcn.00409690
mov eax, dword [esp + 0xdc]
test eax, eax
jne 0x43838f
xor eax, eax
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x3c]
jmp 0x437bda
mov ebx, dword [esp + 0x6c]
inc ebx
mov edx, ecx
mov ecx, eax
mov eax, ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x94], ecx
mov ebx, dword [esp + 0x84]
cmp ebx, eax
jle 0x437ccf
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0xd4], edx
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x34]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
call fcn.0043e180
movzx eax, byte [esp + 0x10]
test al, al
jne 0x437c42
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x3c]
jmp 0x437bcf
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.00449a40
mov eax, dword [esp + 4]
test eax, eax
setne cl
mov edx, dword [esp + 8]
test edx, edx
setne bl
or ebx, ecx
mov ecx, dword [esp + 8]
test bl, bl
je 0x437cc2
mov ebx, dword [esp + 0x3c]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x94]
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x437c9d
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x437bcf
cmp eax, ebx
xchg ebp, ebx
setb bl
xchg ebp, ebx
cmp edx, esi
sete dl
xchg edi, ebx
setl bl
xchg edi, ebx
and edx, ebp
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x437c92
mov ecx, esi
mov eax, ebx
jmp 0x437c92
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x94]
jmp 0x437cbc
test edx, edx
setne al
test ecx, ecx
setne bl
or ebx, eax
mov byte [esp + 0x27], bl
test bl, bl
je 0x43837f
mov eax, dword [esp + 0xa4]
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x98]
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x43835e
mov ebp, edx
sub edx, eax
mov eax, ecx
sbb ecx, esi
test ecx, ecx
jge 0x437d23
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ecx
lea eax, [0x5c3698]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
jne 0x438348
xor eax, eax
test al, al
jne 0x4381d2
lea eax, [0x5c36c8]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
jne 0x438175
xor eax, eax
test al, al
jne 0x437e00
movzx eax, byte [esp + 0x27]
test al, al
jne 0x437de7
xor eax, eax
test al, al
jne 0x437d96
call fcn.004369a0
mov eax, dword [esp + 0xe0]
jmp 0x437f4b
lea eax, [0x5a69d0]
mov dword [esp], eax
call fcn.004021a0
mov eax, dword [esp + 4]
test eax, eax
sete cl
mov edx, dword [esp + 8]
test edx, edx
sete bl
and ebx, ecx
test bl, bl
je 0x437dc3
call fcn.0042b770
jmp 0x437d85
mov ecx, dword [esp + 0x94]
cmp ecx, edx
setl bl
mov ebp, dword [esp + 0x3c]
cmp ebp, eax
setb al
cmp ecx, edx
sete cl
and ecx, eax
or ecx, ebx
test cl, cl
jne 0x437dbc
jmp 0x437d85
lea eax, [0x5c36c8]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
setne al
jmp 0x437d81
lea eax, [0x5a69d0]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call fcn.004021c0
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + 0x54]
test edx, edx
jne 0x4387de
movzx ecx, byte [ecx + 0x84]
test cl, cl
jne 0x4387c8
mov ecx, dword [0x5c3744]
test ecx, ecx
setne cl
mov edx, dword [0x5c3740]
test edx, edx
setne dl
or edx, ecx
test dl, dl
je 0x438165
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0042b870
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
lea eax, [0x5a69d0]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004021c0
call fcn.0045a7c0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
lea edx, [0x5a69c8]
mov dword [esp], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.004021c0
mov eax, dword [0x5c3740]
test eax, eax
setne al
mov ecx, dword [0x5c3744]
test ecx, ecx
setne cl
or ecx, eax
test cl, cl
je 0x437ee5
mov eax, dword [esp + 0x60]
test eax, eax
je 0x438154
nop
nop
lea eax, [0x5a69d8]
mov dword [esp], eax
call fcn.00409490
call fcn.0043e410
mov eax, dword [esp]
mov dword [esp + 0xd8], eax
nop
nop
lea ecx, [0x5a69d8]
mov dword [esp], ecx
call fcn.00409690
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x438143
mov dword [esp], eax
call fcn.0043c140
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x4380c3
movzx eax, byte [esp + 0x23]
test al, al
jne 0x438097
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x54]
mov edx, dword [0x5a6a60]
test edx, edx
je 0x437f69
call fcn.004372f0
mov eax, dword [esp + 0xe0]
jmp 0x437f4b
mov dword [esp + 0xec], ecx
test byte [ecx], al
mov edx, dword [ecx + 0x13a8]
test edx, edx
jne 0x4387b7
mov dword [esp], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00439200
movzx eax, byte [0x5c3608]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4c], ebx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x58], ebp
test al, al
je 0x437fd2
movzx eax, byte [0x5c3609]
test al, al
jne 0x438782
mov eax, dword [0x5a1dec]
mov eax, dword [eax]
test eax, eax
jne 0x43876d
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.0043e9c0
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 8]
test eax, eax
jne 0x438758
mov eax, dword [0x5a6a18]
test eax, eax
jne 0x4386f1
lea eax, [0x5c36c8]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
jne 0x4386ad
xor eax, eax
test al, al
jne 0x438609
mov edx, dword [esp + 0xe0]
mov ebx, dword [edx + 0x18]
mov ebp, dword [0x5c36a8]
movzx ebx, byte [ebx + 0x84]
test bl, bl
je 0x4385b6
xor eax, eax
test al, al
jne 0x43859a
mov ebx, dword [edx + 0x18]
movzx ebp, byte [ebx + 0x84]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x438571
mov esi, dword [esp + 0xec]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
xor eax, eax
xor eax, eax
mov byte [esp + 0x25], al
xor eax, eax
jmp 0x4378c7
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x18]
mov byte [ecx + 0x84], 1
lea ecx, [0x5a6a0c]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.004020b0
jmp 0x437f44
nop
nop
mov dword [esp + 0xec], eax
test eax, eax
je 0x4380d7
mov ecx, dword [eax + 0x58]
mov dword [esp + 0x60], ecx
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.00438a90
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.00434bd0
movzx eax, byte [0x5af9c8]
test al, al
jne 0x43812a
mov eax, dword [esp + 0xec]
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf8], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0044c1d0
jmp 0x43810d
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.00438a90
jmp 0x437d85
call fcn.004369a0
mov eax, dword [esp + 0xe0]
jmp 0x437f4b
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
jmp 0x437e69
lea eax, [0x5c36cc]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
jbe 0x4381c2
lea eax, [0x5a69c8]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00402130
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0x10]
test ecx, ecx
setne cl
or eax, ecx
jmp 0x437d6e
movzx eax, byte [esp + 0x27]
test al, al
jne 0x43818b
xor eax, eax
jmp 0x437d6e
nop
nop
lea eax, [0x5a69d8]
mov dword [esp], eax
call fcn.00409490
call fcn.0043e410
mov eax, dword [esp]
test eax, eax
je 0x43833f
mov ecx, dword [0x5c3698]
test ecx, ecx
je 0x438331
mov dword [esp + 0xe8], eax
lea eax, [0x5c3748]
mov dword [esp], eax
call fcn.00409380
mov eax, dword [esp + 4]
test eax, eax
je 0x43830d
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd8], ecx
nop
nop
lea edx, [0x5a69d8]
mov dword [esp], edx
call fcn.00409690
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x437d52
mov dword [esp], eax
call fcn.0043c140
movzx eax, byte [esp + 0x23]
test al, al
jne 0x4382e1
mov eax, dword [esp + 0xd8]
mov dword [eax + 0xb78], 3
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xec], eax
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.00434bd0
movzx eax, byte [0x5af9c8]
test al, al
jne 0x4382c8
mov eax, dword [esp + 0xec]
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf8], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0044c1d0
jmp 0x4382ab
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 0x18]
mov byte [eax + 0x84], 1
lea eax, [0x5a6a0c]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004020b0
jmp 0x438266
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call fcn.0043e320
mov eax, dword [esp + 0xe4]
xor ecx, ecx
jmp 0x438228
call fcn.0043e320
xor ecx, ecx
xor eax, eax
jmp 0x438228
mov ecx, eax
xor eax, eax
jmp 0x438228
mov dword [esp], 0
call fcn.004185b0
movzx eax, byte [esp + 4]
jmp 0x437d4a
call fcn.0045a7c0
mov eax, dword [esp]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x3c]
movzx ebx, byte [esp + 0x27]
jmp 0x437d13
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
jmp 0x437d23
mov dword [esp], eax
call fcn.0043c140
movzx eax, byte [esp + 0x23]
test al, al
jne 0x4383ac
mov eax, dword [esp + 0xe0]
jmp 0x437f4b
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x18]
mov byte [ecx + 0x84], 1
lea ecx, [0x5a6a0c]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.004020b0
jmp 0x4383a0
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0043e510
movzx eax, byte [esp + 4]
xor eax, 1
jmp 0x437b7e
mov byte [ecx + 0x84], 0
lea eax, [0x5a6a0c]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call fcn.004020b0
mov eax, dword [esp + 8]
test eax, eax
jl 0x4387f4
mov eax, dword [esp + 0xe0]
movzx edx, byte [esp + 0x23]
jmp 0x437b11
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043e050
mov eax, dword [esp + 8]
mov dword [esp + 0xc8], eax
nop
nop
lea ecx, [0x5a69d8]
mov dword [esp], ecx
call fcn.00409690
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf8], 0
add esp, 0xf0
ret
mov edi, 0xffffffff
mov ecx, 0xffffffff
jmp 0x437a0b
lea eax, [0x5c3748]
mov dword [esp], eax
call fcn.00409380
mov eax, dword [esp + 4]
test eax, eax
jne 0x4384c4
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0x94]
jmp 0x4379f3
mov ecx, dword [esp + 0xec]
mov dword [ecx + 0xb78], 3
mov eax, dword [eax + 0xc]
mov dword [esp + 0xec], eax
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.00434bd0
movzx eax, byte [0x5af9c8]
test al, al
jne 0x43851f
mov eax, dword [esp + 0xec]
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf8], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0044c1d0
jmp 0x438502
mov dword [esp], esi
call fcn.004185b0
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0x94]
jmp 0x4379eb
mov byte [ebx + 0x84], 1
lea eax, [0x5a6a0c]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004020b0
mov edx, dword [esp + 0xe0]
jmp 0x438071
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x4c]
jmp 0x4379c2
mov dword [esp + 0x98], ebp
lea eax, [0x5a6a0c]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
mov dword [esp + 0xa4], eax
lea ecx, [0x5a6a08]
mov dword [esp], ecx
call fcn.00401fa0
mov eax, dword [esp + 0xa4]
shl eax, 1
mov ecx, dword [esp + 0x98]
sub ecx, dword [esp + 4]
cmp eax, ecx
setae al
mov edx, dword [esp + 0xe0]
jmp 0x438055
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0042b870
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
test eax, eax
je 0x438034
nop
nop
mov dword [esp + 0xec], eax
test eax, eax
je 0x438641
mov ecx, dword [eax + 0x58]
mov dword [esp + 0x5c], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
call fcn.00438a90
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.00434bd0
movzx eax, byte [0x5af9c8]
test al, al
jne 0x438694
mov eax, dword [esp + 0xec]
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf8], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0044c1d0
jmp 0x438677
lea eax, [0x5c36cc]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
ja 0x4386ca
xor eax, eax
jmp 0x43802c
lea eax, [0x5a69c8]
mov dword [esp], eax
call fcn.004021a0
mov eax, dword [esp + 4]
test eax, eax
setne al
mov ecx, dword [esp + 8]
test ecx, ecx
setne cl
or eax, ecx
jmp 0x43802c
nop
nop
lea eax, [0x5a69d8]
mov dword [esp], eax
call fcn.00409490
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043e050
mov eax, dword [esp + 8]
mov dword [esp + 0xcc], eax
nop
nop
lea ecx, [0x5a69d8]
mov dword [esp], ecx
call fcn.00409690
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x438010
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf8], 0
add esp, 0xf0
ret
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf8], cl
add esp, 0xf0
ret
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004594d0
jmp 0x437fe2
call fcn.00413ed0
mov eax, dword [esp]
test eax, eax
jne 0x4387a3
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x58]
jmp 0x437fd2
mov dword [esp + 4], 0
mov byte [esp + 8], 1
call fcn.00434740
jmp 0x43878e
call fcn.00435d00
mov ecx, dword [esp + 0xec]
jmp 0x437f80
lea eax, [0x4f839a]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call fcn.00430e70
lea eax, [0x4f6713]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
call fcn.00430e70
lea eax, [0x4f7c1e]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00430e70
lea eax, [0x4f4130]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.00430e70
call fcn.0042f1c0
mov eax, ebx
mov ecx, esi
call fcn.004598f0
call fcn.0042f1c0
call fcn.0042f1c0
nop
call fcn.00458300
jmp fcn.00437540