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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x114]
cmp eax, dword [ecx + 8]
jbe 0x5b8bc2
sub esp, 0x194
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
mov eax, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 4], eax
call fcn.005b8bd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
test ecx, ecx
jne 0x5b8b35
mov dword [esp + 0x40], ebx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x4c], eax
lea edi, [esp + 0x180]
xor eax, eax
call fcn.0045cbbb
mov ecx, dword [esp + 0x19c]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x1a0]
mov dword [esp], ebx
call edx
lea esi, [esp + 4]
mov dword [esp + 0x150], esi
lea edi, [esp + 0x180]
call fcn.0045d09e
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x27], cl
lea edi, [esp + 0x16c]
lea esi, [esp + 0x180]
call fcn.0045d09e
movzx ecx, byte [esp + 0x27]
test cl, cl
je 0x5b8b2e
lea edi, [esp + 0x158]
lea esi, [esp + 0x16c]
call fcn.0045d09e
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
test ecx, 0x80000000
je 0x5b8b19
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or eax, ecx
mov ecx, edx
shl edx, 1
mov ebx, eax
shl eax, 1
shr edx, 0x1f
or edx, eax
mov eax, edx
add edx, 0xd7b17f80
shr ebx, 0x1f
add eax, 0xd7b17f80
adc ebx, 0xd
test ebx, ebx
sete al
test edx, edx
sete dl
and eax, edx
test al, al
je 0x5b8b12
test ecx, 0x3fffffff
sete al
xor eax, 1
test al, al
jne 0x5b8a80
mov eax, dword [0x7cc06c]
lea ecx, [0x6cd440]
mov edx, dword [esp + 0x19c]
cmp ecx, edx
je 0x5b8a57
lea eax, [0x63c540]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00405a60
mov eax, dword [esp + 8]
mov dword [esp + 0x130], eax
lea ecx, [0x63c800]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00405a60
mov eax, dword [esp + 8]
mov dword [esp + 0x134], eax
mov dword [esp + 0x94], 0xc
lea ecx, [0x6927b8]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0x1bc]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0xc4], ecx
lea edx, [esp + 0x94]
mov dword [esp], edx
call fcn.00430b70
test eax, eax
jne 0x5b8a4a
mov dword [esp], 0x18
lea eax, [0x6927bc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x1a0]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x1a8]
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x130]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x134]
mov dword [esp + 0x1c], ebp
call fcn.0043bb40
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + 6]
mov dword [esp + 0x64], edx
mov dword [esp + 8], edx
call fcn.00444130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x64]
cmp ecx, 1
jb 0x5b8a0c
mov edx, 1
mov dword [esp + 0x60], edx
mov byte [eax], 5
mov ebx, dword [esp + 0x198]
mov ebp, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x18]
test ebp, ebp
je 0x5b89bc
mov edi, dword [ebx + 0x24]
test edi, edi
je 0x5b89bc
cmp ebp, 0xff
jg 0x5b8964
mov dword [esp + 0x80], ebp
mov dword [esp + 0x14c], esi
lea edi, [edx + 1]
cmp ecx, edi
jb 0x5b8917
xchg ebp, ebx
mov byte [eax + edx], bl
xchg ebp, ebx
xor edx, edx
jmp 0x5b789a
mov byte [eax + edi], bl
inc edx
mov ebx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x198]
mov edi, esi
mov esi, dword [esp + 0x14c]
cmp ebp, edx
jle 0x5b78f8
mov ebx, dword [esi + edx*4]
lea esi, [edi + 1]
cmp esi, ecx
jbe 0x5b787f
mov dword [esp + 0x7c], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x78], edi
lea edx, [0x643900]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x80]
mov edi, dword [esp + 0x78]
mov ecx, edx
mov edx, dword [esp + 0x7c]
jmp 0x5b787f
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], edi
mov dword [esp + 0x140], eax
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x2c]
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
test eax, eax
jne 0x5b890a
mov edx, dword [esp + 0x54]
cmp edx, 2
jb 0x5b8bb7
lea eax, [0x64a840]
mov dword [esp], eax
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 8], edx
call fcn.0040a160
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 2
call fcn.00494e20
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
test eax, eax
jne 0x5b88fd
mov ecx, dword [esp + 0x60]
test ecx, ecx
jbe 0x5b8bb0
mov edx, dword [esp + 0x140]
movzx ebx, byte [edx]
cmp bl, 5
jne 0x5b8841
cmp ecx, 1
jbe 0x5b8ba6
movzx eax, byte [edx + 1]
cmp eax, 0xff
je 0x5b87e9
mov ecx, dword [esp + 0x198]
mov ebx, dword [ecx + 0x24]
test ebx, ebx
jne 0x5b8748
mov eax, dword [ecx]
mov ecx, dword [esp + 0x54]
cmp ecx, 3
jb 0x5b8706
mov ebx, 3
mov dword [esp + 0x144], edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ecx
mov byte [edx], 5
mov byte [edx + 1], al
mov byte [edx + 2], 0
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov ebp, dword [esp + 0x4c]
mov dword [esp + 4], ebp
call fcn.004ca780
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x5b83a4
mov eax, dword [esp + 0x4c]
cmp eax, 0xff
jg 0x5b834c
mov ecx, dword [esp + 0x60]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x64]
cmp ebx, edx
jb 0x5b830b
mov ebp, dword [esp + 0x144]
mov byte [ebp + ecx], 3
lea ecx, [edx + 1]
cmp ebx, ecx
jb 0x5b82cd
mov byte [ebp + edx], al
lea edx, [eax + ecx]
mov dword [esp + 0x60], edx
cmp ebx, edx
jb 0x5b8290
mov dword [esp + 0x64], ebx
mov dword [esp + 0x144], ebp
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045d2c0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x144]
lea ebx, [eax + 2]
cmp ebx, ecx
ja 0x5b8256
mov dword [esp + 0x138], edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], ecx
mov ebp, dword [esp + 0x40]
mov esi, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [edx + eax], bl
xchg ebp, ebx
xchg esi, ebx
mov byte [edx + eax + 1], bl
xchg esi, ebx
mov eax, dword [esp + 0x1a4]
mov ebp, dword [eax + 0x2c]
mov esi, dword [esp + 0x1a8]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
test eax, eax
jne 0x5b8249
mov edx, dword [esp + 0x58]
cmp edx, 4
jb 0x5b8b9c
lea eax, [0x64a840]
mov dword [esp], eax
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 8], edx
call fcn.0040a160
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 4
call fcn.00494e20
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
test eax, eax
jne 0x5b823c
mov ecx, dword [esp + 0x60]
test ecx, ecx
jbe 0x5b8b95
mov edx, dword [esp + 0x138]
movzx ebx, byte [edx]
cmp bl, 5
jne 0x5b8180
cmp ecx, 1
jbe 0x5b8b8b
movzx ebx, byte [edx + 1]
test ebx, ebx
jne 0x5b80c6
cmp ecx, 2
jbe 0x5b8b81
movzx eax, byte [edx + 2]
test al, al
jne 0x5b806e
lea eax, [0x65a4c0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
cmp ecx, 3
jbe 0x5b8b77
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x138]
movzx edx, byte [ecx + 3]
cmp dl, 1
je 0x5b8016
cmp dl, 3
je 0x5b7f65
cmp dl, 4
jne 0x5b7ea9
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call fcn.00444130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x154]
mov dword [ecx + 0xc], 0x10
mov dword [ecx + 0x10], 0x10
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x5b7e9c
mov dword [ecx + 8], eax
mov eax, 0x12
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x58]
cmp edx, eax
jl 0x5b7e79
jb 0x5b8b70
mov ebx, dword [esp + 0x138]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x13c], ebx
lea eax, [0x64a840]
mov dword [esp], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 8], eax
call fcn.0040a160
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.00494e20
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
test eax, eax
jne 0x5b7e6c
mov ebx, dword [esp + 0x154]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
test ebp, ebp
je 0x5b7e11
mov ecx, dword [esp + 0x50]
cmp ecx, esi
jge 0x5b7e08
mov eax, ecx
mov edx, dword [esp + 0x13c]
cmp edx, ebp
je 0x5b7da2
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045d2c0
mov ecx, dword [esp + 0x50]
lea eax, [ecx - 2]
cmp ecx, eax
jbe 0x5b8b66
mov eax, dword [esp + 0x13c]
movzx edx, byte [ecx + eax - 2]
shl edx, 8
movzx eax, byte [ecx + eax - 1]
or edx, eax
mov eax, dword [esp + 0x154]
mov dword [eax + 0x14], edx
lea ecx, [0x6ccb30]
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
nop
call fcn.004312b0
add esp, 0x194
ret
mov eax, ecx
mov ecx, esi
jmp 0x5b7d87
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
mov edx, dword [esp + 0x5c]
cmp edx, ecx
jb 0x5b8b6b
mov dword [esp], 0
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00447720
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x154]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5b7e62
mov dword [edi], eax
jmp 0x5b7da2
call fcn.0045c920
jmp 0x5b7da2
nop
call fcn.004312b0
add esp, 0x194
ret
lea ecx, [0x643900]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00444130
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
jmp 0x5b7ce4
lea edi, [ecx + 8]
call fcn.0045c920
jmp 0x5b7cc2
movzx eax, dl
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00477f80
mov dword [esp], 0
lea eax, [0x67f91a]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x15
call fcn.004475a0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
lea edx, [0x64d2c0]
mov dword [esp], edx
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x5b7f57
mov eax, dword [esp + 0x120]
mov dword [edi], eax
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea eax, [0x6cadb0]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], edi
nop
call fcn.004312b0
add esp, 0x194
ret
mov eax, dword [esp + 0x120]
call fcn.0045c920
jmp 0x5b7f20
lea eax, [0x64a840]
mov dword [esp], eax
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 8], edx
call fcn.0040a160
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
call fcn.00494e20
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x5b7fe5
mov ebx, dword [esp + 0x138]
movzx ebp, byte [ebx]
lea eax, [ebp + 2]
mov ecx, dword [esp + 0x154]
jmp 0x5b7cc7
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
nop
call fcn.004312b0
add esp, 0x194
ret
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00444130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x154]
mov dword [ecx + 0xc], 4
mov dword [ecx + 0x10], 4
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x5b8064
mov dword [ecx + 8], eax
mov eax, 6
jmp 0x5b7cc7
lea edi, [ecx + 8]
call fcn.0045c920
jmp 0x5b805a
lea eax, [0x64d2c0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x680763]
mov dword [eax], ecx
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea ecx, [0x6cadb0]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], eax
nop
call fcn.004312b0
add esp, 0x194
ret
mov dword [esp], ebx
call fcn.005b8e30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x67c9b0]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xe
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004475a0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edx, [0x64d2c0]
mov dword [esp], edx
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x5b8172
mov eax, dword [esp + 0x118]
mov dword [edi], eax
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea eax, [0x6cadb0]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], edi
nop
call fcn.004312b0
add esp, 0x194
ret
mov eax, dword [esp + 0x118]
call fcn.0045c920
jmp 0x5b813b
movzx eax, bl
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00477f80
mov dword [esp], 0
lea eax, [0x682c10]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
call fcn.004475a0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
lea edx, [0x64d2c0]
mov dword [esp], edx
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x30]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x5b822e
mov eax, dword [esp + 0x11c]
mov dword [edi], eax
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea eax, [0x6cadb0]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], edi
nop
call fcn.004312b0
add esp, 0x194
ret
mov eax, dword [esp + 0x11c]
call fcn.0045c920
jmp 0x5b81f7
nop
call fcn.004312b0
add esp, 0x194
ret
nop
call fcn.004312b0
add esp, 0x194
ret
mov dword [esp + 0x60], eax
lea ebp, [0x643900]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004441e0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebx, [eax + 2]
mov eax, dword [esp + 0x60]
jmp 0x5b7af8
mov dword [esp + 0x80], ecx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004441e0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x80]
jmp 0x5b7aba
mov dword [esp + 0x60], edx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004441e0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x60]
jmp 0x5b7aa7
lea eax, [0x643900]
mov dword [esp], eax
mov ebp, dword [esp + 0x144]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004441e0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x60]
jmp 0x5b7a97
lea eax, [0x64d2c0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xd
lea ecx, [0x67c050]
mov dword [eax], ecx
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea ecx, [0x6cadb0]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], eax
nop
call fcn.004312b0
add esp, 0x194
ret
mov dword [esp + 0x110], eax
mov dword [esp + 0x2c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c8940
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x5b84c4
mov dword [esp + 0x48], ecx
mov dword [esp + 0x128], eax
mov edx, dword [esp + 0x60]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x64]
cmp ebp, ebx
jb 0x5b847c
mov esi, dword [esp + 0x144]
mov byte [esi + edx], 1
lea edx, [ecx + ebx]
mov dword [esp + 0x60], edx
cmp ebp, edx
jb 0x5b843b
mov dword [esp + 0x64], ebp
mov dword [esp + 0x144], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0045d2c0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x144]
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x5b7aed
mov dword [esp + 0x80], ebx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x80]
jmp 0x5b8403
lea eax, [0x643900]
mov dword [esp], eax
mov ecx, dword [esp + 0x144]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004441e0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x60]
jmp 0x5b83f4
mov eax, dword [esp + 0x2c]
cmp eax, 4
jne 0x5b86e8
mov eax, dword [esp + 0x110]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov ebp, dword [0x61c7b0]
mov esi, dword [0x61c7b4]
cmp esi, 0x10
jge 0x5b86de
mov byte [esp + 0x2a], dl
mov byte [esp + 0x29], bl
mov byte [esp + 0x28], al
mov byte [esp + 0x2b], cl
lea edi, [esp + 0x84]
cmp edi, ebp
je 0x5b8553
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045d2c0
movzx eax, byte [esp + 0x2b]
mov byte [esp + 0x90], al
movzx eax, byte [esp + 0x2a]
mov byte [esp + 0x91], al
movzx eax, byte [esp + 0x29]
mov byte [esp + 0x92], al
movzx eax, byte [esp + 0x28]
mov byte [esp + 0x93], al
lea eax, [esp + 0x84]
mov ecx, 0x10
test eax, eax
je 0x5b8686
mov dword [esp + 0x44], ecx
mov dword [esp + 0x124], eax
mov edx, dword [esp + 0x60]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x64]
cmp ebp, ebx
jb 0x5b863e
mov esi, dword [esp + 0x144]
mov byte [esi + edx], 4
lea edx, [ecx + ebx]
mov dword [esp + 0x60], edx
cmp ebp, edx
jb 0x5b85fd
mov dword [esp + 0x64], ebp
mov dword [esp + 0x144], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0045d2c0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x144]
jmp 0x5b8430
mov dword [esp + 0x80], ebx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x80]
jmp 0x5b85cb
lea eax, [0x643900]
mov dword [esp], eax
mov ecx, dword [esp + 0x144]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004441e0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
jmp 0x5b85bc
lea eax, [0x64d2c0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x14
lea ecx, [0x67f265]
mov dword [eax], ecx
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea ecx, [0x6cadb0]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], eax
nop
call fcn.004312b0
add esp, 0x194
ret
mov esi, 0x10
jmp 0x5b8528
cmp eax, 0x10
jne 0x5b86fd
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x2c]
jmp 0x5b858f
xor eax, eax
xor ecx, ecx
jmp 0x5b858f
mov dword [esp + 0x74], eax
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 3
call fcn.004441e0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebx, [eax + 3]
mov eax, dword [esp + 0x74]
jmp 0x5b7a2a
mov dword [esp + 0x148], ebx
mov dword [esp + 0x70], eax
lea eax, [0x64e500]
mov dword [esp], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 8], ecx
call fcn.0040a160
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x19c]
mov dword [esp], edx
mov edx, dword [esp + 0x1a0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x148]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
test eax, eax
jne 0x5b87dc
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x140]
jmp 0x5b7a16
nop
call fcn.004312b0
add esp, 0x194
ret
lea eax, [0x64d2c0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x24
lea ecx, [0x685d49]
mov dword [eax], ecx
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea ecx, [0x6cadb0]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], eax
nop
call fcn.004312b0
add esp, 0x194
ret
movzx eax, bl
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00477f80
mov dword [esp], 0
lea eax, [0x682c10]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
call fcn.004475a0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
lea edx, [0x64d2c0]
mov dword [esp], edx
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x5b88ef
mov eax, dword [esp + 0x114]
mov dword [edi], eax
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea eax, [0x6cadb0]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], edi
nop
call fcn.004312b0
add esp, 0x194
ret
mov eax, dword [esp + 0x114]
call fcn.0045c920
jmp 0x5b88b8
nop
call fcn.004312b0
add esp, 0x194
ret
nop
call fcn.004312b0
add esp, 0x194
ret
lea ebx, [0x643900]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea edi, [ecx + 1]
mov ebx, dword [esp + 0x198]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x14c]
mov ecx, edx
mov edx, dword [esp + 0x60]
jmp 0x5b7874
lea eax, [0x64d2c0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1f
lea ecx, [0x684052]
mov dword [eax], ecx
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea ecx, [0x6cadb0]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], eax
nop
call fcn.004312b0
add esp, 0x194
ret
lea ebp, [edx + 2]
cmp ecx, ebp
jb 0x5b89d0
mov word [eax + edx], 1
mov edi, ebp
jmp 0x5b78f8
lea ebx, [0x643900]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [ecx + 2]
mov ebx, dword [esp + 0x198]
mov ecx, edx
mov edx, dword [esp + 0x60]
jmp 0x5b89c3
lea edx, [0x643900]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebx, edx
mov edx, ecx
mov ecx, ebx
jmp 0x5b7828
nop
call fcn.004312b0
add esp, 0x194
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x1a0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00404120
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b77ed
jmp 0x5b7701
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x1a8]
mov dword [esp], edx
mov edi, dword [esp + 0x150]
lea esi, [esp + 0x16c]
call fcn.0045d09e
mov ecx, dword [esp + 0x6c]
call ecx
mov dword [esp + 0xc8], 0x20
mov eax, dword [esp + 0x1a4]
lea ecx, [eax + 0x20]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0xf0], ecx
lea edi, [esp + 0xf4]
lea esi, [0x7cd470]
call fcn.0045d09e
lea ecx, [esp + 0xc8]
mov dword [esp], ecx
call fcn.00430b70
test eax, eax
jne 0x5b8b05
jmp 0x5b76e6
nop
call fcn.004312b0
add esp, 0x194
ret
xor eax, eax
jmp 0x5b76db
mov edx, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
mov ecx, eax
jmp 0x5b76be
xor eax, eax
jmp 0x5b76de
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], ebp
nop
call fcn.004312b0
add esp, 0x194
ret
call fcn.0045c9a0
call fcn.0045c9e0
mov ecx, eax
call fcn.0045c9e0
mov eax, 3
call fcn.0045c9a0
mov eax, 2
call fcn.0045c9a0
mov eax, 1
call fcn.0045c9a0
xor eax, eax
call fcn.0045c9a0
mov ecx, 4
call fcn.0045c9e0
mov eax, 1
call fcn.0045c9a0
xor eax, eax
call fcn.0045c9a0
mov ecx, 2
call fcn.0045c9e0
nop
call fcn.0045b380
jmp fcn.005b7570