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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x204]
cmp eax, dword [ecx + 8]
jbe 0x5d6d19
sub esp, 0x284
mov ecx, dword [esp + 0x290]
cmp ecx, 0x14
jg 0x5d5eb2
mov edx, dword [esp + 0x288]
mov ebx, dword [edx]
movzx ebp, word [esp + 0x28c]
mov eax, ecx
movzx ecx, bp
mov esi, ebp
mov ebp, dword [ebx + 0xbc]
cmp dword [ebx + 0xc0], ecx
jle 0x5d5eb2
mov dword [esp + 0x90], ecx
lea ebx, [ecx + ecx*4]
lea ebx, [ebp + ebx*4]
lea edi, [esp + 0xf0]
mov ebp, esi
mov esi, ebx
call fcn.004664ce
mov esi, dword [esp + 0x100]
mov ecx, dword [esp + 0xfc]
lea ebx, [0x785da4]
cmp ecx, ebx
jne 0x5d5db1
mov dword [esp + 0x8c], ecx
lea edi, [esp + 0x23c]
call fcn.004664a6
mov ecx, dword [esp + 0x8c]
cmp ecx, ebx
jmp 0x5d5dc9
lea edi, [esp + 0x23c]
mov eax, 0
call fcn.00465fe7
mov eax, dword [esp + 0x290]
je 0x5d5e64
lea edi, [esp + 0xdc]
lea esi, [esp + 0xf0]
call fcn.004664ce
mov ecx, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
test ecx, ecx
je 0x5d5e2e
cmp ecx, ebx
jne 0x5d5e0d
lea edi, [esp + 0x218]
call fcn.004664a6
mov ecx, dword [esp + 0x234]
jmp 0x5d5e3d
mov edi, eax
lea eax, [0x785b60]
cmp ecx, eax
jne 0x5d5e3b
lea edi, [esp + 0x1c4]
call fcn.004664c4
mov ecx, dword [esp + 0x1c8]
jmp 0x5d5e3d
lea eax, [0x785b60]
mov edi, dword [esp + 0x290]
xor ecx, ecx
mov dword [esp + 0x44], ecx
lea eax, [0x6c3f80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x44]
jmp 0x5d5faf
lea edi, [esp + 0x1f4]
lea esi, [esp + 0x23c]
call fcn.004664a6
mov eax, dword [esp + 0x210]
mov dword [esp + 0x48], eax
lea ecx, [0x6c3f80]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1f4]
mov edx, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x48]
xor ebp, ebp
jmp 0x5d5ec4
add esp, 0x284
ret
lea esi, [esi + esi*2]
lea esi, [eax + esi*4 + 9]
mov byte [esi], 1
inc ebp
cmp ebp, edx
jge 0x5d5ed5
movzx esi, word [ecx + ebp*2]
cmp ebx, esi
ja 0x5d5eb9
jmp 0x5d6d0f
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x20c]
mov edx, dword [esp + 0x210]
mov dword [esp + 0x88], edx
xor ebp, ebp
jmp 0x5d5f67
movzx edx, byte [esp + 0x43]
test dl, 1
setne dl
mov byte [esp + 0x42], dl
lea ebx, [ecx + ecx*2]
mov dword [esp + 0x80], ebx
mov ebp, dword [esp + 0xd4]
mov dword [ebp + ebx*4], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xd4]
mov dword [edx + ecx*4 + 4], eax
lea eax, [edx + ecx*4 + 8]
movzx ecx, byte [esp + 0x42]
mov byte [eax], cl
mov eax, dword [esp + 0xd0]
lea ecx, [eax + 6]
mov eax, dword [esp + 0x50]
lea ebp, [eax + 1]
mov eax, edx
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x48]
cmp ebp, edx
jge 0x5d5faf
mov dword [esp + 0x50], ebp
mov dword [esp + 0xd0], ecx
movzx eax, byte [ecx]
mov byte [esp + 0x43], al
lea edx, [ecx + 2]
movsx edx, word [edx]
movsx ebx, word [ecx + 4]
mov dword [esp + 0x84], ebx
mov dword [esp], edx
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
cmp ecx, edx
jb 0x5d5ef5
jmp 0x5d6d06
lea ecx, [ebx + 4]
cmp ebx, ecx
jae 0x5d5fe4
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
lea eax, [0x6c3f80]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0xb4], eax
lea edx, [ecx + ecx*2]
mov dword [esp + 0x88], edx
lea ebp, [eax + edx*4 - 0x30]
mov dword [esp], ebp
mov dword [esp + 4], 0x30
call fcn.00466510
mov ecx, dword [esp + 0x48]
lea eax, [ecx - 4]
cmp ecx, eax
jb 0x5d6d01
mov edx, dword [esp + 0x288]
mov ebx, dword [edx]
test byte [ebx], al
lea esi, [ebx + 0xc8]
lea edi, [esp + 0x1ac]
call fcn.004664c4
mov ecx, dword [esp + 0x88]
shl ecx, 2
add ecx, 0xffffffd0
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
sub ebx, ebp
add ebx, 4
neg ebx
sar ebx, 0x1f
and ecx, ebx
mov dword [esp + 0x88], ecx
mov ebx, dword [esp + 0xb4]
lea ebp, [ebx + ecx]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1b8]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x90]
cmp ebp, edx
jle 0x5d60af
lea ecx, [ecx + edx*4 + 2]
movzx ecx, word [ecx]
mov edx, ecx
jmp 0x5d60d0
lea edi, [ebp + ebx]
cmp edx, edi
jge 0x5d60ce
sub edx, ebp
cmp ebx, edx
jbe 0x5d6cf8
mov ebx, dword [esp + 0xcc]
movzx edx, word [ebx + edx*2]
jmp 0x5d60d0
xor edx, edx
movzx eax, word [esp + 0xf2]
sub eax, edx
movsx eax, ax
mov dword [esp], eax
call fcn.0044e7d0
mov eax, dword [esp + 0x288]
mov ecx, dword [eax]
test byte [ecx], al
mov edx, dword [esp + 4]
mov dword [esp + 0x8c], edx
lea esi, [ecx + 0xe0]
lea edi, [esp + 0x194]
call fcn.004664c4
mov ecx, dword [esp + 0x198]
mov ebx, dword [esp + 0x194]
mov ebp, dword [esp + 0x1a4]
mov esi, dword [esp + 0x1a0]
mov edi, dword [esp + 0x90]
cmp ecx, edi
jle 0x5d613d
lea ecx, [ebx + edi*4 + 2]
movzx ecx, word [ecx]
jmp 0x5d6156
lea ebx, [ecx + ebp]
cmp edi, ebx
jge 0x5d6154
sub edi, ecx
cmp ebp, edi
jbe 0x5d6cef
movzx ecx, word [esi + edi*2]
jmp 0x5d6156
xor ecx, ecx
movzx eax, word [esp + 0xf8]
add eax, ecx
movsx eax, ax
mov dword [esp], eax
call fcn.0044e7d0
mov eax, dword [esp + 0x288]
mov ecx, dword [eax]
mov dword [esp + 0xc0], ecx
test byte [ecx], al
mov edx, dword [esp + 4]
mov dword [esp + 0x7c], edx
lea esi, [ecx + 0xc8]
lea edi, [esp + 0x17c]
call fcn.004664c4
lea edi, [esp + 0x14c]
lea esi, [esp + 0x17c]
call fcn.004664c4
mov ecx, dword [esp + 0x15c]
add ecx, dword [esp + 0x150]
test ecx, ecx
jne 0x5d61cf
mov ecx, dword [esp + 0xc0]
movzx ecx, word [ecx + 0x310]
shr cx, 1
jmp 0x5d6228
lea edi, [esp + 0x134]
lea esi, [esp + 0x17c]
call fcn.004664c4
mov ecx, dword [esp + 0x138]
mov ebx, dword [esp + 0x134]
mov ebp, dword [esp + 0x144]
mov esi, edx
mov edx, dword [esp + 0x90]
cmp ecx, edx
jle 0x5d620c
lea ecx, [ebx + edx*4]
movzx ecx, word [ecx]
jmp 0x5d6228
add ebp, ecx
cmp edx, ebp
jge 0x5d6226
lea ebp, [ecx - 1]
cmp ecx, ebp
jbe 0x5d6ce8
lea ebx, [ebx + ecx*4 - 4]
movzx ecx, word [ebx]
jmp 0x5d6228
xor ecx, ecx
movsx eax, cx
mov dword [esp], eax
call fcn.0044e7d0
mov eax, dword [esp + 0x288]
mov ecx, dword [eax]
mov dword [esp + 0xbc], ecx
test byte [ecx], al
mov edx, dword [esp + 4]
mov dword [esp + 0x78], edx
lea esi, [ecx + 0xe0]
lea edi, [esp + 0x164]
call fcn.004664c4
lea edi, [esp + 0x11c]
lea esi, [esp + 0x164]
call fcn.004664c4
mov ecx, dword [esp + 0x12c]
add ecx, dword [esp + 0x120]
test ecx, ecx
jne 0x5d6294
mov ecx, dword [esp + 0xbc]
movzx ecx, word [ecx + 0x310]
jmp 0x5d62ed
lea edi, [esp + 0x104]
lea esi, [esp + 0x164]
call fcn.004664c4
mov ecx, dword [esp + 0x108]
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0x114]
mov esi, edx
mov edx, dword [esp + 0x90]
cmp ecx, edx
jle 0x5d62d1
lea ecx, [ebx + edx*4]
movzx ecx, word [ecx]
jmp 0x5d62ed
add ebp, ecx
cmp edx, ebp
jge 0x5d62eb
lea edx, [ecx - 1]
cmp ecx, edx
jbe 0x5d6ce1
lea edx, [ebx + ecx*4 - 4]
movzx ecx, word [edx]
jmp 0x5d62ed
xor ecx, ecx
movsx eax, cx
mov dword [esp], eax
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0xb4]
mov dword [ebx + ecx], edx
mov ebp, dword [esp + 0x78]
mov dword [esp], ebp
mov dword [esp + 4], edx
call fcn.0044e350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xb4]
mov dword [edx + ecx + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [edx + ecx + 0x1c], eax
mov dword [esp], eax
mov eax, dword [esp + 0x74]
xor eax, 0x80000000
mov dword [esp + 4], eax
call fcn.0044e350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xb4]
mov dword [edx + ecx + 0x28], eax
mov eax, dword [esp + 0x288]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x5d6409
mov ebp, dword [eax]
cmp dword [ebp + 0x48], ebx
jne 0x5d6409
lea esi, [ebp + 0x98]
lea edi, [esp + 0x260]
call fcn.004664a6
mov ecx, dword [eax + 4]
mov dword [esp + 0xc8], ecx
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 0xc]
lea edi, [esp]
lea esi, [esp + 0x260]
call fcn.004664a6
movzx ecx, word [esp + 0x28c]
mov word [esp + 0x24], cx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x3c], ebx
call fcn.005dea80
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xfc]
mov esi, dword [esp + 0x100]
test ebx, ebx
je 0x5d6532
lea ebp, [0x785da4]
cmp ebx, ebp
jne 0x5d6500
mov eax, dword [esp + 0x294]
mov ebx, dword [eax + 4]
mov ebp, dword [esp + 0x48]
lea esi, [ebx + ebp]
mov edi, dword [eax + 8]
mov ecx, dword [eax]
cmp edi, esi
jae 0x5d648a
mov dword [esp + 0x90], ebx
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
lea eax, [0x6c3f80]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x90], edi
mov dword [esp + 0x80], esi
mov dword [esp + 0xc4], ecx
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*4]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [ebp + ebp*2]
shl eax, 2
mov dword [esp + 8], eax
call fcn.004666e0
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x294]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x90]
mov dword [edi + 8], eax
mov eax, dword [0x1eaa9f0]
test eax, eax
jne 0x5d64ef
mov edx, dword [esp + 0xc4]
mov dword [edi], edx
jmp 0x5d65f6
mov eax, dword [esp + 0xc4]
call fcn.00465d80
jmp 0x5d65f6
lea ebp, [0x785b60]
cmp ebx, ebp
jne 0x5d6532
lea edi, [esp + 0x1dc]
call fcn.004664c4
mov ecx, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x1e0]
mov dword [esp + 0x90], ebx
xor ebp, ebp
jmp 0x5d6700
mov eax, dword [esp + 0x294]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 4]
mov esi, dword [eax + 8]
mov edi, dword [eax]
cmp esi, ebp
jae 0x5d6584
mov dword [esp + 0x90], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 4
lea eax, [0x6c3f80]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x90], esi
mov dword [esp + 0x80], ebp
mov dword [esp + 0xc4], edi
lea eax, [ebx + ebx*2]
lea eax, [edi + eax*4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x30
call fcn.004666e0
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x294]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x90]
mov dword [edi + 8], eax
mov eax, dword [0x1eaa9f0]
test eax, eax
jne 0x5d65ea
mov edx, dword [esp + 0xc4]
mov dword [edi], edx
jmp 0x5d65f6
mov eax, dword [esp + 0xc4]
call fcn.00465d80
mov edx, dword [esp + 0x290]
test edx, edx
jne 0x5d6630
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xb4]
mov edx, dword [ebx + edx]
xor edx, 0x80000000
mov dword [esp + 0x8c], edx
mov ebx, dword [edi + 4]
mov dword [esp + 0x90], ebx
xor eax, eax
jmp 0x5d66c0
add esp, 0x284
ret
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x54], eax
lea ecx, [eax + eax*2]
mov dword [esp + 0x88], ecx
mov ebx, dword [ebp + ecx*4]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0044e350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xc4]
mov dword [edx + ecx*4], eax
mov eax, dword [edx + ecx*4 + 4]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0044e350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xc4]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x54]
inc eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x294]
mov ebx, dword [esp + 0x8c]
mov edx, ebx
mov ebx, ecx
mov edi, dword [esp + 0x294]
cmp eax, ebx
jge 0x5d6630
mov ebp, dword [edi]
mov ecx, dword [edi + 4]
cmp eax, ecx
jb 0x5d6637
call fcn.00465e00
mov eax, dword [esp + 0xd4]
lea ecx, [eax + 0x18]
mov eax, dword [esp + 0x60]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x288]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x90]
cmp ebp, ebx
jge 0x5d6a60
mov dword [esp + 0x60], ebp
mov dword [esp + 0xd4], ecx
lea edi, [esp + 0x9c]
mov esi, ecx
call fcn.004664c4
lea eax, [0x690680]
mov dword [esp], eax
call fcn.0040be50
mov eax, dword [esp + 4]
mov dword [esp + 0xd8], eax
mov dword [eax], 0
movzx ecx, word [esp + 0x9e]
mov edx, dword [esp + 0x288]
mov dword [esp], edx
mov word [esp + 4], cx
mov ecx, dword [esp + 0x290]
lea ebx, [ecx + 1]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.005d5d00
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ecx, 4
jl 0x5d6a59
mov dword [esp + 0x64], ecx
movzx ebp, word [esp + 0x9c]
test bp, 0x200
je 0x5d67e1
sub ebx, ecx
lea ebp, [ecx + ecx*2]
shl ebp, 2
add ebp, 0xffffffd0
add ebx, 4
neg ebx
sar ebx, 0x1f
and ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0xb8]
cmp edx, ebx
je 0x5d67e1
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0x30
call fcn.004666e0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0xb8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
lea ebp, [esp + 0x9c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.005d7050
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jae 0x5d6cdc
lea ebx, [eax + eax*2]
mov ebp, dword [esp + 0xb4]
mov esi, dword [ebp + ebx*4]
mov dword [esp + 0x8c], esi
mov ebx, dword [ebp + ebx*4 + 4]
mov dword [esp + 0x7c], ebx
mov edi, dword [esp + 0xd8]
mov edx, ebp
mov ebp, dword [edi + 4]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x94]
jmp 0x5d6bc8
movzx ebx, word [esp + 0x9c]
test bx, 2
jne 0x5d6974
nop
mov ebx, dword [esp + 0x294]
mov ebp, dword [ebx]
movzx esi, word [esp + 0xa0]
movzx edi, word [esp + 0xa2]
cmp dword [ebx + 4], esi
jle 0x5d696b
mov ebx, dword [esp + 0x64]
cmp ebx, edi
jle 0x5d6bef
lea edx, [esi + esi*2]
mov dword [esp + 0x80], edx
mov ebp, dword [ebp + edx*4]
mov ebx, dword [esp + 0xd8]
mov edx, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edx, edi
jbe 0x5d6cca
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], edi
lea eax, [edi + edi*2]
mov dword [esp + 0x68], eax
mov ecx, dword [ebx + eax*4]
mov dword [esp], ebp
xor ecx, 0x80000000
mov dword [esp + 4], ecx
call fcn.0044e350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x294]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov ebp, dword [esp + 0x70]
cmp edx, ebp
jbe 0x5d6cc1
mov edx, dword [esp + 0x80]
mov edx, dword [ebx + edx*4 + 4]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [ebx + 4]
mov esi, dword [ebx]
mov edi, dword [esp + 0x6c]
cmp ebp, edi
jbe 0x5d6cb8
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x68]
mov eax, dword [esi + eax*4 + 4]
mov dword [esp], edx
xor eax, 0x80000000
mov dword [esp + 4], eax
call fcn.0044e350
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + 4]
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x8c]
xor ebp, ebp
jmp 0x5d6c84
mov ebx, dword [esp + 0x64]
jmp 0x5d6bef
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
mov esi, dword [esp + 0x64]
lea edi, [esi - 4]
cmp ebx, edi
jb 0x5d6be6
mov ebx, dword [esp + 0x294]
mov ecx, dword [ebx + 4]
lea edx, [esi + ecx - 4]
mov eax, dword [ebx + 8]
mov ebx, dword [ebx]
cmp eax, edx
jae 0x5d69e9
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x80], ecx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
lea eax, [0x6c3f80]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x64]
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x70], edx
lea ecx, [ecx + ecx*2]
lea ecx, [ebx + ecx*4]
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea ecx, [esi + esi*2 - 0xc]
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.004666e0
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x294]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
mov eax, dword [0x1eaa9f0]
test eax, eax
jne 0x5d6a48
mov eax, dword [esp + 0xc4]
mov dword [edi], eax
jmp 0x5d66da
mov eax, dword [esp + 0xc4]
call fcn.00465d80
jmp 0x5d66da
add esp, 0x284
ret
mov eax, dword [esp + 0x294]
mov ecx, dword [eax + 4]
lea ebx, [ecx + 4]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebp, ebx
jae 0x5d6ab2
mov dword [esp + 0x90], ecx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 4
lea eax, [0x6c3f80]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xc4], esi
mov dword [esp + 0x90], ebp
mov dword [esp + 0x80], ebx
lea eax, [ecx + ecx*2]
lea eax, [esi + eax*4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x30
call fcn.004666e0
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x294]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x90]
mov dword [edi + 8], eax
mov eax, dword [0x1eaa9f0]
test eax, eax
jne 0x5d6b1b
mov edx, dword [esp + 0xc4]
mov dword [edi], edx
jmp 0x5d65f6
mov eax, dword [esp + 0xc4]
call fcn.00465d80
jmp 0x5d65f6
mov dword [esp + 0xc4], edx
lea eax, [ebx + ebx*2]
mov dword [esp + 0x70], eax
mov ecx, dword [edx + eax*4]
mov dword [esp], ecx
mov dword [esp + 4], esi
call fcn.0044e350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc4]
mov dword [edx + ecx*4], eax
mov eax, dword [edx + ecx*4 + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.0044e350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc4]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x5c]
inc eax
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
cmp ebx, ebp
jge 0x5d685d
mov edx, dword [edi]
mov edi, dword [edi + 4]
cmp ebx, edi
jb 0x5d6b2c
jmp 0x5d6cd3
mov ecx, edi
mov edx, ebx
call fcn.00465e40
mov edi, dword [esp + 0xd8]
jmp 0x5d6974
mov dword [esp + 0xc4], esi
mov dword [esp + 0x58], ebp
lea eax, [ebp + ebp*2]
mov dword [esp + 0x70], eax
mov ecx, dword [esi + eax*4]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0044e350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc4]
mov dword [edx + ecx*4], eax
mov eax, dword [edx + ecx*4 + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.0044e350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc4]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x58]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x8c]
cmp ebp, edx
jge 0x5d6c97
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
cmp ebp, edi
jb 0x5d6bfb
jmp 0x5d6caf
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x64]
jmp 0x5d6bef
mov eax, ebp
mov ecx, edi
call fcn.00465e00
mov eax, edi
mov ecx, ebp
call fcn.00465e00
mov eax, ebp
mov ecx, edx
call fcn.00465e00
mov eax, edi
mov ecx, edx
call fcn.00465e00
mov eax, ebx
mov ecx, edi
call fcn.00465e00
call fcn.00465e00
mov eax, edx
call fcn.00465e00
mov eax, ebp
call fcn.00465e00
mov eax, edi
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebx
call fcn.00465e00
call fcn.00465e60
mov eax, ecx
mov ecx, edx
call fcn.00465e00
mov eax, esi
mov ecx, ebx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.005d5d00