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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x468]
cmp eax, dword [ecx + 8]
jbe 0x5f6f27
sub esp, 0x4e8
mov ecx, dword [esp + 0x4ec]
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x22c], edx
mov ebx, dword [ecx + 0x18]
mov ebp, dword [ecx + 0x33c]
cmp ebp, 1
jne 0x5f6f1a
movzx ebp, byte [esp + 0x4fc]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5f6e3c
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x7c], edx
mov eax, dword [ecx + 0x30]
cmp eax, 0xa
jg 0x5f6442
cmp eax, 5
jg 0x5f5f93
lea esi, [eax - 1]
cmp esi, 3
ja 0x5f5db8
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x248], eax
movzx esi, byte [ecx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5f5c76
test ebx, ebx
jge 0x5f5c6b
mov esi, ebx
xor edi, edi
mov dword [esp + 0x10c], ebx
mov dword [esp + 0xf4], edi
test edx, edx
jge 0x5f5c4e
mov dword [esp + 0x418], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x9c], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub edi, ebx
mov esi, dword [esp + 0x60]
sub esi, edx
shl edi, 2
mov dword [esp + 0x254], edi
imul esi, edi
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.00437440
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1b4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1e4], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x47c], edx
lea ebx, [0x6d2f00]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x434], eax
mov ecx, dword [esp + 0x1b4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1e4]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f5c2f
mov ecx, dword [esp + 0x47c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x10c]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x1c], ecx
mov ecx, eax
xor edx, edx
lea ebx, [0x84a5a0]
xor ebp, ebp
xor esi, esi
xor edi, edi
mov dword [esp + 0x3f8], eax
xor eax, eax
mov dword [esp + 0x4bc], eax
mov dword [esp + 0x3f0], ecx
xor ecx, ecx
mov dword [esp + 0x45c], ecx
mov eax, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x468], ebp
mov dword [esp + 0x4b0], ecx
mov dword [esp + 0x46c], edx
mov dword [esp + 0x460], esi
mov dword [esp + 0x4b4], ebx
mov dword [esp + 0x4b8], eax
mov dword [esp + 0x4ac], edi
movzx edx, byte [esp + 0x4fc]
test dl, dl
jne 0x5f5c04
lea edx, [0x6b4b60]
mov dword [esp], edx
mov edi, dword [esp + 0xdc]
mov ecx, dword [esp + 0x248]
imul edi, ecx
lea esi, [edi + 7]
sar esi, 0x1f
shr esi, 0x1d
lea esi, [edi + esi + 7]
sar esi, 3
inc esi
mov dword [esp + 0x18c], esi
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.00437440
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x230], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x234], edx
lea ebx, [0x6b4b60]
mov dword [esp], ebx
mov ebx, dword [esp + 0x18c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00437440
mov eax, dword [esp + 0x248]
lea ecx, [eax + 7]
sar ecx, 0x1f
shr ecx, 0x1d
lea eax, [eax + ecx + 7]
sar eax, 3
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x4c8]
xor esi, esi
xor edi, edi
mov ebp, dword [esp + 0x230]
mov dword [esp + 0x19c], ebp
mov ebp, dword [esp + 0x234]
mov dword [esp + 0x1a0], ebp
mov ebp, dword [esp + 0x4c8]
mov dword [esp + 0x470], ebp
mov dword [esp + 0x198], esi
mov dword [esp + 0x224], edi
mov dword [esp + 0x4d4], edx
mov dword [esp + 0x254], ecx
mov dword [esp + 0x250], ebx
mov edi, dword [esp + 0x7c]
cmp esi, edi
jge 0x5f5bcb
mov edi, dword [esp + 0x4f0]
mov dword [esp], edi
mov edi, dword [esp + 0x4f4]
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov edi, dword [esp + 0x19c]
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x1a0]
mov dword [esp + 0x10], esi
call fcn.0045afe0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c0], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c4], ecx
test eax, eax
jne 0x5f5aa8
mov eax, dword [esp + 0x19c]
cmp eax, 1
jb 0x5f5aa1
mov ecx, dword [esp + 0x1a0]
lea edx, [ecx - 2]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, 1
mov ebx, dword [esp + 0x470]
add edx, ebx
mov dword [esp + 0x4cc], edx
lea ebp, [ecx - 1]
mov dword [esp + 0x23c], ebp
mov esi, dword [esp + 0x254]
cmp esi, 1
jb 0x5f5a9a
lea edi, [eax - 1]
mov dword [esp + 0x238], edi
mov ebp, dword [esp + 0x250]
lea eax, [ebp - 2]
sar eax, 0x1f
xor eax, 0xffffffff
and eax, 1
mov ecx, dword [esp + 0x4d4]
lea edx, [eax + ecx]
mov dword [esp + 0x4a8], edx
dec ebp
mov dword [esp + 0x208], ebp
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
ja 0x5f5875
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5f581a
mov eax, dword [esp + 0x4ec]
mov edx, dword [eax + 0x30]
cmp edx, 7
jg 0x5f4a64
cmp edx, 3
jg 0x5f426d
cmp edx, 1
jne 0x5f3b52
movzx edx, byte [eax + 0x340]
test dl, dl
je 0x5f3977
movzx edx, byte [eax + 0x342]
mov byte [esp + 0x22], dl
xor ebp, ebp
mov dword [esp + 0x170], ebp
mov eax, dword [esp + 0xdc]
cmp ebp, eax
jge 0x5f3902
sar ebp, 0x1f
shr ebp, 0x1d
mov ecx, dword [esp + 0x170]
add ebp, ecx
sar ebp, 3
cmp ebp, edi
jae 0x5f3970
mov ebx, dword [esp + 0x4cc]
movzx ebp, byte [ebx + ebp]
mov dword [esp + 0x380], eax
xor eax, eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x380]
xchg ebp, eax
mov byte [esp + 0x30], al
xchg ebp, eax
mov esi, dword [esp + 0xb8]
cmp esi, 8
jge 0x5f38cd
add esi, ecx
cmp esi, eax
jge 0x5f38cd
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
xchg ebp, eax
cmp dl, al
xchg ebp, eax
jne 0x5f3954
mov dword [esp + 0x370], eax
xor eax, eax
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x4b0]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov esi, dword [esp + 0x198]
mov dword [esp + 8], esi
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
movzx ebp, byte [esp + 0x33]
xchg ebp, eax
mov byte [esp + 0xf], al
xchg ebp, eax
call fcn.005e2c00
mov eax, dword [esp + 0xb8]
inc eax
movzx ebp, byte [esp + 0x30]
shl ebp, 1
mov ecx, dword [esp + 0x170]
movzx edx, byte [esp + 0x22]
mov ebx, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xdc]
xchg ebp, eax
mov byte [esp + 0x30], al
xchg ebp, eax
mov esi, dword [esp + 0xb8]
cmp esi, 8
jl 0x5f380b
lea ebp, [ecx + 8]
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x170], ebp
mov eax, dword [esp + 0xdc]
cmp ebp, eax
jl 0x5f37b9
mov edx, dword [esp + 0x224]
mov ebp, dword [esp + 0x198]
inc ebp
mov eax, dword [esp + 0x228]
mov esi, ebp
mov edi, edx
mov edx, ebx
mov ecx, dword [esp + 0x19c]
mov ebx, dword [esp + 0x1a0]
mov ebp, dword [esp + 0x254]
mov dword [esp + 0x19c], ebp
mov ebp, dword [esp + 0x250]
mov dword [esp + 0x1a0], ebp
mov ebp, dword [esp + 0x4d4]
jmp 0x5f363f
mov dword [esp + 0x378], eax
mov eax, 0xffffffff
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x378]
jmp 0x5f383e
call fcn.00424680
ud2
mov edx, dword [esp + 0x198]
mov ebp, dword [esp + 0x4cc]
mov dword [esp + 0x368], eax
xor eax, eax
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x368]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jge 0x5f3b15
sar eax, 0x1f
shr eax, 0x1d
mov ebx, dword [esp + 0x160]
add eax, ebx
sar eax, 3
cmp eax, edi
jae 0x5f3b4b
movzx eax, byte [ebp + eax]
mov byte [esp + 0x360], al
xor eax, eax
mov dword [esp + 0xcc], eax
movzx eax, byte [esp + 0x360]
mov byte [esp + 0x2b], al
mov esi, dword [esp + 0xcc]
cmp esi, 8
jge 0x5f3ac4
lea ebp, [ebx + esi]
cmp ebp, ecx
jge 0x5f3ac4
mov edi, dword [esp + 0x46c]
mov ecx, dword [edi + 0x1c]
mov ebx, dword [edi + 0x18]
mov esi, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
cmp eax, ebp
jg 0x5f3b44
cmp ebp, ebx
jge 0x5f3b3d
cmp esi, edx
jg 0x5f3b36
cmp edx, ecx
setl cl
test cl, cl
je 0x5f3b2a
mov ecx, dword [edi]
mov ebx, dword [edi + 4]
sub ebp, eax
mov eax, edx
sub edx, esi
mov esi, dword [edi + 0xc]
imul edx, esi
add edx, ebp
cmp edx, ebx
jae 0x5f3b23
movzx ebx, byte [esp + 0x2b]
mov ebp, ebx
shr bl, 7
neg ebx
mov byte [ecx + edx], bl
mov ecx, dword [esp + 0xcc]
inc ecx
shl ebp, 1
mov edx, dword [esp + 0x160]
mov ebx, dword [esp + 0xdc]
mov edx, eax
mov ebx, dword [esp + 0x160]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0xcc], ecx
mov eax, ebp
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x4cc]
mov byte [esp + 0x2b], al
mov esi, dword [esp + 0xcc]
cmp esi, 8
jl 0x5f39fd
lea eax, [ebx + 8]
mov ebx, dword [esp + 0x4cc]
mov ebp, dword [esp + 0x46c]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x4ec]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jl 0x5f39b2
mov eax, ecx
mov ecx, dword [esp + 0x4d4]
jmp 0x5f3902
call fcn.00424680
ud2
mov eax, edx
movzx ebp, byte [esp + 0x2b]
jmp 0x5f3a6a
xor ecx, ecx
jmp 0x5f3a38
xor ecx, ecx
jmp 0x5f3a38
xor ecx, ecx
jmp 0x5f3a38
call fcn.00424680
ud2
cmp edx, 2
jne 0x5f3ee0
movzx edx, byte [eax + 0x340]
test dl, dl
je 0x5f3d03
movzx edx, byte [eax + 0x342]
mov byte [esp + 0x21], dl
xor ebp, ebp
mov dword [esp + 0x148], ebp
mov eax, dword [esp + 0xdc]
cmp ebp, eax
jge 0x5f3cd4
sar ebp, 0x1f
shr ebp, 0x1e
mov ecx, dword [esp + 0x148]
add ebp, ecx
sar ebp, 2
cmp ebp, edi
jae 0x5f3cfc
mov ebx, dword [esp + 0x4cc]
movzx ebp, byte [ebx + ebp]
mov dword [esp + 0x358], eax
xor eax, eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x358]
xchg ebp, eax
mov byte [esp + 0x29], al
xchg ebp, eax
mov esi, dword [esp + 0xb4]
cmp esi, 4
jge 0x5f3c9f
add esi, ecx
cmp esi, eax
jge 0x5f3c9f
xchg ebp, eax
shr al, 6
xchg ebp, eax
imul ebp, ebp, 0x55
xchg ebp, eax
cmp dl, al
xchg ebp, eax
jne 0x5f3ce0
mov dword [esp + 0x348], eax
xor eax, eax
mov byte [esp + 0x32], al
mov eax, dword [esp + 0x348]
mov ebx, dword [esp + 0x4b0]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov esi, dword [esp + 0x198]
mov dword [esp + 8], esi
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
movzx ebp, byte [esp + 0x32]
xchg ebp, eax
mov byte [esp + 0xf], al
xchg ebp, eax
call fcn.005e2c00
mov eax, dword [esp + 0xb4]
inc eax
movzx ebp, byte [esp + 0x29]
shl ebp, 2
mov ecx, dword [esp + 0x148]
movzx edx, byte [esp + 0x21]
mov ebx, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xdc]
xchg ebp, eax
mov byte [esp + 0x29], al
xchg ebp, eax
mov esi, dword [esp + 0xb4]
cmp esi, 4
jl 0x5f3bdf
lea ebp, [ecx + 4]
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x148], ebp
mov eax, dword [esp + 0xdc]
cmp ebp, eax
jl 0x5f3b8d
mov edx, dword [esp + 0x224]
jmp 0x5f3909
mov dword [esp + 0x350], eax
mov eax, 0xffffffff
mov byte [esp + 0x32], al
mov eax, dword [esp + 0x350]
jmp 0x5f3c0f
call fcn.00424680
ud2
mov edx, dword [esp + 0x198]
mov ebp, dword [esp + 0x4cc]
mov dword [esp + 0x340], eax
xor eax, eax
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x340]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jge 0x5f3ea3
sar eax, 0x1f
shr eax, 0x1e
mov ebx, dword [esp + 0x144]
add eax, ebx
sar eax, 2
cmp eax, edi
jae 0x5f3ed9
movzx eax, byte [ebp + eax]
mov byte [esp + 0x338], al
xor eax, eax
mov dword [esp + 0xd0], eax
movzx eax, byte [esp + 0x338]
mov byte [esp + 0x2f], al
mov esi, dword [esp + 0xd0]
cmp esi, 4
jge 0x5f3e52
lea ebp, [ebx + esi]
cmp ebp, ecx
jge 0x5f3e52
mov edi, dword [esp + 0x46c]
mov ecx, dword [edi + 0x1c]
mov ebx, dword [edi + 0x18]
mov esi, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
cmp eax, ebp
jg 0x5f3ed2
cmp ebp, ebx
jge 0x5f3ecb
cmp esi, edx
jg 0x5f3ec4
cmp edx, ecx
setl cl
test cl, cl
je 0x5f3eb8
mov ecx, dword [edi]
sub ebp, eax
mov eax, edx
sub edx, esi
mov ebx, dword [edi + 0xc]
imul edx, ebx
add edx, ebp
mov ebx, dword [edi + 4]
cmp edx, ebx
jae 0x5f3eb1
movzx ebx, byte [esp + 0x2f]
mov ebp, ebx
shr bl, 6
imul ebx, ebx, 0x55
mov byte [ecx + edx], bl
mov ecx, dword [esp + 0xd0]
inc ecx
shl ebp, 2
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0xdc]
mov edx, eax
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0xd0], ecx
mov eax, ebp
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x4cc]
mov byte [esp + 0x2f], al
mov esi, dword [esp + 0xd0]
cmp esi, 4
jl 0x5f3d89
lea eax, [ebx + 4]
mov ebx, dword [esp + 0x4cc]
mov ebp, dword [esp + 0x46c]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x4ec]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jl 0x5f3d3e
mov eax, ecx
mov ecx, dword [esp + 0x4d4]
jmp 0x5f3cd4
call fcn.00424680
ud2
mov eax, edx
movzx ebp, byte [esp + 0x2f]
jmp 0x5f3df7
xor ecx, ecx
jmp 0x5f3dc4
xor ecx, ecx
jmp 0x5f3dc4
xor ecx, ecx
jmp 0x5f3dc4
call fcn.00424680
ud2
cmp edx, 3
jne 0x5f425a
movzx edx, byte [eax + 0x340]
test dl, dl
je 0x5f4073
movzx edx, byte [eax + 0x342]
mov byte [esp + 0x20], dl
xor ebp, ebp
mov dword [esp + 0x164], ebp
mov eax, dword [esp + 0xdc]
cmp ebp, eax
jge 0x5f4056
sar ebp, 0x1f
mov ecx, dword [esp + 0x164]
sub ecx, ebp
sar ecx, 1
cmp ecx, edi
jae 0x5f406c
mov ebp, dword [esp + 0x4cc]
movzx ecx, byte [ebp + ecx]
mov dword [esp + 0x330], eax
xor eax, eax
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x330]
mov byte [esp + 0x31], cl
mov ebx, dword [esp + 0xd4]
cmp ebx, 2
jge 0x5f4018
mov esi, dword [esp + 0x164]
add ebx, esi
cmp ebx, eax
jge 0x5f401f
shr cl, 4
mov byte [esp + 0x35], cl
shl ecx, 4
movzx ebp, byte [esp + 0x35]
lea ecx, [ecx + ebp]
cmp dl, cl
jne 0x5f4062
xor ebp, ebp
mov edi, dword [esp + 0x4b0]
mov dword [esp], edi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 8], ebx
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], cl
xchg ebp, eax
mov byte [esp + 0xf], al
xchg ebp, eax
call fcn.005e2c00
mov eax, dword [esp + 0xd4]
inc eax
movzx ecx, byte [esp + 0x31]
shl ecx, 4
movzx edx, byte [esp + 0x20]
mov ebx, dword [esp + 0x470]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x31], cl
mov ebx, dword [esp + 0xd4]
cmp ebx, 2
jl 0x5f3f68
mov esi, dword [esp + 0x164]
lea ecx, [esi + 2]
mov eax, dword [esp + 0x4ec]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov ebp, ecx
mov ecx, dword [esp + 0x4d4]
mov dword [esp + 0x164], ebp
mov eax, dword [esp + 0xdc]
cmp ebp, eax
jl 0x5f3f1b
mov edx, dword [esp + 0x224]
jmp 0x5f3909
mov ebp, 0xffffffff
jmp 0x5f3f95
call fcn.00424680
ud2
mov edx, dword [esp + 0x198]
mov ebp, dword [esp + 0x4cc]
mov dword [esp + 0x328], eax
xor eax, eax
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x328]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jge 0x5f421d
sar eax, 0x1f
mov ebx, dword [esp + 0x15c]
sub ebx, eax
sar ebx, 1
cmp ebx, edi
jae 0x5f4253
movzx eax, byte [ebp + ebx]
mov ebx, dword [esp + 0x15c]
mov byte [esp + 0x320], al
xor eax, eax
mov dword [esp + 0xc4], eax
movzx eax, byte [esp + 0x320]
mov byte [esp + 0x2e], al
mov esi, dword [esp + 0xc4]
cmp esi, 2
jge 0x5f41cc
lea ebp, [ebx + esi]
cmp ebp, ecx
jge 0x5f41cc
mov edi, dword [esp + 0x46c]
mov ecx, dword [edi + 0x1c]
mov ebx, dword [edi + 0x18]
mov esi, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
cmp eax, ebp
jg 0x5f424c
cmp ebp, ebx
jge 0x5f4245
cmp esi, edx
jg 0x5f423e
cmp edx, ecx
setl cl
test cl, cl
je 0x5f4232
sub ebp, eax
mov eax, edx
sub edx, esi
mov ecx, dword [edi + 0xc]
imul edx, ecx
lea ecx, [ebp + edx]
mov edx, dword [edi]
mov ebx, dword [edi + 4]
cmp ecx, ebx
jae 0x5f422b
movzx ebx, byte [esp + 0x2e]
mov ebp, ebx
shr bl, 4
mov esi, ebx
shl ebx, 4
lea ebx, [ebx + esi]
mov byte [edx + ecx], bl
mov ecx, dword [esp + 0xc4]
inc ecx
shl ebp, 4
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0xdc]
mov edx, eax
mov ebx, dword [esp + 0x15c]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0xc4], ecx
mov eax, ebp
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x4cc]
mov byte [esp + 0x2e], al
mov esi, dword [esp + 0xc4]
cmp esi, 2
jl 0x5f40fc
lea eax, [ebx + 2]
mov ebx, dword [esp + 0x4cc]
mov ebp, dword [esp + 0x46c]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x4ec]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jl 0x5f40ae
mov eax, ecx
mov ecx, dword [esp + 0x4d4]
jmp 0x5f4056
call fcn.00424680
ud2
mov eax, edx
movzx ebp, byte [esp + 0x2e]
jmp 0x5f4171
xor ecx, ecx
jmp 0x5f4137
xor ecx, ecx
jmp 0x5f4137
xor ecx, ecx
jmp 0x5f4137
call fcn.00424680
ud2
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x224]
jmp 0x5f3909
cmp edx, 5
jg 0x5f442d
cmp edx, 4
je 0x5f4350
xor edx, edx
mov dword [esp + 0x168], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jge 0x5f4334
shl edx, 1
cmp edx, edi
jae 0x5f4349
mov eax, dword [esp + 0x4cc]
movzx ecx, byte [eax + edx]
lea ebx, [edx + 1]
cmp ebx, edi
jae 0x5f4342
movzx edx, byte [eax + edx + 1]
mov ebx, dword [esp + 0x4b0]
mov dword [esp], ebx
mov esi, dword [esp + 0x168]
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x198]
mov dword [esp + 8], ebx
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], cl
mov byte [esp + 0xf], dl
call fcn.005e2c00
mov eax, dword [esp + 0x168]
lea edx, [eax + 1]
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0x168], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jl 0x5f4297
mov eax, ebp
mov edx, dword [esp + 0x224]
jmp 0x5f3909
call fcn.00424680
ud2
call fcn.00424680
ud2
movzx edx, byte [eax + 0x340]
test dl, dl
jne 0x5f43e2
mov edx, dword [esp + 0x46c]
mov ebp, dword [edx + 4]
mov eax, dword [edx]
mov ecx, dword [edx + 8]
mov ebx, dword [esp + 0x224]
cmp ebx, ebp
ja 0x5f43db
sub ebp, ebx
sub ecx, ebx
dec ecx
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, ebx
add eax, ecx
cmp ebp, edi
jle 0x5f43d7
mov dword [esp], eax
mov eax, dword [esp + 0x4cc]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0044aa80
mov eax, dword [esp + 0x46c]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x224]
add edx, ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
jmp 0x5f3909
mov edi, ebp
jmp 0x5f438c
call fcn.004246e0
ud2
lea eax, [0x8489a0]
mov dword [esp], eax
lea eax, [0x86e3a0]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x500], 0
mov dword [esp + 0x504], 0
mov dword [esp + 0x508], ecx
mov dword [esp + 0x50c], eax
add esp, 0x4e8
ret
cmp edx, 6
jne 0x5f4862
movzx edx, byte [eax + 0x340]
test dl, dl
je 0x5f46e5
mov edx, dword [esp + 0x4b0]
mov ebp, dword [edx + 4]
mov dword [esp + 0x204], ebp
mov ecx, dword [edx]
mov dword [esp + 0x4a4], ecx
movzx ebx, byte [eax + 0x344]
mov byte [esp + 0x24], bl
movzx esi, byte [eax + 0x346]
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
movzx eax, byte [eax + 0x342]
mov byte [esp + 0x23], al
mov byte [esp + 0x318], al
xor eax, eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x310], ecx
xor ecx, ecx
mov dword [esp + 0x210], ecx
mov dword [esp + 0x308], edx
mov edx, dword [esp + 0x224]
mov dword [esp + 0x218], edx
movzx eax, byte [esp + 0x318]
mov ecx, dword [esp + 0x310]
mov edx, dword [esp + 0x308]
mov edx, dword [esp + 0x178]
mov ecx, dword [esp + 0xdc]
cmp edx, ecx
jge 0x5f4626
mov ecx, dword [esp + 0x210]
cmp ecx, edi
jae 0x5f46de
mov edx, dword [esp + 0x4cc]
movzx esi, byte [edx + ecx]
lea ebp, [ecx + 1]
cmp ebp, edi
jae 0x5f46d7
movzx ebp, byte [edx + ecx + 1]
lea ebx, [ecx + 2]
cmp ebx, edi
jae 0x5f46d0
movzx ebx, byte [edx + ecx + 2]
xchg esi, ebx
cmp al, bl
xchg esi, ebx
jne 0x5f46af
movzx eax, byte [esp + 0x24]
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
jne 0x5f468e
movzx eax, byte [esp + 0x25]
cmp al, bl
jne 0x5f4671
mov byte [esp + 0x2e8], al
xor eax, eax
mov byte [esp + 0x34], al
movzx eax, byte [esp + 0x2e8]
mov eax, dword [esp + 0x218]
mov edx, dword [esp + 0x204]
cmp eax, edx
jae 0x5f466a
mov edi, dword [esp + 0x4a4]
xchg esi, ebx
mov byte [edi + eax], bl
xchg esi, ebx
lea esi, [eax + 1]
cmp esi, edx
jae 0x5f4663
xchg ebp, ebx
mov byte [edi + eax + 1], bl
xchg ebp, ebx
lea ebp, [eax + 2]
cmp ebp, edx
jae 0x5f465c
mov byte [edi + eax + 2], bl
lea ebx, [eax + 3]
cmp ebx, edx
jae 0x5f4655
movzx ebx, byte [esp + 0x34]
mov byte [edi + eax + 3], bl
mov ebx, dword [esp + 0x178]
inc ebx
add eax, 4
add ecx, 3
movzx ebp, byte [esp + 0x24]
mov esi, dword [esp + 0xdc]
mov edx, dword [esp + 0x4b0]
mov ebp, dword [esp + 0x204]
movzx esi, byte [esp + 0x25]
mov edi, dword [esp + 0x238]
mov dword [esp + 0x178], ebx
mov dword [esp + 0x210], ecx
mov dword [esp + 0x218], eax
movzx eax, byte [esp + 0x23]
mov ecx, dword [esp + 0x4a4]
movzx ebx, byte [esp + 0x24]
mov edx, dword [esp + 0x178]
mov ecx, dword [esp + 0xdc]
cmp edx, ecx
jl 0x5f44e3
mov eax, dword [esp + 0x4b0]
mov edx, dword [eax + 0xc]
mov ebx, dword [esp + 0x224]
add edx, ebx
mov eax, ecx
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
jmp 0x5f3909
call fcn.00424680
ud2
call fcn.00424680
ud2
call fcn.00424680
ud2
call fcn.00424680
ud2
mov byte [esp + 0x2f0], al
mov eax, 0xffffffff
mov byte [esp + 0x34], al
movzx eax, byte [esp + 0x2f0]
jmp 0x5f455c
movzx eax, byte [esp + 0x25]
mov dword [esp + 0x2f8], ecx
mov ecx, 0xffffffff
mov byte [esp + 0x34], cl
mov ecx, dword [esp + 0x2f8]
jmp 0x5f455c
movzx eax, byte [esp + 0x25]
mov dword [esp + 0x300], ecx
mov ecx, 0xffffffff
mov byte [esp + 0x34], cl
mov ecx, dword [esp + 0x300]
jmp 0x5f455c
call fcn.00424680
ud2
call fcn.00424680
ud2
call fcn.00424680
ud2
mov edx, dword [esp + 0x460]
mov ebp, dword [edx + 4]
mov eax, dword [edx]
mov dword [esp + 0x2e0], eax
xor eax, eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x2d8], ecx
mov ecx, dword [esp + 0x224]
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x2d0], edx
xor edx, edx
mov dword [esp + 0x214], edx
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2d8]
mov edx, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x180]
mov ebx, dword [esp + 0xdc]
cmp ecx, ebx
jge 0x5f482a
mov esi, dword [esp + 0x214]
cmp esi, edi
jae 0x5f485b
mov edx, dword [esp + 0x4cc]
movzx ebx, byte [edx + esi]
mov ecx, dword [esp + 0x24c]
cmp ecx, ebp
jae 0x5f485b
mov byte [eax + ecx], bl
lea ebx, [esi + 1]
cmp ebx, edi
jae 0x5f4854
movzx ebx, byte [edx + esi + 1]
lea edx, [ecx + 1]
cmp edx, ebp
jae 0x5f4854
mov byte [eax + ecx + 1], bl
lea edx, [esi + 2]
cmp edx, edi
jae 0x5f484d
mov edx, dword [esp + 0x4cc]
movzx ebx, byte [edx + esi + 2]
lea edx, [ecx + 2]
cmp edx, ebp
jae 0x5f484d
mov byte [eax + ecx + 2], bl
lea edx, [ecx + 3]
cmp edx, ebp
jae 0x5f4846
mov byte [eax + ecx + 3], 0xff
mov edx, dword [esp + 0x180]
inc edx
add ecx, 4
lea ebx, [esi + 3]
mov esi, dword [esp + 0xdc]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x180], edx
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x214], ebx
mov ecx, dword [esp + 0x4d4]
mov edx, dword [esp + 0x460]
mov ebx, dword [esp + 0x470]
mov ecx, dword [esp + 0x180]
mov ebx, dword [esp + 0xdc]
cmp ecx, ebx
jl 0x5f4751
mov ebp, dword [edx + 0xc]
mov edi, dword [esp + 0x224]
add ebp, edi
mov eax, dword [esp + 0x4b0]
mov ecx, ebx
mov edx, ebp
jmp 0x5f4639
call fcn.00424680
ud2
call fcn.00424680
ud2
call fcn.00424680
ud2
call fcn.00424680
ud2
mov edx, dword [esp + 0x198]
mov ebp, dword [esp + 0x4cc]
mov dword [esp + 0x2c8], eax
xor eax, eax
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x2c8]
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jge 0x5f4a1e
sar eax, 0x1f
shr eax, 0x1d
mov ebx, dword [esp + 0x14c]
add eax, ebx
sar eax, 3
cmp eax, edi
jae 0x5f4a5d
movzx eax, byte [ebp + eax]
mov byte [esp + 0x2c0], al
xor eax, eax
mov dword [esp + 0xc8], eax
movzx eax, byte [esp + 0x2c0]
mov byte [esp + 0x2a], al
mov esi, dword [esp + 0xc8]
cmp esi, 8
jge 0x5f49cd
lea ebp, [ebx + esi]
cmp ebp, ecx
jge 0x5f49cd
shr al, 7
mov byte [esp + 0x27], al
mov edi, dword [esp + 0x468]
mov ecx, dword [edi + 0x28]
mov ebx, dword [edi + 0x24]
movzx esi, al
cmp ebx, esi
jg 0x5f491c
lea ebx, [esi + 1]
cmp ebx, ecx
ja 0x5f4a56
mov dword [edi + 0x24], ebx
mov ecx, dword [edi + 0x1c]
mov ebx, dword [edi + 0x18]
mov esi, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
cmp eax, ebp
jg 0x5f4a4f
cmp ebp, ebx
jge 0x5f4a48
cmp esi, edx
jg 0x5f4a41
cmp edx, ecx
setl cl
test cl, cl
je 0x5f4a3a
mov ecx, dword [edi]
mov ebx, dword [edi + 4]
sub ebp, eax
mov eax, edx
sub edx, esi
mov esi, dword [edi + 0xc]
imul edx, esi
add edx, ebp
cmp edx, ebx
jae 0x5f4a33
movzx ebx, byte [esp + 0x27]
mov byte [ecx + edx], bl
mov ecx, dword [esp + 0xc8]
inc ecx
movzx edx, byte [esp + 0x2a]
shl edx, 1
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0xdc]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0xc8], ecx
mov eax, edx
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0x198]
mov byte [esp + 0x2a], al
mov esi, dword [esp + 0xc8]
cmp esi, 8
jl 0x5f48e8
lea eax, [ebx + 8]
mov ebx, dword [esp + 0x4cc]
mov ebp, dword [esp + 0x468]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x4ec]
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jl 0x5f489d
mov eax, ecx
mov ecx, dword [esp + 0x4d4]
mov edx, dword [esp + 0x224]
jmp 0x5f3909
call fcn.00424680
ud2
mov eax, edx
jmp 0x5f4970
xor ecx, ecx
jmp 0x5f4945
xor ecx, ecx
jmp 0x5f4945
xor ecx, ecx
jmp 0x5f4945
call fcn.004246e0
ud2
call fcn.00424680
ud2
cmp edx, 0xb
jg 0x5f505f
cmp edx, 9
jg 0x5f4e90
cmp edx, 8
jne 0x5f4c86
mov edx, dword [esp + 0x198]
mov ebp, dword [esp + 0x4cc]
mov dword [esp + 0x2b8], eax
xor eax, eax
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x2b8]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jge 0x5f4c40
sar eax, 0x1f
shr eax, 0x1e
mov ebx, dword [esp + 0x174]
add eax, ebx
sar eax, 2
cmp eax, edi
jae 0x5f4c7f
movzx eax, byte [ebp + eax]
mov byte [esp + 0x2b0], al
xor eax, eax
mov dword [esp + 0xc0], eax
movzx eax, byte [esp + 0x2b0]
mov byte [esp + 0x2d], al
mov esi, dword [esp + 0xc0]
cmp esi, 4
jge 0x5f4bef
lea ebp, [ebx + esi]
cmp ebp, ecx
jge 0x5f4bef
shr al, 6
mov byte [esp + 0x26], al
mov edi, dword [esp + 0x468]
mov ecx, dword [edi + 0x24]
mov ebx, dword [edi + 0x28]
movzx esi, al
cmp ecx, esi
jg 0x5f4b39
lea ecx, [esi + 1]
cmp ecx, ebx
ja 0x5f4c78
mov dword [edi + 0x24], ecx
mov ecx, dword [edi + 0x14]
mov ebx, dword [edi + 0x10]
mov esi, dword [edi + 0x1c]
mov eax, dword [edi + 0x18]
cmp ebx, ebp
jg 0x5f4c71
cmp ebp, eax
jge 0x5f4c6a
cmp ecx, edx
jg 0x5f4c63
cmp edx, esi
setl al
test al, al
je 0x5f4c5c
mov eax, dword [edi]
mov esi, dword [edi + 4]
sub ebp, ebx
mov ebx, edx
sub edx, ecx
mov ecx, dword [edi + 0xc]
imul edx, ecx
lea ecx, [ebp + edx]
cmp ecx, esi
jae 0x5f4c55
movzx edx, byte [esp + 0x26]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xc0]
inc eax
movzx ecx, byte [esp + 0x2d]
shl ecx, 2
mov edx, dword [esp + 0x174]
mov ebp, dword [esp + 0xdc]
mov edx, ebx
mov ebx, dword [esp + 0x174]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0xc0], eax
mov eax, ecx
mov ecx, dword [esp + 0xdc]
mov byte [esp + 0x2d], al
mov esi, dword [esp + 0xc0]
cmp esi, 4
jl 0x5f4b05
lea eax, [ebx + 4]
mov ebx, dword [esp + 0x4cc]
mov ebp, dword [esp + 0x468]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x4ec]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jl 0x5f4aba
mov eax, ecx
mov ecx, dword [esp + 0x4d4]
mov edx, dword [esp + 0x224]
jmp 0x5f3909
call fcn.00424680
ud2
mov ebx, edx
jmp 0x5f4b8f
xor eax, eax
jmp 0x5f4b62
xor eax, eax
jmp 0x5f4b62
xor eax, eax
jmp 0x5f4b62
call fcn.004246e0
ud2
call fcn.00424680
ud2
mov edx, dword [esp + 0x198]
mov ebp, dword [esp + 0x4cc]
mov dword [esp + 0x2a8], eax
xor eax, eax
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x2a8]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jge 0x5f4e4a
sar eax, 0x1f
mov ebx, dword [esp + 0x17c]
sub ebx, eax
sar ebx, 1
cmp ebx, edi
jae 0x5f4e89
movzx eax, byte [ebp + ebx]
mov ebx, dword [esp + 0x17c]
mov byte [esp + 0x2a0], al
xor eax, eax
mov dword [esp + 0xbc], eax
movzx eax, byte [esp + 0x2a0]
mov byte [esp + 0x2c], al
mov esi, dword [esp + 0xbc]
cmp esi, 2
jge 0x5f4df9
lea ebp, [ebx + esi]
cmp ebp, ecx
jge 0x5f4df9
shr al, 4
mov byte [esp + 0x28], al
mov edi, dword [esp + 0x468]
mov ecx, dword [edi + 0x24]
mov ebx, dword [edi + 0x28]
movzx esi, al
cmp ecx, esi
jg 0x5f4d43
lea ecx, [esi + 1]
cmp ecx, ebx
ja 0x5f4e82
mov dword [edi + 0x24], ecx
mov ecx, dword [edi + 0x14]
mov ebx, dword [edi + 0x10]
mov esi, dword [edi + 0x1c]
mov eax, dword [edi + 0x18]
cmp ebx, ebp
jg 0x5f4e7b
cmp ebp, eax
jge 0x5f4e74
cmp ecx, edx
jg 0x5f4e6d
cmp edx, esi
setl al
test al, al
je 0x5f4e66
mov eax, dword [edi]
sub ebp, ebx
mov ebx, edx
sub edx, ecx
mov ecx, dword [edi + 0xc]
imul edx, ecx
lea ecx, [ebp + edx]
mov edx, dword [edi + 4]
cmp ecx, edx
jae 0x5f4e5f
movzx edx, byte [esp + 0x28]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xbc]
inc eax
movzx ecx, byte [esp + 0x2c]
shl ecx, 4
mov edx, dword [esp + 0x17c]
mov ebp, dword [esp + 0xdc]
mov edx, ebx
mov ebx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0xbc], eax
mov eax, ecx
mov ecx, dword [esp + 0xdc]
mov byte [esp + 0x2c], al
mov esi, dword [esp + 0xbc]
cmp esi, 2
jl 0x5f4d0f
lea eax, [ebx + 2]
mov ebx, dword [esp + 0x4cc]
mov ebp, dword [esp + 0x468]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x4ec]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jl 0x5f4cc1
mov eax, ecx
mov ecx, dword [esp + 0x4d4]
mov edx, dword [esp + 0x224]
jmp 0x5f3909
call fcn.00424680
ud2
mov ebx, edx
jmp 0x5f4d99
xor eax, eax
jmp 0x5f4d6c
xor eax, eax
jmp 0x5f4d6c
xor eax, eax
jmp 0x5f4d6c
call fcn.004246e0
ud2
call fcn.00424680
ud2
cmp edx, 0xa
jne 0x5f4fdc
mov edx, dword [esp + 0x468]
mov ebp, dword [edx + 0x24]
cmp ebp, 0xff
je 0x5f4fc9
mov ebp, dword [esp + 0x4cc]
mov dword [esp + 0x298], eax
xor eax, eax
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x298]
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jge 0x5f4f46
mov ebx, dword [edx + 0x28]
mov esi, dword [edx + 0x24]
cmp eax, edi
jae 0x5f4fc2
movzx ebp, byte [ebp + eax]
cmp esi, ebp
jg 0x5f4f02
inc ebp
cmp ebp, ebx
ja 0x5f4fbb
mov dword [edx + 0x24], ebp
inc eax
mov ebx, dword [esp + 0x4cc]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x4ec]
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0xdc]
cmp eax, ecx
jl 0x5f4edf
mov eax, dword [edx + 8]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
mov esi, dword [esp + 0x224]
cmp esi, ebx
ja 0x5f4fb4
sub ebx, esi
sub eax, esi
dec eax
sar eax, 0x1f
xor eax, 0xffffffff
and eax, esi
add eax, ecx
cmp ebx, edi
jle 0x5f4fb0
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.0044aa80
mov eax, dword [esp + 0x468]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x224]
add edx, ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
jmp 0x5f3909
mov edi, ebx
jmp 0x5f4f6c
call fcn.004246e0
ud2
call fcn.004246e0
ud2
call fcn.00424680
ud2
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x4cc]
jmp 0x5f4f46
mov edx, dword [esp + 0x4b0]
mov ebp, dword [edx + 8]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov ebx, dword [esp + 0x224]
cmp ebx, ecx
ja 0x5f5058
sub ecx, ebx
sub ebp, ebx
dec ebp
sar ebp, 0x1f
xor ebp, 0xffffffff
and ebp, ebx
add eax, ebp
cmp ecx, edi
jle 0x5f5054
mov dword [esp], eax
mov eax, dword [esp + 0x4cc]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0044aa80
mov eax, dword [esp + 0x4b0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x224]
add edx, ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
jmp 0x5f3909
mov edi, ecx
jmp 0x5f5009
call fcn.004246e0
ud2
cmp edx, 0xd
jg 0x5f533c
cmp edx, 0xc
jne 0x5f523c
movzx edx, byte [eax + 0x340]
test dl, dl
je 0x5f5183
movzx edx, byte [eax + 0x342]
movzx ebp, byte [eax + 0x341]
shl ebp, 8
or edx, ebp
mov word [esp + 0x36], dx
xor ebp, ebp
mov dword [esp + 0x188], ebp
mov eax, dword [esp + 0xdc]
cmp ebp, eax
jge 0x5f5166
shl ebp, 1
cmp ebp, edi
jae 0x5f517c
mov ecx, dword [esp + 0x4cc]
movzx ebx, byte [ecx + ebp]
lea esi, [ebp + 1]
cmp esi, edi
jae 0x5f517c
movzx ebp, byte [ecx + ebp + 1]
shl ebx, 8
or ebp, ebx
cmp dx, bp
jne 0x5f5172
xor ebx, ebx
mov esi, dword [esp + 0x4ac]
mov dword [esp], esi
mov esi, dword [esp + 0x188]
mov dword [esp + 4], esi
mov edx, dword [esp + 0x198]
mov dword [esp + 8], edx
mov word [esp + 0xc], bp
mov word [esp + 0xe], bp
mov word [esp + 0x10], bp
mov word [esp + 0x12], bx
call fcn.005e3470
mov eax, dword [esp + 0x188]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4d4]
movzx edx, word [esp + 0x36]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0x188], ebp
mov eax, dword [esp + 0xdc]
cmp ebp, eax
jl 0x5f50b0
mov edx, dword [esp + 0x224]
jmp 0x5f3909
mov ebx, 0xffffffff
jmp 0x5f50e5
call fcn.00424680
ud2
xor edx, edx
mov dword [esp + 0x16c], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jge 0x5f522e
shl edx, 1
cmp edx, edi
jae 0x5f5235
mov eax, dword [esp + 0x4cc]
movzx ecx, byte [eax + edx]
lea ebx, [edx + 1]
cmp ebx, edi
jae 0x5f5235
movzx edx, byte [eax + edx + 1]
mov ebx, dword [esp + 0x4bc]
mov dword [esp], ebx
mov esi, dword [esp + 0x16c]
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x198]
mov dword [esp + 8], ebx
shl ecx, 8
or edx, ecx
mov word [esp + 0xc], dx
call fcn.005e4b60
mov eax, dword [esp + 0x16c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0x16c], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jl 0x5f519b
mov eax, ebp
jmp 0x5f5166
call fcn.00424680
ud2
xor edx, edx
mov dword [esp + 0x154], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jge 0x5f5320
shl edx, 2
cmp edx, edi
jae 0x5f5335
mov eax, dword [esp + 0x4cc]
movzx ecx, byte [eax + edx]
lea ebx, [edx + 1]
cmp ebx, edi
jae 0x5f5335
movzx ebx, byte [eax + edx + 1]
shl ecx, 8
or ebx, ecx
lea ecx, [edx + 2]
cmp ecx, edi
jae 0x5f532e
movzx ecx, byte [eax + edx + 2]
lea esi, [edx + 3]
cmp esi, edi
jae 0x5f532e
movzx edx, byte [eax + edx + 3]
mov esi, dword [esp + 0x4ac]
mov dword [esp], esi
mov esi, dword [esp + 0x154]
mov dword [esp + 4], esi
mov eax, dword [esp + 0x198]
mov dword [esp + 8], eax
mov word [esp + 0xc], bx
mov word [esp + 0xe], bx
mov word [esp + 0x10], bx
shl ecx, 8
or edx, ecx
mov word [esp + 0x12], dx
call fcn.005e3470
mov eax, dword [esp + 0x154]
lea edx, [eax + 1]
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0x154], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jl 0x5f5254
mov eax, ebp
mov edx, dword [esp + 0x224]
jmp 0x5f3909
call fcn.00424680
ud2
call fcn.00424680
ud2
cmp edx, 0xe
jne 0x5f56af
movzx edx, byte [eax + 0x340]
test dl, dl
je 0x5f5583
movzx edx, byte [eax + 0x342]
movzx ebp, byte [eax + 0x341]
shl ebp, 8
or edx, ebp
mov word [esp + 0x38], dx
movzx ebp, byte [eax + 0x344]
movzx ecx, byte [eax + 0x343]
shl ecx, 8
or ebp, ecx
mov word [esp + 0x3a], bp
movzx ecx, byte [eax + 0x346]
movzx eax, byte [eax + 0x345]
shl eax, 8
or ecx, eax
mov word [esp + 0x3c], cx
xor eax, eax
mov dword [esp + 0x140], eax
mov ebx, dword [esp + 0xdc]
cmp eax, ebx
jge 0x5f54f1
lea esi, [eax + eax*2]
shl esi, 1
cmp esi, edi
jae 0x5f557c
mov ebx, dword [esp + 0x4cc]
movzx ecx, byte [ebx + esi]
lea eax, [esi + 1]
cmp eax, edi
jae 0x5f557c
movzx eax, byte [ebx + esi + 1]
shl ecx, 8
or eax, ecx
lea ecx, [esi + 2]
cmp ecx, edi
jae 0x5f5575
movzx ecx, byte [ebx + esi + 2]
lea ebp, [esi + 3]
cmp ebp, edi
jae 0x5f5575
movzx ebp, byte [ebx + esi + 3]
shl ecx, 8
or ebp, ecx
mov word [esp + 0x3e], bp
lea ecx, [esi + 4]
cmp ecx, edi
jae 0x5f556e
movzx ecx, byte [ebx + esi + 4]
lea ebp, [esi + 5]
cmp ebp, edi
jae 0x5f556e
movzx ebp, byte [ebx + esi + 5]
shl ecx, 8
or ebp, ecx
cmp dx, ax
jne 0x5f5550
movzx ecx, word [esp + 0x3a]
movzx esi, word [esp + 0x3e]
cmp cx, si
jne 0x5f552c
movzx ecx, word [esp + 0x3c]
cmp cx, bp
jne 0x5f550d
mov word [esp + 0x280], ax
xor eax, eax
mov word [esp + 0x40], ax
movzx eax, word [esp + 0x280]
mov ecx, dword [esp + 0x4ac]
mov dword [esp], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x198]
mov dword [esp + 8], edx
mov word [esp + 0xc], ax
mov word [esp + 0xe], si
mov word [esp + 0x10], bp
movzx eax, word [esp + 0x40]
mov word [esp + 0x12], ax
call fcn.005e3470
mov eax, dword [esp + 0x140]
inc eax
movzx ecx, word [esp + 0x3c]
movzx edx, word [esp + 0x38]
mov ebx, dword [esp + 0x470]
movzx ebp, word [esp + 0x3a]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0x140], eax
mov ebx, dword [esp + 0xdc]
cmp eax, ebx
jl 0x5f53b4
mov eax, ebx
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov edx, dword [esp + 0x224]
jmp 0x5f3909
mov word [esp + 0x288], ax
mov eax, 0xffffffff
mov word [esp + 0x40], ax
movzx eax, word [esp + 0x288]
jmp 0x5f5471
movzx ecx, word [esp + 0x3c]
mov word [esp + 0x290], ax
mov eax, 0xffffffff
mov word [esp + 0x40], ax
movzx eax, word [esp + 0x290]
jmp 0x5f5471
movzx ecx, word [esp + 0x3c]
movzx esi, word [esp + 0x3e]
mov ecx, 0xffffffff
mov word [esp + 0x40], cx
movzx ecx, word [esp + 0x3c]
jmp 0x5f5471
call fcn.00424680
ud2
call fcn.00424680
ud2
call fcn.00424680
ud2
xor edx, edx
mov dword [esp + 0x150], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jge 0x5f5693
lea eax, [edx + edx*2]
shl eax, 1
cmp eax, edi
jae 0x5f56a8
mov ecx, dword [esp + 0x4cc]
movzx ebx, byte [ecx + eax]
lea esi, [eax + 1]
cmp esi, edi
jae 0x5f56a8
movzx esi, byte [ecx + eax + 1]
shl ebx, 8
or esi, ebx
lea ebx, [eax + 2]
cmp ebx, edi
jae 0x5f56a1
movzx ebx, byte [ecx + eax + 2]
lea ebp, [eax + 3]
cmp ebp, edi
jae 0x5f56a1
movzx ebp, byte [ecx + eax + 3]
shl ebx, 8
or ebp, ebx
lea ebx, [eax + 4]
cmp ebx, edi
jae 0x5f569a
movzx ebx, byte [ecx + eax + 4]
mov word [esp + 0x42], bx
lea ebx, [eax + 5]
cmp ebx, edi
jae 0x5f569a
movzx eax, byte [ecx + eax + 5]
mov ebx, dword [esp + 0x45c]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x198]
mov dword [esp + 8], ebx
mov word [esp + 0xc], si
mov word [esp + 0xe], bp
movzx ebp, word [esp + 0x42]
shl ebp, 8
or eax, ebp
mov word [esp + 0x10], ax
mov word [esp + 0x12], 0xffff
call fcn.005e23c0
mov eax, dword [esp + 0x150]
lea edx, [eax + 1]
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0x150], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jl 0x5f559b
mov ebx, ebp
jmp 0x5f54f1
call fcn.00424680
ud2
call fcn.00424680
ud2
call fcn.00424680
ud2
cmp edx, 0xf
jne 0x5f425a
xor edx, edx
mov dword [esp + 0x158], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jge 0x5f57f0
shl edx, 3
cmp edx, edi
jae 0x5f5813
mov eax, dword [esp + 0x4cc]
movzx ecx, byte [eax + edx]
lea ebx, [edx + 1]
cmp ebx, edi
jae 0x5f5813
movzx ebx, byte [eax + edx + 1]
shl ecx, 8
or ebx, ecx
lea ecx, [edx + 2]
cmp ecx, edi
jae 0x5f580c
movzx ecx, byte [eax + edx + 2]
lea esi, [edx + 3]
cmp esi, edi
jae 0x5f580c
movzx esi, byte [eax + edx + 3]
shl ecx, 8
or esi, ecx
lea ecx, [edx + 4]
cmp ecx, edi
jae 0x5f5805
movzx ecx, byte [eax + edx + 4]
lea ebp, [edx + 5]
cmp ebp, edi
jae 0x5f5805
movzx ebp, byte [eax + edx + 5]
shl ecx, 8
or ecx, ebp
lea ebp, [edx + 6]
cmp ebp, edi
jae 0x5f57fe
movzx ebp, byte [eax + edx + 6]
mov word [esp + 0x42], bp
lea ebp, [edx + 7]
cmp ebp, edi
jae 0x5f57fe
movzx edx, byte [eax + edx + 7]
mov ebp, dword [esp + 0x4ac]
mov dword [esp], ebp
mov ebp, dword [esp + 0x158]
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x198]
mov dword [esp + 8], eax
mov word [esp + 0xc], bx
mov word [esp + 0xe], si
mov word [esp + 0x10], cx
movzx ecx, word [esp + 0x42]
shl ecx, 8
or edx, ecx
mov word [esp + 0x12], dx
call fcn.005e3470
mov eax, dword [esp + 0x158]
lea edx, [eax + 1]
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
mov dword [esp + 0x158], edx
mov ebp, dword [esp + 0xdc]
cmp edx, ebp
jl 0x5f56d0
mov eax, ebp
mov edx, dword [esp + 0x224]
jmp 0x5f3909
call fcn.00424680
ud2
call fcn.00424680
ud2
call fcn.00424680
ud2
call fcn.00424680
ud2
mov eax, dword [esp + 0x4cc]
mov edx, dword [esp + 0x228]
mov ebp, edx
mov dword [esp + 0x21c], edx
cmp edx, edi
jge 0x5f3762
jae 0x5f586e
movzx ecx, byte [eax + edx]
sub edx, ebp
cmp edx, edi
jae 0x5f586e
movzx edx, byte [eax + edx]
add ecx, edx
mov edx, dword [esp + 0x21c]
mov byte [eax + edx], cl
inc edx
mov ecx, dword [esp + 0x4d4]
mov dword [esp + 0x21c], edx
cmp edx, edi
jge 0x5f3762
jb 0x5f583b
call fcn.00424680
ud2
lea ebx, [esi - 1]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x5f58c6
lea eax, [ecx + eax]
mov edx, dword [esp + 0x4cc]
xor ebp, ebp
cmp ebp, ebx
jge 0x5f58b3
movzx ecx, byte [eax]
cmp ebp, edi
jae 0x5f58bf
movzx esi, byte [edx + ebp]
add ecx, esi
mov byte [edx + ebp], cl
inc eax
inc ebp
mov ecx, dword [esp + 0x4d4]
mov esi, dword [esp + 0x254]
cmp ebp, ebx
jl 0x5f588f
mov ebx, dword [esp + 0x470]
jmp 0x5f3762
call fcn.00424680
ud2
xchg ebp, eax
cmp al, 3
xchg ebp, eax
jne 0x5f59d2
mov eax, dword [esp + 0x4cc]
mov ebp, dword [esp + 0x228]
mov dword [esp + 0x278], eax
xor eax, eax
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x220]
cmp ecx, ebp
jge 0x5f5948
cmp ecx, edi
jae 0x5f59cb
movzx esi, byte [eax + ecx]
cmp ecx, ebx
jae 0x5f59cb
movzx edx, byte [edx + ecx]
shr dl, 1
add edx, esi
mov byte [eax + ecx], dl
inc ecx
mov edx, dword [esp + 0x4a8]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0x4d4]
mov ecx, dword [esp + 0x220]
cmp ecx, ebp
jl 0x5f5901
mov ecx, ebp
mov dword [esp + 0x24c], ebp
cmp ebp, edi
jge 0x5f59b1
jae 0x5f59c4
movzx esi, byte [eax + ebp]
sub ebp, ecx
cmp ebp, edi
jae 0x5f59c4
movzx ebp, byte [eax + ebp]
mov ecx, dword [esp + 0x24c]
cmp ecx, ebx
jae 0x5f59c4
movzx edx, byte [edx + ecx]
add edx, ebp
mov ebp, edx
sar edx, 0x1f
sub ebp, edx
sar ebp, 1
lea edx, [esi + ebp]
mov byte [eax + ecx], dl
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x4a8]
mov edx, dword [esp + 0x228]
mov ecx, edx
mov edx, dword [esp + 0x4a8]
mov esi, dword [esp + 0x254]
mov dword [esp + 0x24c], ebp
cmp ebp, edi
jl 0x5f5955
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
jmp 0x5f3762
call fcn.00424680
ud2
call fcn.00424680
ud2
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jne 0x5f5a36
mov eax, dword [esp + 0x4cc]
mov dword [esp], eax
mov dword [esp + 4], edi
mov ebp, dword [esp + 0x23c]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x208]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x228]
mov dword [esp + 0x18], edx
call fcn.005f1b90
mov ecx, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x470]
mov esi, dword [esp + 0x254]
mov edi, dword [esp + 0x238]
jmp 0x5f3762
lea eax, [0x7084e2]
mov dword [esp + 0x4d8], eax
mov dword [esp + 0x4dc], 0xf
lea eax, [0x8489a0]
mov dword [esp], eax
lea eax, [esp + 0x4d8]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x500], 0
mov dword [esp + 0x504], 0
mov dword [esp + 0x508], ecx
mov dword [esp + 0x50c], eax
add esp, 0x4e8
ret
call fcn.004246e0
ud2
call fcn.004246e0
ud2
mov edx, dword [0x8729e0]
cmp eax, edx
je 0x5f5b8b
mov edx, dword [0x872a08]
cmp eax, edx
je 0x5f5aeb
mov dword [esp + 0x500], 0
mov dword [esp + 0x504], 0
mov dword [esp + 0x508], eax
mov dword [esp + 0x50c], ecx
add esp, 0x4e8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x872a0c]
mov ebx, dword [0x872a08]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.004022c0
movzx eax, byte [esp + 0x10]
test al, al
je 0x5f5b78
lea eax, [0x70b082]
mov dword [esp + 0x4e0], eax
mov dword [esp + 0x4e4], 0x15
lea eax, [0x8489a0]
mov dword [esp], eax
lea eax, [esp + 0x4e0]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x500], 0
mov dword [esp + 0x504], 0
mov dword [esp + 0x508], ecx
mov dword [esp + 0x50c], eax
add esp, 0x4e8
ret
mov eax, dword [esp + 0x4c0]
mov ecx, dword [esp + 0x4c4]
jmp 0x5f5ac0
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x8729e4]
mov ebx, dword [0x8729e0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.004022c0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5f5b14
mov eax, dword [esp + 0x4c0]
mov ecx, dword [esp + 0x4c4]
jmp 0x5f5ab6
mov eax, dword [esp + 0x4b4]
mov dword [esp + 0x500], eax
mov eax, dword [esp + 0x4b8]
mov dword [esp + 0x504], eax
mov dword [esp + 0x508], 0
mov dword [esp + 0x50c], 0
add esp, 0x4e8
ret
mov dword [esp + 0x500], ebx
mov dword [esp + 0x504], eax
mov dword [esp + 0x508], 0
mov dword [esp + 0x50c], 0
add esp, 0x4e8
ret
mov dword [esp], eax
mov ecx, dword [esp + 0x47c]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x434]
jmp 0x5f34bc
xor edx, edx
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x420]
jmp 0x5f3425
mov esi, ebx
xor ebx, ebx
mov edi, esi
jmp 0x5f33fb
test ebx, ebx
jge 0x5f5dad
mov esi, ebx
xor edi, edi
mov dword [esp + 0x124], ebx
mov dword [esp + 0x104], edi
test edx, edx
jge 0x5f5d90
mov dword [esp + 0x268], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x268]
mov dword [esp + 0x80], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub edi, ebx
mov dword [esp + 0x44], edi
mov esi, dword [esp + 0x50]
sub esi, edx
imul esi, edi
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.00437440
mov eax, dword [esp + 0xc]
mov dword [esp + 0x480], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1cc], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1e8], edx
lea ebx, [0x6d2e00]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x43c], eax
mov ecx, dword [esp + 0x1cc]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1e8]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f5d74
mov ecx, dword [esp + 0x480]
mov dword [eax], ecx
mov ebp, dword [esp + 0x44]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x80]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0x104]
mov dword [eax + 0x18], ebp
mov ebp, dword [esp + 0x50]
mov dword [eax + 0x1c], ebp
xor ecx, ecx
mov edx, eax
lea ebx, [0x84a560]
jmp 0x5f34f5
mov dword [esp], eax
mov ecx, dword [esp + 0x480]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x43c]
jmp 0x5f5d39
xor edx, edx
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x270]
jmp 0x5f5cac
mov esi, ebx
xor ebx, ebx
mov edi, esi
jmp 0x5f5c82
cmp eax, 5
jne 0x5f5f3b
test ebx, ebx
jge 0x5f5f30
mov eax, ebx
xor esi, esi
mov dword [esp + 0x114], ebx
mov dword [esp + 0xfc], esi
test edx, edx
jge 0x5f5f23
mov edi, edx
xor edx, edx
mov dword [esp + 0x64], edx
mov edx, edi
mov dword [esp + 0x8c], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x64]
sub edi, edx
shl esi, 2
mov dword [esp + 0x254], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1f8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4a0], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c0], edx
lea ebx, [0x6d2f00]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x448], eax
mov ecx, dword [esp + 0x1c0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1f8]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f5f04
mov ecx, dword [esp + 0x4a0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x114]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 0x1c], ecx
xor ebp, ebp
mov ecx, eax
xor edx, edx
xor esi, esi
lea ebx, [0x84a5a0]
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x4bc], ecx
mov dword [esp + 0x3e8], eax
xor eax, eax
mov dword [esp + 0x45c], eax
mov dword [esp + 0x3e0], ebp
mov ebp, 0x10
mov dword [esp + 0x248], ebp
mov ecx, dword [esp + 0x3e8]
mov eax, ecx
mov ebp, dword [esp + 0x3e0]
jmp 0x5f3529
mov dword [esp], eax
mov ecx, dword [esp + 0x4a0]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x448]
jmp 0x5f5e84
mov edi, edx
xor edx, edx
mov dword [esp + 0x64], edi
jmp 0x5f5ded
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f5dcd
xor ebp, ebp
xor ecx, ecx
xor edx, edx
xor esi, esi
xor ebx, ebx
xor eax, eax
xor edi, edi
mov dword [esp + 0x410], ebp
xor ebp, ebp
mov dword [esp + 0x4bc], ebp
mov dword [esp + 0x408], ecx
xor ecx, ecx
mov dword [esp + 0x45c], ecx
mov dword [esp + 0x400], edx
xor edx, edx
mov dword [esp + 0x248], edx
mov ebp, dword [esp + 0x410]
mov ecx, dword [esp + 0x408]
mov edx, dword [esp + 0x400]
jmp 0x5f3529
cmp eax, 6
jne 0x5f6256
movzx eax, byte [ecx + 0x340]
test al, al
je 0x5f6125
test ebx, ebx
jge 0x5f611a
mov eax, ebx
xor esi, esi
mov dword [esp + 0x134], ebx
mov dword [esp + 0xf0], esi
test edx, edx
jge 0x5f610d
mov edi, edx
xor edx, edx
mov dword [esp + 0x5c], edx
mov edx, edi
mov dword [esp + 0xa4], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x5c]
sub edi, edx
shl esi, 2
mov dword [esp + 0x254], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0xc]
mov dword [esp + 0x484], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1d0], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1f4], edx
lea ebx, [0x6d2f00]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x458], eax
mov ecx, dword [esp + 0x1d0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1f4]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f60ee
mov ecx, dword [esp + 0x484]
mov dword [eax], ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x134]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xf0]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x1c], ecx
mov ecx, eax
xor edx, edx
lea ebx, [0x84a5a0]
xor ebp, ebp
mov esi, edx
xor edi, edi
xor edx, edx
mov dword [esp + 0x4bc], edx
mov dword [esp + 0x3d8], eax
xor eax, eax
mov dword [esp + 0x45c], eax
mov dword [esp + 0x3d0], ecx
mov ecx, 0x18
mov dword [esp + 0x248], ecx
xor edx, edx
mov eax, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3d0]
jmp 0x5f3529
mov dword [esp], eax
mov ecx, dword [esp + 0x484]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x458]
jmp 0x5f606e
mov edi, edx
xor edx, edx
mov dword [esp + 0x5c], edi
jmp 0x5f5fd7
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f5fb7
test ebx, ebx
jge 0x5f624b
mov eax, ebx
xor esi, esi
mov dword [esp + 0x13c], ebx
mov dword [esp + 0xe8], esi
test edx, edx
jge 0x5f623e
mov edi, edx
xor edx, edx
mov dword [esp + 0x4c], edx
mov edx, edi
mov dword [esp + 0xac], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x4c]
sub edi, edx
shl esi, 2
mov dword [esp + 0x254], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4d0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x244], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x240], edx
lea ebx, [0x6d3000]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x450], eax
mov ecx, dword [esp + 0x240]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x244]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f6222
mov ecx, dword [esp + 0x4d0]
mov dword [eax], ecx
mov ebp, dword [esp + 0x254]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x13c]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0xac]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0xe8]
mov dword [eax + 0x18], ebp
mov ebp, dword [esp + 0x4c]
mov dword [eax + 0x1c], ebp
xor ecx, ecx
mov edx, eax
lea ebx, [0x84a600]
jmp 0x5f60a7
mov dword [esp], eax
mov ecx, dword [esp + 0x4d0]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x450]
jmp 0x5f61e4
mov edi, edx
xor edx, edx
mov dword [esp + 0x4c], edi
jmp 0x5f6151
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f6131
add eax, 0xfffffff9
cmp eax, 3
ja 0x5f5f3b
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x248], eax
test ebx, ebx
jge 0x5f6437
mov esi, ebx
xor edi, edi
mov dword [esp + 0x110], ebx
mov dword [esp + 0xe0], edi
test edx, edx
jge 0x5f641a
mov dword [esp + 0x258], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x88], edx
mov esi, dword [ecx + 0x2c]
mov dword [esp + 0x194], esi
mov ebp, dword [ecx + 0x28]
mov dword [esp + 0x190], ebp
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x464], ecx
lea eax, [0x6b4b60]
mov dword [esp], eax
sub edi, ebx
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x74]
sub eax, edx
imul eax, edi
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00437440
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1a8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x474], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1a4], edx
lea ebx, [0x6d7940]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x428], eax
mov ecx, dword [esp + 0x1a4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1a8]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f63fb
mov ecx, dword [esp + 0x474]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x110]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xe0]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x190]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x194]
mov dword [eax + 0x28], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x20]
test ecx, ecx
jne 0x5f63df
mov ecx, dword [esp + 0x464]
mov dword [eax + 0x20], ecx
mov ebp, eax
xor ecx, ecx
xor edx, edx
xor esi, esi
lea ebx, [0x84a5e0]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x4bc], ebp
mov dword [esp + 0x3c8], eax
xor eax, eax
mov dword [esp + 0x45c], eax
mov ebp, dword [esp + 0x3c8]
mov eax, ebp
jmp 0x5f3529
mov dword [esp], edx
mov ecx, dword [esp + 0x464]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x428]
jmp 0x5f63a8
mov dword [esp], eax
mov ecx, dword [esp + 0x474]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x428]
jmp 0x5f6351
xor edx, edx
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x260]
jmp 0x5f62a2
mov esi, ebx
xor ebx, ebx
mov edi, esi
jmp 0x5f6278
cmp eax, 0xc
jg 0x5f6877
cmp eax, 0xb
jne 0x5f65ce
test ebx, ebx
jge 0x5f65c3
mov eax, ebx
xor esi, esi
mov dword [esp + 0x128], ebx
mov dword [esp + 0xe4], esi
test edx, edx
jge 0x5f65b6
mov edi, edx
xor edx, edx
mov dword [esp + 0x54], edx
mov edx, edi
mov dword [esp + 0xa0], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x54]
sub edi, edx
shl esi, 2
mov dword [esp + 0x254], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1b0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1ec], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x488], edx
lea ebx, [0x6d2f00]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x438], eax
mov ecx, dword [esp + 0x1b0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1ec]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f6597
mov ecx, dword [esp + 0x488]
mov dword [eax], ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x128]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x1c], ecx
xor ebp, ebp
mov ecx, eax
xor edx, edx
xor esi, esi
lea ebx, [0x84a5a0]
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x4bc], ecx
mov dword [esp + 0x3c0], eax
xor eax, eax
mov dword [esp + 0x45c], eax
mov dword [esp + 0x3b8], ebp
mov ebp, 0x20
mov dword [esp + 0x248], ebp
mov ecx, dword [esp + 0x3c0]
mov eax, ecx
mov ebp, dword [esp + 0x3b8]
jmp 0x5f3529
mov dword [esp], eax
mov ecx, dword [esp + 0x488]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x438]
jmp 0x5f6517
mov edi, edx
xor edx, edx
mov dword [esp + 0x54], edi
jmp 0x5f6480
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f6460
movzx eax, byte [ecx + 0x340]
test al, al
je 0x5f6747
test ebx, ebx
jge 0x5f673c
mov eax, ebx
xor esi, esi
mov dword [esp + 0x138], ebx
mov dword [esp + 0x100], esi
test edx, edx
jge 0x5f672f
mov edi, edx
xor edx, edx
mov dword [esp + 0x70], edx
mov edx, edi
mov dword [esp + 0x94], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x70]
sub edi, edx
shl esi, 3
mov dword [esp + 0x254], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1d4], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1e0], edx
lea ebx, [0x6d2f80]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x440], eax
mov ecx, dword [esp + 0x1d4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1e0]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f6710
mov ecx, dword [esp + 0x48c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x138]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x94]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x1c], ecx
lea ecx, [0x84a5c0]
mov edx, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov edi, edx
mov dword [esp + 0x4bc], ebx
xor edx, edx
mov dword [esp + 0x45c], edx
mov dword [esp + 0x3b0], eax
mov eax, 0x10
mov dword [esp + 0x248], eax
xor edx, edx
mov ebx, ecx
mov eax, dword [esp + 0x3b0]
xor ecx, ecx
jmp 0x5f3529
mov dword [esp], eax
mov ecx, dword [esp + 0x48c]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x440]
jmp 0x5f669c
mov edi, edx
xor edx, edx
mov dword [esp + 0x70], edi
jmp 0x5f6609
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f65e9
test ebx, ebx
jge 0x5f686c
mov eax, ebx
xor esi, esi
mov dword [esp + 0x12c], ebx
mov dword [esp + 0xd8], esi
test edx, edx
jge 0x5f685f
mov edi, edx
xor edx, edx
mov dword [esp + 0x6c], edx
mov edx, edi
mov dword [esp + 0xb0], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x6c]
sub edi, edx
shl esi, 1
mov dword [esp + 0x254], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1b8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x49c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1dc], edx
lea ebx, [0x6d2e80]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x454], eax
mov ecx, dword [esp + 0x1b8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1dc]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f6843
mov ecx, dword [esp + 0x49c]
mov dword [eax], ecx
mov ebp, dword [esp + 0x254]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x12c]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0xb0]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0xd8]
mov dword [eax + 0x18], ebp
mov ebp, dword [esp + 0x6c]
mov dword [eax + 0x1c], ebp
lea ecx, [0x84a580]
xor edx, edx
mov ebx, eax
jmp 0x5f66d5
mov dword [esp], eax
mov ecx, dword [esp + 0x49c]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x454]
jmp 0x5f6805
mov edi, edx
xor edx, edx
mov dword [esp + 0x6c], edi
jmp 0x5f6773
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f6753
cmp eax, 0xd
jne 0x5f69fa
test ebx, ebx
jge 0x5f69ef
mov eax, ebx
xor esi, esi
mov dword [esp + 0x118], ebx
mov dword [esp + 0xf8], esi
test edx, edx
jge 0x5f69e2
mov edi, edx
xor edx, edx
mov dword [esp + 0x58], edx
mov edx, edi
mov dword [esp + 0x98], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x58]
sub edi, edx
shl esi, 3
mov dword [esp + 0x254], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x200], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x498], edx
lea ebx, [0x6d2f80]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x44c], eax
mov ecx, dword [esp + 0x1c4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x200]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f69c3
mov ecx, dword [esp + 0x498]
mov dword [eax], ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x118]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xf8]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x1c], ecx
xor ebp, ebp
xor ecx, ecx
xor edx, edx
xor esi, esi
lea ebx, [0x84a5c0]
mov edi, eax
xor edi, edi
mov dword [esp + 0x4bc], edi
mov dword [esp + 0x3a8], eax
xor eax, eax
mov dword [esp + 0x45c], eax
mov dword [esp + 0x3a0], ebp
mov ebp, 0x20
mov dword [esp + 0x248], ebp
mov edi, dword [esp + 0x3a8]
mov eax, edi
mov ebp, dword [esp + 0x3a0]
jmp 0x5f3529
mov dword [esp], eax
mov ecx, dword [esp + 0x498]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x44c]
jmp 0x5f6943
mov edi, edx
xor edx, edx
mov dword [esp + 0x58], edi
jmp 0x5f68ac
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f688c
cmp eax, 0xe
jne 0x5f6cad
movzx eax, byte [ecx + 0x340]
test al, al
je 0x5f6b7c
test ebx, ebx
jge 0x5f6b71
mov eax, ebx
xor esi, esi
mov dword [esp + 0x130], ebx
mov dword [esp + 0x108], esi
test edx, edx
jge 0x5f6b64
mov edi, edx
xor edx, edx
mov dword [esp + 0x68], edx
mov edx, edi
mov dword [esp + 0x84], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x68]
sub edi, edx
shl esi, 3
mov dword [esp + 0x254], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1bc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x478], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1d8], edx
lea ebx, [0x6d2f80]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x42c], eax
mov ecx, dword [esp + 0x1bc]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1d8]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f6b45
mov ecx, dword [esp + 0x478]
mov dword [eax], ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x130]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0x1c], ecx
lea ecx, [0x84a5c0]
mov edx, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov edi, edx
xor edx, edx
mov dword [esp + 0x4bc], edx
mov dword [esp + 0x45c], ebx
mov dword [esp + 0x398], eax
mov eax, 0x30
mov dword [esp + 0x248], eax
xor edx, edx
mov ebx, ecx
mov eax, dword [esp + 0x398]
xor ecx, ecx
jmp 0x5f3529
mov dword [esp], eax
mov ecx, dword [esp + 0x478]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x42c]
jmp 0x5f6ad1
mov edi, edx
xor edx, edx
mov dword [esp + 0x68], edi
jmp 0x5f6a3e
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f6a1e
test ebx, ebx
jge 0x5f6ca2
mov eax, ebx
xor esi, esi
mov dword [esp + 0x11c], ebx
mov dword [esp + 0xec], esi
test edx, edx
jge 0x5f6c95
mov edi, edx
xor edx, edx
mov dword [esp + 0x78], edx
mov edx, edi
mov dword [esp + 0xa8], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x78]
sub edi, edx
shl esi, 3
mov dword [esp + 0x254], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0xc]
mov dword [esp + 0x494], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c8], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1f0], edx
lea ebx, [0x6d3080]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x444], eax
mov ecx, dword [esp + 0x1c8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1f0]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f6c79
mov ecx, dword [esp + 0x494]
mov dword [eax], ecx
mov ebp, dword [esp + 0x254]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x11c]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0xa8]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0xec]
mov dword [eax + 0x18], ebp
mov ebp, dword [esp + 0x78]
mov dword [eax + 0x1c], ebp
lea ecx, [0x84a620]
xor edx, edx
mov ebx, eax
jmp 0x5f6b0a
mov dword [esp], eax
mov ecx, dword [esp + 0x494]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x444]
jmp 0x5f6c3b
mov edi, edx
xor edx, edx
mov dword [esp + 0x78], edi
jmp 0x5f6ba8
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f6b88
cmp eax, 0xf
jne 0x5f5f3b
test ebx, ebx
jge 0x5f6e31
mov eax, ebx
xor esi, esi
mov dword [esp + 0x120], ebx
mov dword [esp + 0x254], esi
test edx, edx
jge 0x5f6e21
mov edi, edx
xor edx, edx
mov dword [esp + 0x250], edx
mov edx, edi
mov dword [esp + 0x90], edx
lea ecx, [0x6b4b60]
mov dword [esp], ecx
sub esi, ebx
mov edi, dword [esp + 0x250]
sub edi, edx
shl esi, 3
mov dword [esp + 0x24c], esi
imul edi, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00437440
mov eax, dword [esp + 0xc]
mov dword [esp + 0x490], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1ac], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1fc], edx
lea ebx, [0x6d2f80]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x430], eax
mov ecx, dword [esp + 0x1ac]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1fc]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x5f6e02
mov ecx, dword [esp + 0x490]
mov dword [eax], ecx
mov ecx, dword [esp + 0x24c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x120]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x250]
mov dword [eax + 0x1c], ecx
xor ebp, ebp
xor ecx, ecx
xor edx, edx
xor esi, esi
lea ebx, [0x84a5c0]
mov edi, eax
xor edi, edi
mov dword [esp + 0x4bc], edi
mov dword [esp + 0x390], eax
xor eax, eax
mov dword [esp + 0x45c], eax
mov dword [esp + 0x388], ebp
mov ebp, 0x40
mov dword [esp + 0x248], ebp
mov edi, dword [esp + 0x390]
mov eax, edi
mov ebp, dword [esp + 0x388]
jmp 0x5f3529
mov dword [esp], eax
mov ecx, dword [esp + 0x490]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x430]
jmp 0x5f6d7f
mov edi, edx
xor edx, edx
mov dword [esp + 0x250], edi
jmp 0x5f6ce5
mov eax, ebx
xor ebx, ebx
mov esi, eax
jmp 0x5f6cc2
mov esi, dword [0x86e840]
mov edi, dword [0x86e844]
mov eax, ebp
mov ebp, dword [esp + 0x4f8]
cmp ebp, edi
jae 0x5f6f13
shl ebp, 4
mov edi, dword [esi + ebp + 8]
mov ecx, dword [esi + ebp + 4]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esi + ebp]
mov ebp, dword [esi + ebp + 0xc]
sub ebx, edi
test ecx, ecx
je 0x5f6f0c
lea ebx, [ebx + ecx - 1]
mov esi, eax
mov eax, ebx
cmp ecx, 0xffffffff
je 0x5f6f08
cdq
idiv ecx
mov ecx, dword [esp + 0x22c]
sub ecx, ebp
mov edx, dword [esp + 0x20c]
test edx, edx
je 0x5f6f01
lea ecx, [ecx + edx - 1]
mov ebx, eax
mov eax, ecx
mov ebp, edx
cmp ebp, 0xffffffff
je 0x5f6efd
cdq
idiv ebp
test ebx, ebx
jne 0x5f6ee9
mov dword [esp + 0x500], 0
mov dword [esp + 0x504], 0
mov dword [esp + 0x508], 0
mov dword [esp + 0x50c], 0
add esp, 0x4e8
ret
test eax, eax
je 0x5f6eb6
mov ecx, dword [esp + 0x4ec]
mov ebp, esi
mov edx, eax
jmp 0x5f33a8
neg eax
jmp 0x5f6eb2
call fcn.00424740
ud2
neg eax
jmp 0x5f6e8c
call fcn.00424740
ud2
call fcn.00424680
ud2
movzx ebp, byte [esp + 0x4fc]
jmp 0x5f33a8
call fcn.004486b0
jmp fcn.005f3350