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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x2a8]
cmp eax, dword [ecx + 8]
jbe 0x5b6df2
sub esp, 0x328
mov dword [esp + 0x338], 0
mov dword [esp + 0x33c], 0
lea edi, [esp + 0x2ec]
xor eax, eax
call fcn.00467541
lea edi, [esp + 0xc0]
call fcn.00467546
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0
mov ecx, dword [esp + 0x330]
mov dword [esp], ecx
call fcn.00409bc0
mov ecx, dword [esp + 4]
lea edx, [0x5eed60]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1ec], ecx
lea ecx, [0x62abdb]
mov dword [esp], ecx
mov dword [esp + 4], 0x2b
lea ecx, [esp + 0x1e8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bbd20
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1b0], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x32c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x330]
mov dword [esp + 4], ebp
call fcn.005b9930
mov ecx, dword [esp + 8]
mov dword [esp + 0x6c], ecx
lea edi, [esp + 0xe8]
lea esi, [esp + 0xc0]
call fcn.004679fc
lea ecx, [0x60e3e0]
mov dword [esp], ecx
lea ecx, [esp + 0xe8]
mov dword [esp + 4], ecx
call fcn.004cc720
mov ecx, dword [esp + 8]
mov dword [esp + 0xb4], ecx
lea edx, [0x5f6aa0]
mov dword [esp], edx
call fcn.0040c490
mov ecx, dword [esp + 4]
mov dword [esp + 0x1dc], ecx
mov edx, dword [esp + 0x32c]
mov dword [esp], edx
lea ebx, [0x5e0720]
mov dword [esp + 4], ebx
lea ebx, [esp + 0xc0]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0x10], ebp
call fcn.005ba620
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1dc]
mov dword [ebx], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5b5693
call fcn.004672b0
mov dword [edi], edx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], edx
mov eax, dword [ebx]
test eax, eax
jne 0x5b5beb
lea edi, [esp + 0x2f8]
lea esi, [esp + 0xc0]
call fcn.004679fc
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x5b577c
mov eax, dword [esp + 0x32c]
mov ecx, dword [eax + 0x278]
mov edx, dword [eax + 0x274]
inc edx
mov ebp, dword [eax + 0x270]
cmp ecx, edx
jae 0x5b5746
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eea60]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x32c]
mov dword [ebx + 0x278], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5b5735
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx + 0x270]
mov dword [edi + 4], eax
mov dword [ebx + 0x270], ecx
mov eax, ebx
mov ebx, dword [esp + 0x1dc]
mov ebp, ecx
mov dword [eax + 0x274], edx
lea ecx, [ebp + edx*8 - 4]
mov esi, dword [0x7c3cbc]
lea edx, [ebp + edx*8 - 8]
mov ebp, dword [0x7c3cb8]
mov dword [ecx], esi
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5b5778
call fcn.004672b0
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], ebp
jmp 0x5b5783
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0xdc]
test ecx, ecx
jne 0x5b5843
mov ecx, dword [eax + 0x278]
mov edx, dword [eax + 0x274]
inc edx
mov ebp, dword [eax + 0x270]
cmp ecx, edx
jae 0x5b580f
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eea60]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x32c]
mov dword [ebx + 0x278], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5b57fe
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx + 0x270]
mov dword [edi + 4], eax
mov dword [ebx + 0x270], ecx
mov eax, ebx
mov ebx, dword [esp + 0x1dc]
mov ebp, ecx
mov dword [eax + 0x274], edx
lea ecx, [ebp + edx*8 - 4]
mov esi, dword [0x7c3cc4]
lea edx, [ebp + edx*8 - 8]
mov ebp, dword [0x7c3cc0]
mov dword [ecx], esi
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5b5841
call fcn.004672b0
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], ebp
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005b9930
mov eax, dword [esp + 0xd8]
shl eax, 2
mov ecx, dword [esp + 0x32c]
mov edx, dword [ecx + 0x2ac]
sub edx, dword [esp + 8]
cmp edx, eax
jb 0x5b5877
mov edx, eax
mov eax, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.005ba170
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x1dc]
mov dword [esi], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5b58c2
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov dword [esi + 4], ecx
mov eax, dword [esi]
test eax, eax
jne 0x5b5b8f
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], edx
mov dword [esp + 0x1b4], ebp
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x32c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005b9930
mov eax, dword [esp + 0xd8]
shl eax, 2
mov ecx, dword [esp + 0x32c]
mov edx, dword [ecx + 0x2ac]
sub edx, dword [esp + 8]
cmp edx, eax
jb 0x5b5919
mov edx, eax
mov eax, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.005ba170
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1dc]
mov dword [esi], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5b5964
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov dword [esi + 4], ecx
mov eax, dword [esi]
test eax, eax
jne 0x5b5b33
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], edx
mov dword [esp + 0x1b8], ebx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x32c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005b9930
mov eax, dword [esp + 0xd4]
shl eax, 2
mov ecx, dword [esp + 0x32c]
mov edx, dword [ecx + 0x2ac]
sub edx, dword [esp + 8]
cmp edx, eax
jb 0x5b59be
mov edx, eax
mov eax, dword [esp + 0xdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.005ba170
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x1dc]
mov dword [esi], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5b5a09
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov dword [esi + 4], ecx
mov eax, dword [esi]
test eax, eax
jne 0x5b5ad7
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], edx
mov dword [esp + 0x1bc], ebp
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x32c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x100000
call fcn.005b9d80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ecx
mov eax, dword [esp + 0x32c]
mov ecx, dword [eax + 0x2ac]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x20c]
xor eax, eax
call fcn.00467549
lea edi, [esp + 0x144]
call fcn.0046753d
lea ecx, [esp + 0x144]
mov dword [esp + 0x218], ecx
call fcn.00452550
mov eax, dword [esp]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x32c]
mov ecx, dword [eax + 0xa0]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x40], edx
mov ebx, dword [eax + 0xa4]
mov dword [esp + 0xb4], ebx
xor ebp, ebp
jmp 0x5b5c6d
lea eax, [0x5f7ae0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
jne 0x5b5b03
mov ecx, dword [esp + 0x1b0]
jmp 0x5b5b11
call fcn.004672a0
mov ecx, dword [esp + 0x1b0]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x669cac]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x33c], eax
call fcn.00437230
add esp, 0x328
ret
lea eax, [0x5f7ae0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
jne 0x5b5b5f
mov ecx, dword [esp + 0x1b0]
jmp 0x5b5b6d
call fcn.004672a0
mov ecx, dword [esp + 0x1b0]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x669cac]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x33c], eax
call fcn.00437230
add esp, 0x328
ret
lea eax, [0x5f7ae0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
jne 0x5b5bbb
mov ecx, dword [esp + 0x1b0]
jmp 0x5b5bc9
call fcn.004672a0
mov ecx, dword [esp + 0x1b0]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x669cac]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x33c], eax
call fcn.00437230
add esp, 0x328
ret
lea eax, [0x5f7ae0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
jne 0x5b5c17
mov ecx, dword [esp + 0x1b0]
jmp 0x5b5c25
call fcn.004672a0
mov ecx, dword [esp + 0x1b0]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x669cac]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x33c], eax
call fcn.00437230
add esp, 0x328
ret
mov eax, dword [esp + 0x1d8]
lea ecx, [eax + 0x2c]
mov eax, dword [esp + 0xb0]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x32c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0xb4]
cmp ebp, ebx
jge 0x5b5cbd
mov dword [esp + 0xb0], ebp
mov dword [esp + 0x1d8], ecx
lea edi, [esp + 0x2c0]
mov esi, ecx
call fcn.004679f2
lea ecx, [esp + 0x2c0]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005c6df0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5b5c47
mov eax, dword [esp + 0x32c]
lea ecx, [esp + 0x2c0]
jmp 0x5b5cbf
xor ecx, ecx
test ecx, ecx
jne 0x5b5cc9
mov ecx, dword [esp + 0x38]
jmp 0x5b5d08
mov dword [esp + 0x190], ecx
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.005c73d0
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 0xc]
add ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0x32c]
mov edx, dword [esp + 0xd8]
shr ecx, 2
cmp edx, ecx
jb 0x5b5d18
mov edx, ecx
mov dword [esp + 0x2c], edx
xor ecx, ecx
mov ebx, 0xa
xor ebp, ebp
xor esi, esi
jmp 0x5b5d3d
inc eax
mov ecx, eax
mov ebx, ebp
mov ebp, edx
mov esi, edi
mov eax, dword [esp + 0x32c]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jae 0x5b62a7
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x48], ebx
lea eax, [0x5f70e0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
lea ecx, [0x5b6e00]
mov dword [eax], ecx
mov edx, dword [0x7f7690]
test edx, edx
jne 0x5b5d7e
mov edx, dword [esp + 0x1dc]
jmp 0x5b5d8c
call fcn.004672a0
mov edx, dword [esp + 0x1dc]
mov dword [edi], edx
mov dword [eax + 4], edx
mov dword [esp], eax
call fcn.00436bc0
test eax, eax
jne 0x5b629b
mov eax, dword [esp + 0x60]
mov edx, eax
shl edx, 1
mov ecx, dword [esp + 0x7c]
cmp ecx, edx
jb 0x5b6dea
mov ebx, ecx
sub ebx, edx
mov ebp, dword [esp + 0x80]
mov esi, ebp
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
cmp ebx, 1
jbe 0x5b6dde
mov ebx, dword [esp + 0x1b8]
movzx edx, word [ebx + edx]
mov ebp, edx
shl edx, 2
movzx edx, dx
mov edi, ebp
mov ebp, dword [esp + 0x84]
cmp ebp, edx
jb 0x5b6dd5
sub ebp, edx
mov ebx, dword [esp + 0x88]
sub ebx, edx
neg ebx
sar ebx, 0x1f
and edx, ebx
cmp ebp, 3
jbe 0x5b6dc9
mov ebx, dword [esp + 0x1bc]
mov edx, dword [edx + ebx]
test edx, edx
jne 0x5b5e30
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x68]
jmp 0x5b5d29
mov dword [esp + 0xac], edx
mov word [esp + 0x2a], di
mov ebp, dword [esp + 0x330]
cmp ebp, edx
ja 0x5b5ee7
mov ebx, dword [esp + 0x334]
lea esi, [ebx + ebp]
cmp edx, esi
jb 0x5b5e69
mov ebx, dword [esp + 0x1bc]
mov esi, dword [esp + 0x80]
jmp 0x5b5ee7
mov eax, dword [esp + 0x32c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x100000
call fcn.005b9d80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1ac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x32c]
mov dword [esp], edx
mov ebx, dword [esp + 0xac]
mov dword [esp + 4], ebx
call fcn.005b9930
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [esp + 0x330]
movzx edi, word [esp + 0x2a]
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x80]
jmp 0x5b5f0f
mov dword [esp + 0xb8], eax
xor eax, eax
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xb8]
shl eax, 2
mov ebp, dword [esp + 0x74]
cmp ebp, eax
jb 0x5b6dc2
sub ebp, eax
mov ebx, dword [esp + 0x78]
sub ebx, eax
neg ebx
sar ebx, 0x1f
and eax, ebx
cmp ebp, 3
jbe 0x5b6db6
mov ebx, dword [esp + 0x1b4]
mov ebp, dword [ebx + eax]
test ebp, ebp
jne 0x5b5f52
mov ebx, dword [esp + 0x48]
dec ebx
test ebx, ebx
jg 0x5b5f56
jmp 0x5b624c
mov ebx, dword [esp + 0x48]
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x32c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x100000
call fcn.005b9d80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x194], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005b9400
movzx eax, byte [esp + 8]
test al, al
je 0x5b627f
mov eax, dword [esp + 0x32c]
mov dword [esp], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
call fcn.005b9930
mov eax, dword [esp + 8]
test eax, eax
jne 0x5b5fd8
mov ecx, dword [esp + 0x48]
dec ecx
test ecx, ecx
jg 0x5b5fdc
jmp 0x5b6263
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x48], ecx
lea eax, [0x5f18c0]
mov dword [esp], eax
lea edx, [esp + 0x20c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xac]
mov dword [esp + 8], ebx
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
inc dword [eax]
lea eax, [0x5f18c0]
mov dword [esp], eax
lea ecx, [esp + 0x20c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edx
call fcn.0040ee50
mov eax, dword [esp + 0xc]
cmp dword [eax], 0xa
jle 0x5b6076
mov ecx, dword [0x7c3cb0]
mov dword [esp + 0x1cc], ecx
mov edx, dword [0x7c3cb4]
mov dword [esp + 0x98], edx
mov ebx, dword [esp + 0x32c]
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x58], ebp
mov eax, dword [ebx + 0x270]
mov dword [esp + 0x1a8], eax
xor esi, esi
jmp 0x5b6c9d
cmp dword [esp + 0x20c], 0x2000
jle 0x5b60c2
mov ecx, dword [0x7c3ca8]
mov dword [esp + 0x1c8], ecx
mov edx, dword [0x7c3cac]
mov dword [esp + 0x94], edx
mov ebx, dword [esp + 0x32c]
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x54], ebp
mov eax, dword [ebx + 0x270]
mov dword [esp + 0x1a4], eax
xor esi, esi
jmp 0x5b6b7c
movzx ecx, word [esp + 0x2a]
movzx ecx, cx
mov dword [esp + 0x9c], ecx
lea edi, [esp + 0x24c]
xor eax, eax
call fcn.00467547
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x258], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x254], ecx
mov edx, dword [esp + 0xd0]
add ecx, edx
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x250], ecx
mov edx, dword [esp + 0x1ac]
mov dword [esp + 0x264], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x268], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x26c], edx
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x2f0]
inc ebp
mov esi, dword [esp + 0x2ec]
cmp ebx, ebp
jae 0x5b61bf
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x60b2a0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2ec], esi
xor eax, eax
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x2f0], ebp
mov ebx, dword [0x7f7690]
lea ebp, [ebp + ebp*8]
lea edi, [esi + ebp*4 - 0x24]
test ebx, ebx
je 0x5b6213
mov dword [esp + 0x1d0], edi
lea eax, [0x60b2a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x24c]
mov dword [esp + 8], eax
call fcn.00411290
xor eax, eax
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov edi, dword [esp + 0x1d0]
lea esi, [esp + 0x24c]
call fcn.00467a06
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x1bc]
mov esi, dword [esp + 0x80]
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0xa8]
jmp 0x5b5d29
mov eax, dword [esp + 0x32c]
mov ecx, 1
mov ebp, edx
mov esi, dword [esp + 0xa8]
jmp 0x5b62a9
mov eax, dword [esp + 0x32c]
mov ecx, 1
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
jmp 0x5b62a9
mov eax, dword [esp + 0x32c]
mov ecx, 1
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
jmp 0x5b62a9
call fcn.00437230
add esp, 0x328
ret
xor ecx, ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x34], ebp
test cl, cl
je 0x5b634a
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e4], 0
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.00409bc0
mov eax, dword [esp + 4]
lea ecx, [0x5eed60]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], eax
mov eax, dword [0x7cc440]
lea ecx, [0x669e18]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x62ea93]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x4e
lea eax, [esp + 0x1e0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 1
call fcn.004bbc50
mov eax, dword [esp + 0x32c]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x68]
mov ecx, dword [eax + 0xa0]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x3c], edx
mov ebx, dword [eax + 0xa4]
mov dword [esp + 0xb4], ebx
xor edi, edi
jmp 0x5b639a
mov eax, dword [esp + 0x1d8]
lea ecx, [eax + 0x2c]
mov eax, dword [esp + 0xb0]
lea edi, [eax + 1]
mov eax, dword [esp + 0x32c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x68]
cmp edi, ebx
jge 0x5b63f2
mov dword [esp + 0xb0], edi
mov dword [esp + 0x1d8], ecx
lea edi, [esp + 0x294]
mov esi, ecx
call fcn.004679f2
lea ecx, [esp + 0x294]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005c6df0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5b636c
mov eax, dword [esp + 0x32c]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x68]
lea ecx, [esp + 0x294]
jmp 0x5b63f4
xor ecx, ecx
mov edx, dword [eax + 0x2ac]
test ecx, ecx
je 0x5b6436
mov dword [esp + 0x198], ecx
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.005c73d0
mov eax, dword [esp + 0x198]
mov edx, dword [eax + 0xc]
add edx, dword [esp + 0x14]
sub edx, dword [esp + 0xe0]
mov dword [esp + 0x38], edx
lea edi, [esp + 0x1f0]
xor eax, eax
call fcn.00467549
lea edi, [esp + 0x110]
call fcn.00467543
lea ecx, [esp + 0x110]
mov dword [esp + 0x1fc], ecx
call fcn.00452550
mov ecx, dword [esp]
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0x2ec]
mov edx, dword [esp + 0x2f0]
mov dword [esp + 0xb4], edx
xor eax, eax
jmp 0x5b64ea
mov dword [esp + 0xb0], eax
mov dword [esp + 0x1d8], ecx
lea edi, [esp + 0x270]
mov esi, ecx
call fcn.00467a06
mov eax, dword [esp + 0x270]
lea ecx, [0x5f1880]
mov dword [esp], ecx
lea edx, [esp + 0x1f0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov byte [eax], 1
mov eax, dword [esp + 0x1d8]
lea ecx, [eax + 0x24]
mov eax, dword [esp + 0xb0]
inc eax
mov edx, dword [esp + 0xb4]
cmp eax, edx
jl 0x5b648a
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x38]
shr ecx, 2
cmp eax, ecx
jb 0x5b6502
mov eax, ecx
mov dword [esp + 0x44], eax
xor ecx, ecx
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x68]
jmp 0x5b651b
inc eax
mov ecx, eax
mov ebx, ebp
mov eax, dword [esp + 0x44]
cmp ecx, eax
jae 0x5b689a
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0xd0]
lea edx, [0x5f1880]
mov dword [esp], edx
lea ebx, [esp + 0x1f0]
mov dword [esp + 4], ebx
add eax, ecx
mov dword [esp + 8], eax
call fcn.0040ee50
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
test al, al
je 0x5b6583
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x1bc]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x68]
jmp 0x5b6512
mov eax, dword [esp + 0x5c]
mov edx, eax
shl edx, 2
lea ebx, [edx + 4]
mov ecx, dword [esp + 0x84]
cmp ecx, ebx
jl 0x5b65d1
cmp ecx, edx
jb 0x5b6b6d
mov ebx, ecx
sub ebx, edx
mov ebp, dword [esp + 0x88]
mov esi, ebp
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
cmp ebx, 3
jbe 0x5b6b61
mov ebx, dword [esp + 0x1bc]
mov edx, dword [ebx + edx]
jmp 0x5b65e3
mov ebx, dword [esp + 0x1bc]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x5b65f0
mov ebp, dword [esp + 0x68]
jmp 0x5b6512
mov dword [esp + 0xa0], edx
mov ebp, dword [esp + 0x330]
cmp ebp, edx
ja 0x5b666c
mov edi, dword [esp + 0x334]
add edi, ebp
cmp edx, edi
jae 0x5b666c
mov eax, dword [esp + 0x32c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x100000
call fcn.005b9d80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1ac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x32c]
mov dword [esp], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 4], ebx
call fcn.005b9930
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x68], ebx
jmp 0x5b6679
xor edi, edi
xor edi, edi
mov dword [esp + 0x1ac], edi
xor edi, edi
mov dword [esp + 0x64], edi
lea eax, [0x5f18c0]
mov dword [esp], eax
lea ecx, [esp + 0x20c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
inc dword [eax]
lea eax, [0x5f18c0]
mov dword [esp], eax
lea ecx, [esp + 0x20c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp + 8], edx
call fcn.0040ee50
mov eax, dword [esp + 0xc]
cmp dword [eax], 0xa
jle 0x5b670c
mov ecx, dword [0x7c3cb0]
mov dword [esp + 0x1c4], ecx
mov edx, dword [0x7c3cb4]
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x32c]
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x50], ebp
mov eax, dword [ebx + 0x270]
mov dword [esp + 0x1a0], eax
xor esi, esi
jmp 0x5b6a48
cmp dword [esp + 0x20c], 0x2000
jle 0x5b6758
mov ecx, dword [0x7c3ca8]
mov dword [esp + 0x1c0], ecx
mov edx, dword [0x7c3cac]
mov dword [esp + 0x8c], edx
mov ebx, dword [esp + 0x32c]
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x4c], ebp
mov eax, dword [ebx + 0x270]
mov dword [esp + 0x19c], eax
xor esi, esi
jmp 0x5b6927
lea edi, [esp + 0x228]
xor eax, eax
call fcn.00467547
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x5c]
add ecx, edx
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x22c], ecx
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 0x240], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x244], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x248], ebx
mov ebp, dword [esp + 0x2f4]
mov esi, dword [esp + 0x2f0]
inc esi
mov edi, dword [esp + 0x2ec]
cmp ebp, esi
jae 0x5b6813
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x60b2a0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2ec], edi
xor eax, eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x2f0], esi
mov ebp, dword [0x7f7690]
lea esi, [esi + esi*8]
lea edi, [edi + esi*4 - 0x24]
test ebp, ebp
je 0x5b6867
mov dword [esp + 0x1d0], edi
lea eax, [0x60b2a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x228]
mov dword [esp + 8], eax
call fcn.00411290
xor eax, eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x68]
mov edi, dword [esp + 0x1d0]
lea esi, [esp + 0x228]
call fcn.00467a06
mov eax, edx
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x1bc]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x68]
jmp 0x5b6512
mov eax, dword [0x7f7690]
mov ecx, dword [esp + 0x32c]
lea edi, [ecx + 0xb8]
test eax, eax
je 0x5b68e3
mov dword [esp + 0x1d4], edi
lea eax, [0x600a80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x2ec]
mov dword [esp + 8], eax
call fcn.00411290
mov ecx, dword [esp + 0x32c]
mov edi, dword [esp + 0x1d4]
lea esi, [esp + 0x2ec]
call fcn.004679ca
mov eax, dword [esp + 0x32c]
mov byte [eax + 0x29b], 1
mov dword [esp + 0x338], 0
mov dword [esp + 0x33c], 0
call fcn.00437230
add esp, 0x328
ret
inc esi
mov ebx, dword [esp + 0x32c]
cmp esi, ebp
jge 0x5b698d
lea edi, [eax + esi*8]
mov ebx, dword [edi + 4]
cmp ebx, edx
jne 0x5b691f
mov dword [esp + 0xb4], esi
mov eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004034a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b6979
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0xb4]
jmp 0x5b691f
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
mov ebx, dword [esp + 0x32c]
jl 0x5b6758
mov ecx, dword [ebx + 0x278]
mov edx, dword [ebx + 0x274]
inc edx
mov ebp, dword [ebx + 0x270]
cmp ecx, edx
jae 0x5b6a07
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eea60]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x32c]
mov dword [ebx + 0x278], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5b69ff
call fcn.004672b0
mov dword [edi], ecx
mov ebp, dword [ebx + 0x270]
mov dword [edi + 4], ebp
mov dword [ebx + 0x270], ecx
mov ebp, ecx
mov dword [ebx + 0x274], edx
lea ecx, [ebp + edx*8 - 4]
mov eax, dword [0x7c3cac]
lea edx, [ebp + edx*8 - 8]
mov ebp, dword [0x7c3ca8]
mov dword [ecx], eax
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5b6a39
call fcn.004672b0
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], ebp
jmp 0x5b6758
inc esi
mov ebx, dword [esp + 0x32c]
cmp esi, ebp
jge 0x5b6aae
lea edi, [eax + esi*8]
mov ebx, dword [edi + 4]
cmp ebx, edx
jne 0x5b6a40
mov dword [esp + 0xb4], esi
mov eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004034a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b6a9a
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0xb4]
jmp 0x5b6a40
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x50]
cmp ecx, edx
mov ebx, dword [esp + 0x32c]
jl 0x5b670c
mov ecx, dword [ebx + 0x278]
mov edx, dword [ebx + 0x274]
inc edx
mov ebp, dword [ebx + 0x270]
cmp ecx, edx
jae 0x5b6b28
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eea60]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x32c]
mov dword [ebx + 0x278], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5b6b20
call fcn.004672b0
mov dword [edi], ecx
mov ebp, dword [ebx + 0x270]
mov dword [edi + 4], ebp
mov dword [ebx + 0x270], ecx
mov ebp, ecx
mov dword [ebx + 0x274], edx
lea ecx, [ebp + edx*8 - 4]
mov eax, dword [0x7c3cb4]
lea edx, [ebp + edx*8 - 8]
mov ebp, dword [0x7c3cb0]
mov dword [ecx], eax
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5b6b5a
call fcn.004672b0
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], ebp
jmp 0x5b670c
mov eax, 3
mov ecx, ebx
call fcn.00467310
mov eax, edx
call fcn.00467380
inc esi
mov ebx, dword [esp + 0x32c]
cmp esi, ebp
jge 0x5b6be2
lea edi, [eax + esi*8]
mov ebx, dword [edi + 4]
cmp ebx, edx
jne 0x5b6b74
mov dword [esp + 0xb4], esi
mov eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004034a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b6bce
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x94]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0xb4]
jmp 0x5b6b74
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x54]
cmp ecx, edx
mov ebx, dword [esp + 0x32c]
jl 0x5b60c2
mov ecx, dword [ebx + 0x278]
mov edx, dword [ebx + 0x274]
inc edx
mov ebp, dword [ebx + 0x270]
cmp ecx, edx
jae 0x5b6c5c
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eea60]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x32c]
mov dword [ebx + 0x278], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5b6c54
call fcn.004672b0
mov dword [edi], ecx
mov ebp, dword [ebx + 0x270]
mov dword [edi + 4], ebp
mov dword [ebx + 0x270], ecx
mov ebp, ecx
mov dword [ebx + 0x274], edx
lea ecx, [ebp + edx*8 - 4]
mov eax, dword [0x7c3cac]
lea edx, [ebp + edx*8 - 8]
mov ebp, dword [0x7c3ca8]
mov dword [ecx], eax
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5b6c8e
call fcn.004672b0
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], ebp
jmp 0x5b60c2
inc esi
mov ebx, dword [esp + 0x32c]
cmp esi, ebp
jge 0x5b6d03
lea edi, [eax + esi*8]
mov ebx, dword [edi + 4]
cmp ebx, edx
jne 0x5b6c95
mov dword [esp + 0xb4], esi
mov eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004034a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b6cef
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1cc]
mov edx, dword [esp + 0x98]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0xb4]
jmp 0x5b6c95
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x58]
cmp ecx, edx
mov ebx, dword [esp + 0x32c]
jl 0x5b6076
mov ecx, dword [ebx + 0x278]
mov edx, dword [ebx + 0x274]
inc edx
mov ebp, dword [ebx + 0x270]
cmp ecx, edx
jae 0x5b6d7d
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5eea60]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x32c]
mov dword [ebx + 0x278], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5b6d75
call fcn.004672b0
mov dword [edi], ecx
mov ebp, dword [ebx + 0x270]
mov dword [edi + 4], ebp
mov dword [ebx + 0x270], ecx
mov ebp, ecx
mov dword [ebx + 0x274], edx
lea ecx, [ebp + edx*8 - 4]
mov eax, dword [0x7c3cb4]
lea edx, [ebp + edx*8 - 8]
mov ebp, dword [0x7c3cb0]
mov dword [ecx], eax
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5b6daf
call fcn.004672b0
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], ebp
jmp 0x5b6076
mov eax, 3
mov ecx, ebp
call fcn.00467310
mov ecx, ebp
call fcn.00467380
mov eax, 3
mov ecx, ebp
call fcn.00467310
mov eax, edx
mov ecx, ebp
call fcn.00467370
mov eax, 1
mov ecx, ebx
call fcn.00467310
mov eax, edx
call fcn.00467380
nop
call fcn.00465ea0
jmp fcn.005b54f0