Function at 0x5b97e0
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 0x5bbf9d
sub esp, 0x194
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0xc4]
mov edx, dword [eax + 0xc8]
test ecx, ecx
jne 0x5bbf1a
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.00462870
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0x18c]
mov edx, dword [eax + 0x184]
cmp ecx, edx
setae bl
mov ebp, dword [eax + 0x190]
mov esi, edx
sar edx, 0x1f
cmp ebp, edx
sete dl
xchg ebp, ebx
setg bl
xchg ebp, ebx
and edx, ebx
or ebp, edx
mov edx, dword [esp + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b986b
xor esi, esi
jmp 0x5b986d
sub esi, ecx
test esi, esi
jne 0x5bbddd
mov dword [esp + 0x48], edx
lea edi, [eax + 0x180]
mov dword [esp + 0x4c], edi
nop
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5b9897
xor eax, eax
call fcn.0045e70a
jmp 0x5b98a9
lea eax, [0x6225e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00410110
mov eax, dword [esp + 0x198]
mov dword [eax + 0x194], 0xffffffff
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x100], edx
lea ebx, [0x617580]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00408f20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x198]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
call fcn.005bc2e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5b9af6
mov ebp, dword [0x7b9fcc]
cmp dword [0x7b9fc8], ecx
je 0x5b992c
xor ecx, ecx
jmp 0x5b9959
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x38], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004033f0
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x8c]
mov ecx, eax
mov eax, dword [esp + 0x38]
test cl, cl
je 0x5b9980
mov ecx, dword [esp + 0x198]
mov edx, dword [ecx + 0x178]
cmp dword [ecx + 0x170], edx
jne 0x5b9987
mov eax, dword [0x7b9fa0]
mov ebx, dword [0x7b9fa4]
jmp 0x5b9987
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x38], eax
lea ecx, [0x61dd00]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5b99bb
mov eax, 1
jmp 0x5b99cb
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5b99df
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
jmp 0x5b9ae1
lea eax, [0x61dd00]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b9a54
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ebx, dword [0x7e0970]
test ebx, ebx
jne 0x5b9a3d
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xc8], eax
jmp 0x5b9ae1
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x8c]
call fcn.0045e4b0
jmp 0x5b9ae1
mov dword [esp + 0x100], edx
mov dword [esp + 0xe4], ecx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5b9a93
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x5b9aa6
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5b9acb
mov dword [edx + 0xc8], eax
jmp 0x5b9ad6
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
add esp, 0x194
ret
mov ebx, dword [esp + 0x198]
mov ebp, dword [ebx + 0x16c]
mov ecx, dword [ebx + 0x170]
mov edx, dword [ebx + 0x174]
mov eax, dword [ebx + 0x178]
cmp ecx, eax
jb 0x5bbf97
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp ecx, 5
jb 0x5bbf8b
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0x48]
cmp edx, 1
je 0x5b9b48
cmp cl, 0x80
je 0x5bbc05
mov esi, edx
movzx edx, byte [ebp + eax + 1]
shl edx, 8
mov edi, ecx
movzx ecx, byte [ebp + eax + 2]
or edx, ecx
movzx ecx, byte [ebp + eax + 3]
shl ecx, 8
movzx ebp, byte [ebp + eax + 4]
or ecx, ebp
movzx ebp, byte [ebx + 0x26]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b9e37
mov eax, ecx
movzx ecx, word [ebx + 0x24]
cmp cx, 0x304
je 0x5b9e2b
cmp cx, dx
jne 0x5b9b97
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x5b9e2f
mov word [esp + 0x2a], dx
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005bc5e0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
movzx eax, word [esp + 0x2a]
mov word [esp], ax
call fcn.00408ca0
mov eax, dword [esp + 4]
lea ecx, [0x612a80]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x198]
movzx edx, word [eax + 0x24]
mov word [esp], dx
call fcn.00408ca0
mov eax, dword [esp + 4]
lea ecx, [0x612a80]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
lea eax, [0x647680]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b5220
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x14c]
mov edx, eax
xor eax, eax
call fcn.0045e70a
mov dword [esp + 0x14c], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0x170]
mov edx, dword [eax + 0x16c]
mov ebx, dword [eax + 0x174]
mov ebp, dword [eax + 0x178]
cmp ecx, ebp
jb 0x5bbf84
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5b9cc4
mov ecx, 5
lea ebx, [esp + 0x154]
cmp ebx, edx
je 0x5b9cdf
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045ee00
lea edi, [esp + 0x17c]
lea esi, [esp + 0x14c]
call fcn.0045ebe4
lea eax, [0x627380]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408bd0
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x61dd00]
mov dword [esp], ecx
lea ecx, [0x690ca4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b9d88
lea ecx, [0x690ca4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5b9d71
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5b9e0a
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.0045e4b0
jmp 0x5b9e0a
mov dword [esp + 0x100], edx
mov dword [esp + 0xdc], ecx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5b9dc7
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
jmp 0x5b9dda
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5b9dff
mov dword [edx + 0xc8], eax
jmp 0x5b9e0a
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5ba035
jmp 0x5b9e39
mov eax, ecx
xchg edi, eax
cmp al, 0x15
xchg edi, eax
je 0x5b9e47
xchg edi, eax
cmp al, 0x16
xchg edi, eax
jne 0x5b9e52
cmp dx, 0x1000
jb 0x5ba035
mov ecx, dword [ebx]
mov dword [esp + 0x40], ecx
mov edx, dword [ebx + 4]
lea edi, [esp + 0x134]
xor eax, eax
call fcn.0045e70a
lea ecx, [0x6457be]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], 0x2f
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], edx
mov ecx, dword [ebx + 0x170]
mov edx, dword [ebx + 0x16c]
mov ebp, dword [ebx + 0x174]
mov eax, dword [ebx + 0x178]
cmp ecx, eax
jb 0x5bbf7f
sub ecx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
add eax, edx
cmp ecx, 5
jl 0x5b9ece
mov ecx, 5
lea edx, [esp + 0x13c]
cmp edx, eax
je 0x5b9ee9
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0045ee00
lea edi, [esp + 0x17c]
lea esi, [esp + 0x134]
call fcn.0045ebe4
lea eax, [0x627380]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408bd0
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x61dd00]
mov dword [esp], ecx
lea ecx, [0x690ca4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b9f92
lea ecx, [0x690ca4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5b9f7b
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5ba014
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.0045e4b0
jmp 0x5ba014
mov dword [esp + 0x100], edx
mov dword [esp + 0xd8], ecx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5b9fd1
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
jmp 0x5b9fe4
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd8]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba009
mov dword [edx + 0xc8], eax
jmp 0x5ba014
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp + 0x44], eax
cmp word [ebx + 0x24], 0x304
jne 0x5ba04d
cmp eax, 0x4100
jg 0x5ba058
jmp 0x5ba2a3
cmp eax, 0x4800
jle 0x5ba2a3
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.005bc5e0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00408d10
mov eax, dword [esp + 4]
lea ecx, [0x612240]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
lea eax, [0x643bb3]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5220
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x11c]
mov edx, eax
xor eax, eax
call fcn.0045e70a
mov dword [esp + 0x11c], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0x170]
mov edx, dword [eax + 0x16c]
mov ebx, dword [eax + 0x174]
mov ebp, dword [eax + 0x178]
cmp ecx, ebp
jb 0x5bbf78
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5ba13c
mov ecx, 5
lea ebx, [esp + 0x124]
cmp ebx, edx
je 0x5ba157
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045ee00
lea edi, [esp + 0x17c]
lea esi, [esp + 0x11c]
call fcn.0045ebe4
lea eax, [0x627380]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408bd0
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x61dd00]
mov dword [esp], ecx
lea ecx, [0x690ca4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5ba200
lea ecx, [0x690ca4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba1e9
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5ba282
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.0045e4b0
jmp 0x5ba282
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba23f
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], ecx
jmp 0x5ba252
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd4]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba277
mov dword [edx + 0xc8], eax
jmp 0x5ba282
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x100], ecx
lea edx, [0x617580]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00408f20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x198]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
add eax, 5
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], eax
call fcn.005bc2e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x5bba87
nop
mov ebx, dword [esp + 0x198]
mov byte [ebx + 0x17c], 0
nop
mov edx, dword [ebx + 0x174]
mov ebp, dword [ebx + 0x16c]
mov esi, dword [ebx + 0x170]
mov eax, dword [ebx + 0x178]
sub esi, eax
mov edi, dword [esp + 0x44]
cmp esi, edi
jl 0x5ba33a
mov esi, edi
lea ecx, [esi + eax]
cmp edx, ecx
jb 0x5bbf73
cmp eax, ecx
ja 0x5bbf6e
mov dword [ebx + 0x178], ecx
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebp
test esi, esi
jle 0x5ba36b
mov byte [ebx + 0x17c], 0xff
lea edx, [ebx + 0xbc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
call fcn.005b7dd0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
test ebp, ebp
je 0x5ba4f4
lea eax, [0x690cb8]
cmp esi, eax
jne 0x5bbf52
movzx eax, byte [edi]
mov ecx, dword [esp + 0x198]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5ba451
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba43a
mov eax, dword [esp + 0x84]
mov dword [edx + 0xc8], eax
jmp 0x5ba4d3
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x84]
call fcn.0045e4b0
jmp 0x5ba4d3
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba490
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
jmp 0x5ba4a3
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba4c8
mov dword [edx + 0xc8], eax
jmp 0x5ba4d3
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
cmp edx, 0x4000
jg 0x5bb94d
mov ebp, dword [esp + 0x198]
mov esi, dword [ebp + 0xd0]
test esi, esi
jne 0x5ba51a
cmp al, 0x17
je 0x5bb823
cmp al, 0x15
je 0x5ba532
cmp al, 0x14
je 0x5ba532
test edx, edx
je 0x5ba532
mov dword [ebp + 0x1cc], 0
movzx esi, word [ebp + 0x24]
cmp si, 0x304
jne 0x5ba68e
cmp al, 0x16
je 0x5bb377
mov edi, ebx
mov ebx, dword [ebp + 0x19c]
sub ebx, dword [ebp + 0x1a4]
test ebx, ebx
jg 0x5ba564
cmp al, 0x15
jmp 0x5ba693
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5ba5eb
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba5d7
mov eax, dword [esp + 0x78]
mov dword [edx + 0xc8], eax
jmp 0x5ba66d
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x78]
call fcn.0045e4b0
jmp 0x5ba66d
mov dword [esp + 0x100], edx
mov dword [esp + 0xc0], ecx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba62a
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x5ba63d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba662
mov dword [edx + 0xc8], eax
jmp 0x5ba66d
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
cmp al, 0x15
mov edi, ebx
ja 0x5bb36c
cmp al, 0x14
jne 0x5bacd6
cmp edx, 1
jne 0x5ba6b0
cmp byte [ecx], 1
je 0x5ba7da
mov dword [esp], ebp
mov byte [esp + 4], 0x32
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5ba737
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba723
mov eax, dword [esp + 0x64]
mov dword [edx + 0xc8], eax
jmp 0x5ba7b9
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x64]
call fcn.0045e4b0
jmp 0x5ba7b9
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba776
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
jmp 0x5ba789
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa4]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba7ae
mov dword [edx + 0xc8], eax
jmp 0x5ba7b9
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov ecx, dword [ebp + 0x19c]
sub ecx, dword [ebp + 0x1a4]
test ecx, ecx
jg 0x5babac
cmp si, 0x304
je 0x5bab7b
movzx ecx, byte [esp + 0x19c]
test cl, cl
je 0x5baa51
mov ecx, dword [ebp + 0xf8]
mov eax, dword [ebp + 0xfc]
test ecx, ecx
je 0x5ba8fb
cmp word [ebp + 0xcc], 0x304
je 0x5ba8fb
mov dword [ebp + 0xd0], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba844
mov dword [ebp + 0xd4], eax
jmp 0x5ba84f
lea edi, [ebp + 0xd4]
call fcn.0045e4b0
mov eax, dword [ebp + 0x104]
mov ecx, dword [ebp + 0x100]
mov dword [ebp + 0xd8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba873
mov dword [ebp + 0xdc], eax
jmp 0x5ba87e
lea edi, [ebp + 0xdc]
call fcn.0045e4b0
mov dword [ebp + 0xf8], 0
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba89e
mov dword [ebp + 0xfc], 0
jmp 0x5ba8ab
lea edi, [ebp + 0xfc]
xor eax, eax
call fcn.0045e4b0
mov dword [ebp + 0x100], 0
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba8cb
mov dword [ebp + 0x104], 0
jmp 0x5ba8d8
lea edi, [ebp + 0x104]
xor eax, eax
call fcn.0045e4b0
lea eax, [ebp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0045ec30
mov ebp, dword [esp + 0x198]
xor ecx, ecx
xor eax, eax
jmp 0x5ba90f
mov eax, 0x50
lea ecx, [0x7acbc0]
lea eax, [ecx + eax*8]
lea ecx, [0x690cb8]
test ecx, ecx
je 0x5bb589
lea edx, [0x690cb8]
cmp ecx, edx
jne 0x5bbf36
movzx eax, byte [eax]
mov dword [esp], ebp
mov byte [esp + 4], al
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5ba9ae
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba99a
mov eax, dword [esp + 0x58]
mov dword [edx + 0xc8], eax
jmp 0x5baa30
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x58]
call fcn.0045e4b0
jmp 0x5baa30
mov dword [esp + 0x98], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5ba9ed
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
jmp 0x5baa00
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5baa25
mov dword [edx + 0xc8], eax
jmp 0x5baa30
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5baad8
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5baac4
mov eax, dword [esp + 0x5c]
mov dword [edx + 0xc8], eax
jmp 0x5bab5a
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x5c]
call fcn.0045e4b0
jmp 0x5bab5a
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bab17
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
jmp 0x5bab2a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bab4f
mov dword [edx + 0xc8], eax
jmp 0x5bab5a
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
movzx eax, byte [esp + 0x19c]
mov byte [esp + 4], al
call fcn.005bbfb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bac33
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bac1f
mov eax, dword [esp + 0x60]
mov dword [edx + 0xc8], eax
jmp 0x5bacb5
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x60]
call fcn.0045e4b0
jmp 0x5bacb5
mov dword [esp + 0x100], edx
mov dword [esp + 0xa0], ecx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bac72
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x5bac85
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bacaa
mov dword [edx + 0xc8], eax
jmp 0x5bacb5
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
cmp al, 0x15
jne 0x5bb6f9
cmp edx, 2
jne 0x5bb242
movzx eax, byte [ecx + 1]
test al, al
je 0x5bb127
mov byte [esp + 0x29], al
cmp si, 0x304
je 0x5bafcd
movzx ecx, byte [ecx]
cmp cl, 1
je 0x5baf9c
cmp cl, 2
jne 0x5bae72
lea eax, [0x628280]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x639d49]
mov dword [eax], ecx
lea ecx, [0x690cb8]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x7acbc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x61dd00]
mov dword [esp], ecx
lea ecx, [0x690aec]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5badcf
lea ecx, [0x690aec]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5badb8
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xc8], eax
jmp 0x5bae51
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf8]
call fcn.0045e4b0
jmp 0x5bae51
mov dword [esp + 0xac], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bae0e
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
jmp 0x5bae21
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bae46
mov dword [edx + 0xc8], eax
jmp 0x5bae51
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5baef9
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5baee5
mov eax, dword [esp + 0x68]
mov dword [edx + 0xc8], eax
jmp 0x5baf7b
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x68]
call fcn.0045e4b0
jmp 0x5baf7b
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5baf38
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
jmp 0x5baf4b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa8]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5baf70
mov dword [edx + 0xc8], eax
jmp 0x5baf7b
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
movzx eax, byte [esp + 0x19c]
mov byte [esp + 4], al
call fcn.005bbfb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
lea eax, [0x628280]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x639d49]
mov dword [eax], ecx
lea ecx, [0x690cb8]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x7acbc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x61dd00]
mov dword [esp], ecx
lea ecx, [0x690aec]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bb084
lea ecx, [0x690aec]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb06d
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xc8], eax
jmp 0x5bb106
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf8]
call fcn.0045e4b0
jmp 0x5bb106
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb0c3
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
jmp 0x5bb0d6
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb0fb
mov dword [edx + 0xc8], eax
jmp 0x5bb106
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov eax, dword [0x7b9fa4]
mov dword [esp + 0x6c], eax
mov ecx, dword [0x7b9fa0]
mov dword [esp + 0x34], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bb19f
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb18b
mov eax, dword [esp + 0x6c]
mov dword [edx + 0xc8], eax
jmp 0x5bb221
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x6c]
call fcn.0045e4b0
jmp 0x5bb221
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb1de
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x5bb1f1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb216
mov dword [edx + 0xc8], eax
jmp 0x5bb221
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bb2c9
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb2b5
mov eax, dword [esp + 0x70]
mov dword [edx + 0xc8], eax
jmp 0x5bb34b
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x70]
call fcn.0045e4b0
jmp 0x5bb34b
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb308
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
jmp 0x5bb31b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb340
mov dword [edx + 0xc8], eax
jmp 0x5bb34b
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
cmp al, 0x16
jne 0x5bb4d4
mov ebx, edi
test edx, edx
je 0x5bb38b
movzx eax, byte [esp + 0x19c]
test al, al
je 0x5bb4b5
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bb412
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb3fe
mov eax, dword [esp + 0x50]
mov dword [edx + 0xc8], eax
jmp 0x5bb494
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x50]
call fcn.0045e4b0
jmp 0x5bb494
mov dword [esp + 0x90], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb451
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
jmp 0x5bb464
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x90]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb489
mov dword [edx + 0xc8], eax
jmp 0x5bb494
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
lea eax, [ebp + 0x198]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004e3be0
jmp 0x5bb589
cmp al, 0x17
jne 0x5bb6f9
mov ebx, dword [esp + 0x48]
cmp ebx, 1
jne 0x5bb5cf
movzx ebx, byte [esp + 0x19c]
test bl, bl
jne 0x5bb5cf
test edx, edx
je 0x5bb5a6
mov dword [esp + 0xec], ecx
nop
mov ebx, dword [0x7e0970]
test ebx, ebx
jne 0x5bb530
xor eax, eax
mov ebx, edi
mov edi, dword [esp + 0x4c]
call fcn.0045e70a
mov ecx, dword [esp + 0xec]
mov dword [ebp + 0x180], ecx
jmp 0x5bb573
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], edx
lea eax, [0x6225e0]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.00410110
mov eax, dword [esp + 0x198]
lea edi, [eax + 0x180]
mov ecx, eax
mov eax, dword [esp + 0xec]
call fcn.0045e4b0
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
mov ebp, ecx
mov dword [ebp + 0x184], edx
mov dword [ebp + 0x188], ebx
mov dword [ebp + 0x194], 0xffffffff
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], bl
call fcn.005bbfb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bb656
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb642
mov eax, dword [esp + 0x54]
mov dword [edx + 0xc8], eax
jmp 0x5bb6d8
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x54]
call fcn.0045e4b0
jmp 0x5bb6d8
mov dword [esp + 0x94], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb695
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
jmp 0x5bb6a8
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb6cd
mov dword [edx + 0xc8], eax
jmp 0x5bb6d8
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bb780
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb76c
mov eax, dword [esp + 0x74]
mov dword [edx + 0xc8], eax
jmp 0x5bb802
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x74]
call fcn.0045e4b0
jmp 0x5bb802
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb7bf
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x5bb7d2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb7f7
mov dword [edx + 0xc8], eax
jmp 0x5bb802
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bb8aa
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb896
mov eax, dword [esp + 0x7c]
mov dword [edx + 0xc8], eax
jmp 0x5bb92c
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x7c]
call fcn.0045e4b0
jmp 0x5bb92c
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb8e9
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
jmp 0x5bb8fc
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb921
mov dword [edx + 0xc8], eax
jmp 0x5bb92c
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov eax, dword [esp + 0x198]
mov dword [esp], eax
mov byte [esp + 4], 0x16
call fcn.005bc5e0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bb9e4
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bb9cd
mov eax, dword [esp + 0x80]
mov dword [edx + 0xc8], eax
jmp 0x5bba66
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x80]
call fcn.0045e4b0
jmp 0x5bba66
mov dword [esp + 0x100], edx
mov dword [esp + 0xc8], ecx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bba23
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x5bba36
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bba5b
mov dword [edx + 0xc8], eax
jmp 0x5bba66
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp + 0x100], eax
mov dword [esp + 0x88], ecx
lea edx, [0x61dd00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5bbabe
mov eax, 1
jmp 0x5bbace
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5bbae5
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
jmp 0x5bbbf0
lea eax, [0x61dd00]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 8], ecx
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bbb60
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ebx, dword [0x7e0970]
test ebx, ebx
jne 0x5bbb49
mov eax, dword [esp + 0x88]
mov dword [edx + 0xc8], eax
jmp 0x5bbbf0
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x88]
call fcn.0045e4b0
jmp 0x5bbbf0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xf4], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf4]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bbb9f
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
jmp 0x5bbbb2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd0]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bbbd7
mov dword [edx + 0xc8], eax
jmp 0x5bbbe2
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
add esp, 0x194
ret
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005bc5e0
lea edi, [esp + 0x164]
xor eax, eax
call fcn.0045e70a
lea eax, [0x642811]
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], 0x24
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0x170]
mov edx, dword [eax + 0x16c]
mov ebx, dword [eax + 0x174]
mov ebp, dword [eax + 0x178]
cmp ecx, ebp
jb 0x5bbf2f
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5bbc76
mov ecx, 5
lea ebx, [esp + 0x16c]
cmp ebx, edx
je 0x5bbc91
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045ee00
lea edi, [esp + 0x17c]
lea esi, [esp + 0x164]
call fcn.0045ebe4
lea eax, [0x627380]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408bd0
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x61dd00]
mov dword [esp], ecx
lea ecx, [0x690ca4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bbd3a
lea ecx, [0x690ca4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bbd23
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5bbdbc
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.0045e4b0
jmp 0x5bbdbc
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bbd79
mov ecx, dword [esp + 0xe0]
mov dword [eax + 4], ecx
jmp 0x5bbd8c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bbdb1
mov dword [edx + 0xc8], eax
jmp 0x5bbdbc
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
lea eax, [0x618d20]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x648a38]
mov dword [eax], ecx
lea ecx, [0x61dd00]
mov dword [esp], ecx
lea ecx, [0x690a60]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bbe77
lea ecx, [0x690a60]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bbe60
mov eax, dword [esp + 0xf0]
mov dword [edx + 0xc8], eax
jmp 0x5bbef9
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf0]
call fcn.0045e4b0
jmp 0x5bbef9
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x618ba0]
mov dword [esp], eax
call fcn.0040b460
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bbeb6
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
jmp 0x5bbec9
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe8]
call fcn.0045e4b0
mov eax, ecx
lea ecx, [0x6909ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5bbeee
mov dword [edx + 0xc8], eax
jmp 0x5bbef9
lea edi, [edx + 0xc8]
call fcn.0045e4b0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x194
ret
mov eax, ebp
call fcn.0045e590
mov dword [esp], ecx
lea eax, [0x619700]
mov dword [esp + 4], eax
lea eax, [0x617400]
mov dword [esp + 8], eax
call fcn.00408b10
mov dword [esp], esi
lea eax, [0x619700]
mov dword [esp + 4], eax
lea eax, [0x617400]
mov dword [esp + 8], eax
call fcn.00408b10
call fcn.0045e590
call fcn.0045e570
mov eax, ebp
call fcn.0045e590
call fcn.0045e590
mov eax, ebp
call fcn.0045e590
mov edx, ecx
mov ecx, 5
call fcn.0045e570
call fcn.0045e590
nop
call fcn.0045d0a0
jmp fcn.005b97e0