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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c0]
cmp eax, dword [ecx + 8]
jbe 0x5b65eb
sub esp, 0x340
mov eax, dword [esp + 0x344]
test byte [eax], al
lea ecx, [0x5fe040]
mov dword [esp], ecx
lea edx, [eax + 0x64]
mov dword [esp + 4], edx
call fcn.00408f60
mov eax, dword [esp + 8]
lea ecx, [0x5fe040]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004b3850
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0x3c]
add ecx, dword [esp + 8]
mov dword [esp + 0x60], ecx
movzx edx, word [eax + 0x74]
mov dword [esp + 0x5c], edx
lea ebx, [0x600580]
mov dword [esp], ebx
call fcn.0040b6c0
mov esi, dword [esp + 4]
mov dword [esp + 0x2b4], esi
mov eax, dword [esp + 0x344]
movzx ecx, word [eax + 0x66]
mov word [esp + 0x24], cx
lea edi, [esp + 0xac]
call fcn.004617fc
lea ecx, [0x600580]
mov dword [esp], ecx
lea edx, [esp + 0xac]
mov dword [esp + 4], edx
call fcn.00408f60
mov eax, dword [esp + 8]
lea ecx, [0x600580]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004b3850
mov eax, dword [esp + 8]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
lea ecx, [edx + ecx + 4]
xor edx, edx
jmp 0x5b54fb
movzx ebp, word [esp + 0x26]
lea edx, [ebp + 1]
mov eax, dword [esp + 0x58]
mov ecx, ebx
mov dword [esp + 0x38], ecx
movzx ebx, word [esp + 0x24]
cmp dx, bx
jae 0x5b612a
mov word [esp + 0x26], dx
mov edx, dword [esp + 0x344]
mov dword [esp], edx
lea ebx, [0x5d7220]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x2b4]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.005a9440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x5b6115
mov esi, dword [esp + 0x2b4]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
add ecx, edx
mov eax, 0
adc eax, 0
mov edx, dword [esp + 0x344]
mov ebx, dword [edx + 0x2b4]
cmp ebx, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp dword [edx + 0x2b0], ecx
mov edi, ecx
setb cl
cmp ebx, eax
setl bl
and ebp, ecx
or ebx, ebp
test bl, bl
je 0x5b55a3
mov dword [edx + 0x2b0], edi
mov dword [edx + 0x2b4], eax
lea edi, [esp + 0x314]
xor eax, eax
call fcn.00461345
lea edi, [esp + 0x314]
call fcn.004617fc
lea edi, [esp + 0x2e8]
lea esi, [esp + 0x314]
call fcn.004617f2
nop
lea ecx, [esp + 0x64]
mov dword [esp], ecx
lea ecx, [esp + 0x2e8]
mov dword [esp + 4], ecx
mov dword [esp + 8], 8
call fcn.0044e1a0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [0x667c54]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0xffffffff
call fcn.004c6820
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2a4], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x28], edx
lea edi, [esp + 0xac]
xor eax, eax
call fcn.00461346
lea edi, [esp + 0x84]
mov esi, dword [esp + 0x2b4]
call fcn.004617fc
lea ecx, [esp + 0xac]
mov dword [esp], ecx
lea ebx, [esp + 0x84]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x28
call fcn.00402990
movzx ecx, byte [esp + 0xc]
test cl, cl
jne 0x5b569b
mov eax, dword [esp + 0x344]
xor ecx, ecx
jmp 0x5b57aa
mov dword [esp], 0
lea eax, [0x60d4d2]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
lea ebx, [0x61514e]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x19
call fcn.0044df90
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0x274]
mov edx, dword [esp + 0x1c]
mov ebx, dword [eax + 0x270]
mov ebp, dword [eax + 0x278]
mov esi, dword [esp + 0x20]
lea edi, [ecx + 1]
cmp ebp, edi
jae 0x5b5779
mov dword [esp + 0x2b0], edx
mov dword [esp + 0x54], esi
lea eax, [0x5e4740]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x278], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b575a
mov dword [ebx + 0x270], eax
jmp 0x5b5765
lea edi, [ebx + 0x270]
call fcn.004610d0
mov edx, dword [esp + 0x2b0]
mov esi, dword [esp + 0x54]
mov ebx, eax
mov eax, dword [esp + 0x344]
lea ebp, [ecx + 1]
mov dword [eax + 0x274], ebp
lea ebp, [ebx + ecx*8 + 4]
mov dword [ebp], esi
mov ebp, dword [0x7e1c20]
lea edi, [ebx + ecx*8]
test ebp, ebp
jne 0x5b579a
mov dword [edi], edx
jmp 0x5b57a5
mov ecx, eax
mov eax, edx
call fcn.004610d0
mov eax, ecx
mov ecx, 1
mov edx, dword [esp + 0x2b4]
mov ebx, dword [edx + 0x10]
add ebx, dword [edx + 0x14]
cmp dword [eax + 0x2ac], ebx
jae 0x5b58df
mov dword [esp + 0x44], ecx
mov dword [esp], 0
lea eax, [0x60d4d2]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
lea ebx, [0x619090]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x23
call fcn.0044df90
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0x274]
mov edx, dword [esp + 0x1c]
mov ebx, dword [eax + 0x270]
mov ebp, dword [eax + 0x278]
mov esi, dword [esp + 0x20]
lea edi, [ecx + 1]
cmp ebp, edi
jae 0x5b58a5
mov dword [esp + 0x2b0], edx
mov dword [esp + 0x54], esi
lea eax, [0x5e4740]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x278], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b5886
mov dword [ebx + 0x270], eax
jmp 0x5b5891
lea edi, [ebx + 0x270]
call fcn.004610d0
mov edx, dword [esp + 0x2b0]
mov esi, dword [esp + 0x54]
mov ebx, eax
mov eax, dword [esp + 0x344]
lea ebp, [ecx + 1]
mov dword [eax + 0x274], ebp
lea ebp, [ebx + ecx*8 + 4]
mov dword [ebp], esi
mov ebp, dword [0x7e1c20]
lea edi, [ebx + ecx*8]
test ebp, ebp
jne 0x5b58c6
mov dword [edi], edx
jmp 0x5b58d1
mov ecx, eax
mov eax, edx
call fcn.004610d0
mov eax, ecx
mov edx, dword [esp + 0x44]
lea ecx, [edx + 1]
mov edx, dword [esp + 0x2b4]
mov dword [esp + 0x54], ecx
mov ebx, dword [edx + 0x14]
movzx ebp, byte [eax + 0x295]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b592c
lea edi, [esp + 0x1b4]
mov ebp, eax
xor eax, eax
call fcn.00461314
mov ecx, dword [ebp + 0x78]
mov esi, dword [ebp + 0x7c]
lea edx, [0x605ea0]
cmp ecx, edx
jne 0x5b65d4
lea edi, [esp + 0x1b4]
call fcn.00461608
mov ecx, dword [esp + 0x1d8]
jmp 0x5b5969
lea edi, [esp + 0xd4]
mov ebp, eax
xor eax, eax
call fcn.00461318
mov ecx, dword [ebp + 0x78]
mov esi, dword [ebp + 0x7c]
lea edx, [0x606220]
cmp ecx, edx
jne 0x5b65be
lea edi, [esp + 0xd4]
call fcn.00461630
mov ecx, dword [esp + 0xf8]
lea edx, [0x605ea0]
cmp ecx, 0x200
jbe 0x5b5a6e
test ecx, 1
je 0x5b5a68
mov dword [esp + 0x40], ecx
mov esi, dword [ebp + 0x274]
lea edx, [esi + 1]
mov edi, ebx
mov ebx, dword [ebp + 0x270]
mov ecx, dword [ebp + 0x278]
cmp ecx, edx
jae 0x5b5a04
mov dword [esp + 0x60], edi
lea eax, [0x5e4740]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x278], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b59ed
mov dword [ebx + 0x270], eax
jmp 0x5b59f8
lea edi, [ebx + 0x270]
call fcn.004610d0
mov ebp, ebx
mov edi, dword [esp + 0x60]
mov esi, ecx
mov ebx, eax
xor eax, eax
lea ecx, [esi + 1]
mov dword [ebp + 0x274], ecx
mov ecx, dword [0x7b5fb8]
mov edx, dword [0x7b5fbc]
lea ebp, [ebx + esi*8 + 4]
mov dword [ebp], edx
mov edx, dword [0x7e1c20]
lea ebx, [ebx + esi*8]
test edx, edx
jne 0x5b5a3b
mov dword [ebx], ecx
mov ecx, dword [esp + 0x40]
cmp ecx, 0x200
jmp 0x5b5a57
mov edx, edi
mov edi, ebx
mov eax, ecx
call fcn.004610d0
mov ecx, dword [esp + 0x40]
cmp ecx, 0x200
mov eax, 0
mov edi, edx
lea edx, [0x605ea0]
mov ebx, edi
mov ebp, dword [esp + 0x344]
jmp 0x5b5a6e
cmp ecx, 0x200
jb 0x5b5a76
shr ebx, 9
shl ebx, 9
cmp dword [ebp + 0x2ac], ebx
jb 0x5b5a89
mov eax, ebp
mov ecx, dword [esp + 0x54]
jmp 0x5b5b9a
mov dword [esp], 0
lea eax, [0x60d4d2]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
lea ebx, [0x61d3f5]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x34
call fcn.0044df90
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0x274]
mov edx, dword [esp + 0x1c]
mov ebx, dword [eax + 0x270]
mov ebp, dword [eax + 0x278]
mov esi, dword [esp + 0x20]
lea edi, [ecx + 1]
cmp ebp, edi
jae 0x5b5b67
mov dword [esp + 0x2b0], edx
mov dword [esp + 0x50], esi
lea eax, [0x5e4740]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x278], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b5b48
mov dword [ebx + 0x270], eax
jmp 0x5b5b53
lea edi, [ebx + 0x270]
call fcn.004610d0
mov edx, dword [esp + 0x2b0]
mov esi, dword [esp + 0x50]
mov ebx, eax
mov eax, dword [esp + 0x344]
lea ebp, [ecx + 1]
mov dword [eax + 0x274], ebp
lea ebp, [ebx + ecx*8 + 4]
mov dword [ebp], esi
mov ebp, dword [0x7e1c20]
lea edi, [ebx + ecx*8]
test ebp, ebp
jne 0x5b5b88
mov dword [edi], edx
jmp 0x5b5b93
mov ecx, eax
mov eax, edx
call fcn.004610d0
mov eax, ecx
mov edx, dword [esp + 0x54]
lea ecx, [edx + 1]
mov edx, dword [esp + 0x2b4]
cmp dword [edx + 8], 0x10000000
jbe 0x5b5cca
mov dword [esp + 0x4c], ecx
mov dword [esp], 0
lea eax, [0x60d4d2]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
lea ebx, [0x61ac14]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x29
call fcn.0044df90
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0x274]
mov edx, dword [esp + 0x1c]
mov ebx, dword [eax + 0x270]
mov ebp, dword [eax + 0x278]
mov esi, dword [esp + 0x20]
lea edi, [ecx + 1]
cmp ebp, edi
jae 0x5b5c90
mov dword [esp + 0x2b0], edx
mov dword [esp + 0x54], esi
lea eax, [0x5e4740]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x278], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b5c71
mov dword [ebx + 0x270], eax
jmp 0x5b5c7c
lea edi, [ebx + 0x270]
call fcn.004610d0
mov edx, dword [esp + 0x2b0]
mov esi, dword [esp + 0x54]
mov ebx, eax
mov eax, dword [esp + 0x344]
lea ebp, [ecx + 1]
mov dword [eax + 0x274], ebp
lea ebp, [ebx + ecx*8 + 4]
mov dword [ebp], esi
mov ebp, dword [0x7e1c20]
lea edi, [ebx + ecx*8]
test ebp, ebp
jne 0x5b5cb1
mov dword [edi], edx
jmp 0x5b5cbc
mov ecx, eax
mov eax, edx
call fcn.004610d0
mov eax, ecx
mov edx, dword [esp + 0x4c]
lea ecx, [edx + 1]
mov edx, dword [esp + 0x2b4]
mov dword [esp + 0x54], ecx
mov ebx, dword [edx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.005a9190
cmp dword [esp + 8], 0x10000000
ja 0x5b5cf7
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x54]
jmp 0x5b5e08
mov dword [esp], 0
lea eax, [0x60d4d2]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
lea ebx, [0x619a74]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x25
call fcn.0044df90
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0x274]
mov edx, dword [esp + 0x1c]
mov ebx, dword [eax + 0x270]
mov ebp, dword [eax + 0x278]
mov esi, dword [esp + 0x20]
lea edi, [ecx + 1]
cmp ebp, edi
jae 0x5b5dd5
mov dword [esp + 0x2b0], edx
mov dword [esp + 0x50], esi
lea eax, [0x5e4740]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x278], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b5db6
mov dword [ebx + 0x270], eax
jmp 0x5b5dc1
lea edi, [ebx + 0x270]
call fcn.004610d0
mov edx, dword [esp + 0x2b0]
mov esi, dword [esp + 0x50]
mov ebx, eax
mov eax, dword [esp + 0x344]
lea ebp, [ecx + 1]
mov dword [eax + 0x274], ebp
lea ebp, [ebx + ecx*8 + 4]
mov dword [ebp], esi
mov ebp, dword [0x7e1c20]
lea edi, [ebx + ecx*8]
test ebp, ebp
jne 0x5b5df6
mov dword [edi], edx
jmp 0x5b5e01
mov ecx, eax
mov eax, edx
call fcn.004610d0
mov eax, ecx
mov edx, dword [esp + 0x54]
lea ecx, [edx + 1]
mov dword [esp + 0x54], ecx
movzx edx, byte [eax + 0x295]
test dl, dl
je 0x5b5e50
lea edi, [esp + 0x1b4]
mov edx, eax
xor eax, eax
call fcn.00461314
mov ecx, dword [edx + 0x78]
mov esi, dword [edx + 0x7c]
lea ebx, [0x605ea0]
cmp ecx, ebx
jne 0x5b65a8
lea edi, [esp + 0x1b4]
call fcn.00461608
mov ecx, dword [esp + 0x1d8]
jmp 0x5b5e8d
lea edi, [esp + 0xd4]
mov edx, eax
xor eax, eax
call fcn.00461318
mov ecx, dword [edx + 0x78]
mov esi, dword [edx + 0x7c]
lea ebx, [0x606220]
cmp ecx, ebx
jne 0x5b6592
lea edi, [esp + 0xd4]
call fcn.00461630
mov ecx, dword [esp + 0xf8]
lea ebx, [0x605ea0]
test ecx, ecx
je 0x5b5fc2
mov ebp, dword [esp + 0x2b4]
mov ebx, dword [ebp + 0x14]
mov eax, ebx
mov ebx, edx
xor edx, edx
div ecx
test edx, edx
je 0x5b5fcb
mov dword [esp], 0
lea eax, [0x60d4d2]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
lea ecx, [0x61d1c1]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x33
call fcn.0044df90
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0x274]
mov edx, dword [esp + 0x1c]
mov ebx, dword [eax + 0x270]
mov ebp, dword [eax + 0x278]
mov esi, dword [esp + 0x20]
lea edi, [ecx + 1]
cmp ebp, edi
jae 0x5b5f8d
mov dword [esp + 0x2b0], edx
mov dword [esp + 0x50], esi
lea eax, [0x5e4740]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x278], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b5f6e
mov dword [ebx + 0x270], eax
jmp 0x5b5f79
lea edi, [ebx + 0x270]
call fcn.004610d0
mov edx, dword [esp + 0x2b0]
mov esi, dword [esp + 0x50]
mov ebx, eax
mov eax, dword [esp + 0x344]
lea ebp, [ecx + 1]
mov dword [eax + 0x274], ebp
lea ebp, [ebx + ecx*8 + 4]
mov dword [ebp], esi
mov ebp, dword [0x7e1c20]
lea edi, [ebx + ecx*8]
test ebp, ebp
jne 0x5b5fae
mov dword [edi], edx
jmp 0x5b5fb9
mov ecx, eax
mov eax, edx
call fcn.004610d0
mov eax, ecx
mov edx, dword [esp + 0x54]
lea ecx, [edx + 1]
jmp 0x5b5fd1
mov ebx, edx
mov ebp, dword [esp + 0x2b4]
mov eax, ebx
mov ecx, dword [esp + 0x54]
cmp ecx, 3
jge 0x5b612a
mov ecx, dword [eax + 0x2bc]
movzx ecx, byte [ecx + 1]
test cl, cl
je 0x5b603a
lea eax, [0x5e3700]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov dword [esp + 0x2b8], eax
lea ecx, [esp + 0x2e8]
mov dword [esp], ecx
mov edx, dword [esp + 0x344]
mov dword [esp + 4], edx
call fcn.005b6fb0
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x2b8]
movsd qword [eax], xmm0
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0xa4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 0xa0]
mov ebp, dword [eax + 0xa8]
cmp ebp, edx
jae 0x5b60b0
lea eax, [0x5f0420]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0xa8], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b609c
mov dword [ebx + 0xa0], eax
jmp 0x5b60a7
lea edi, [ebx + 0xa0]
call fcn.004610d0
mov ebx, eax
mov eax, dword [esp + 0x344]
lea edx, [ecx + 1]
mov dword [eax + 0xa4], edx
mov edx, dword [0x7e1c20]
imul ecx, ecx, 0x2c
lea edi, [ebx + ecx]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x38]
add ebx, ecx
test edx, edx
jne 0x5b60e4
lea esi, [esp + 0x2e8]
call fcn.004617f2
jmp 0x5b54ed
mov dword [esp + 0x48], ebx
lea eax, [0x5f0420]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x2e8]
mov dword [esp + 8], eax
call fcn.004100e0
mov eax, dword [esp + 0x344]
mov ebx, dword [esp + 0x48]
jmp 0x5b54ed
mov dword [esp + 0x348], ecx
mov dword [esp + 0x34c], edx
add esp, 0x340
ret
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0xa0]
mov edx, dword [eax + 0xa4]
mov ebx, dword [eax + 0xa8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004091d0
mov eax, dword [esp + 0xc]
lea ecx, [0x668aa0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00487cf0
mov eax, dword [esp + 0x344]
movzx ecx, word [eax + 0x66]
test cx, cx
jbe 0x5b6196
mov ebx, dword [eax + 0xa4]
test ebx, ebx
je 0x5b6196
movzx ebx, cx
mov ebp, dword [esp + 0x58]
imul ebp, ebx
mov ebx, dword [esp + 0x38]
lea ecx, [ebx + ebp]
jmp 0x5b619a
mov ecx, dword [esp + 0x38]
mov ebx, dword [eax + 0xa4]
mov ebp, dword [eax + 0xa0]
test ebx, ebx
je 0x5b61c8
mov dword [esp + 0x58], ebx
mov dword [esp + 0x38], ecx
xor edx, edx
xor esi, esi
xor edi, edi
xor edx, edx
mov dword [esp + 0x2a8], edx
xor edx, edx
jmp 0x5b62f2
xor edx, edx
xor ebx, ebx
test edx, edx
je 0x5b61d9
mov ebp, dword [ebx]
xor esi, esi
jmp 0x5b62b2
xor edx, edx
test edx, edx
je 0x5b61e3
cmp ecx, edx
jbe 0x5b6234
cmp dword [eax + 0x2ac], ecx
jb 0x5b627b
mov edx, dword [eax + 0x290]
mov ebx, dword [eax + 0x288]
cmp ecx, edx
ja 0x5b62a8
mov dword [eax + 0x280], ecx
mov dword [eax + 0x284], edx
mov ecx, dword [0x7e1c20]
test ecx, ecx
jne 0x5b6221
mov dword [eax + 0x27c], ebx
jmp 0x5b627b
lea edi, [eax + 0x27c]
mov ecx, eax
mov eax, ebx
call fcn.004610d0
mov eax, ecx
jmp 0x5b627b
cmp dword [eax + 0x2ac], edx
jb 0x5b627b
mov ebx, dword [eax + 0x290]
mov ebp, dword [eax + 0x288]
cmp edx, ebx
ja 0x5b629f
mov dword [eax + 0x280], edx
mov dword [eax + 0x284], ebx
mov ecx, dword [0x7e1c20]
test ecx, ecx
jne 0x5b626a
mov dword [eax + 0x27c], ebp
jmp 0x5b627b
lea edi, [eax + 0x27c]
mov ecx, eax
mov eax, ebp
call fcn.004610d0
mov eax, ecx
mov byte [eax + 0x29a], 1
mov dword [esp + 0x348], 0
mov dword [esp + 0x34c], 0
add esp, 0x340
ret
mov ecx, edx
mov edx, ebx
call fcn.004611a0
call fcn.004611a0
inc esi
mov ebp, ebx
mov ebx, edi
cmp esi, edx
jge 0x5b62c3
mov edi, ebx
mov ebx, dword [ebx + esi*4]
cmp ebp, ebx
ja 0x5b62ad
mov ebx, ebp
jmp 0x5b62ad
mov edx, ebp
jmp 0x5b61db
mov esi, dword [esp + 0x2ac]
add esi, 0x2c
mov eax, dword [esp + 0x344]
mov ebp, esi
mov esi, ecx
mov dword [esp + 0x2a8], edi
mov ecx, dword [esp + 0x38]
mov edi, edx
mov edx, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x34], esi
mov dword [esp + 0x2ac], ebp
mov dword [esp + 0x30], edi
lea edi, [esp + 0x2bc]
mov esi, ebp
call fcn.004617f2
mov ecx, dword [esp + 0x2d0]
test ecx, ecx
jbe 0x5b6530
mov dword [esp + 0x60], ecx
movzx ebp, byte [eax + 0x295]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b636a
lea edi, [esp + 0x1b4]
mov ebp, eax
xor eax, eax
call fcn.00461314
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x7c]
lea ebp, [0x605ea0]
cmp ecx, ebp
jne 0x5b657c
lea edi, [esp + 0x1b4]
mov esi, ebx
call fcn.00461608
mov ecx, dword [esp + 0x1d8]
jmp 0x5b63a9
lea edi, [esp + 0xd4]
mov ebp, eax
xor eax, eax
call fcn.00461318
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x7c]
lea ebp, [0x606220]
cmp ecx, ebp
jne 0x5b6566
lea edi, [esp + 0xd4]
mov esi, ebx
call fcn.00461630
mov ecx, dword [esp + 0xf8]
lea ebp, [0x605ea0]
mov dword [esp + 0x54], edx
cmp ecx, 0x200
jbe 0x5b64b5
test ecx, 1
je 0x5b64af
mov ebx, dword [esp + 0x344]
mov ebp, dword [ebx + 0x274]
mov esi, ebp
inc ebp
mov edi, ebp
mov ebp, dword [ebx + 0x270]
mov ebx, dword [ebx + 0x278]
cmp ebx, edi
jae 0x5b644d
mov dword [esp + 0x3c], ecx
lea eax, [0x5e4740]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x278], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b6434
mov dword [ebx + 0x270], eax
jmp 0x5b643f
lea edi, [ebx + 0x270]
call fcn.004610d0
mov edx, dword [esp + 0x54]
mov esi, ecx
mov ebp, eax
xor eax, eax
mov ecx, dword [esp + 0x3c]
lea ebx, [esi + 1]
mov edi, ebp
mov ebp, dword [esp + 0x344]
mov dword [ebp + 0x274], ebx
mov ebx, dword [0x7b5fb8]
mov dword [esp + 0x2b0], ebx
mov ebp, dword [0x7b5fbc]
lea ebx, [edi + esi*8 + 4]
mov dword [ebx], ebp
mov ebx, dword [0x7e1c20]
lea edi, [edi + esi*8]
test ebx, ebx
jne 0x5b6496
mov ebx, dword [esp + 0x2b0]
mov dword [edi], ebx
cmp ecx, 0x200
jmp 0x5b64b5
mov eax, dword [esp + 0x2b0]
call fcn.004610d0
cmp ecx, 0x200
mov eax, 0
jmp 0x5b64b5
cmp ecx, 0x200
jae 0x5b64bd
mov ecx, dword [esp + 0x60]
jmp 0x5b64c7
mov ecx, dword [esp + 0x60]
shr ecx, 9
shl ecx, 9
mov ebx, dword [esp + 0x30]
lea ebp, [ebx + 1]
mov esi, ebx
mov ebx, dword [esp + 0x34]
cmp ebx, ebp
jb 0x5b64e1
mov edi, dword [esp + 0x2a8]
jmp 0x5b652b
mov dword [esp + 0x2c], ecx
lea eax, [0x5e4880]
mov dword [esp], eax
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x54]
mov edi, eax
mov ebx, esi
xor eax, eax
mov esi, dword [esp + 0x30]
mov dword [edi + esi*4], ecx
jmp 0x5b6541
xor eax, eax
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2a8]
mov ebx, dword [esp + 0x34]
mov ecx, ebx
lea ebx, [edx + 1]
mov edx, ebp
mov ebp, dword [esp + 0x58]
cmp ebp, ebx
jg 0x5b62ca
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x38]
mov ebx, edi
jmp 0x5b61cc
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
nop
call fcn.0045fcc0
jmp fcn.005b5400