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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x74]
cmp eax, dword [ecx + 8]
jbe 0x5d594d
sub esp, 0xf4
mov ecx, dword [esp + 0x100]
cmp ecx, 2
jl 0x5d589e
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0xfc]
mov eax, edx
mov ebp, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov word [esp + 0x24], ax
xor edx, edx
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x2c], edx
xor edx, edx
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0x104]
xor ebx, ebx
mov dword [esp + 0x38], ebx
mov ebx, ebp
mov eax, edx
jmp 0x5d464b
lea ecx, [esi + 1]
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0xe8]
movzx edx, word [esp + 0x22]
mov ebx, esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x34], ecx
movzx ecx, word [esp + 0x24]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
cmp esi, edx
jge 0x5d45ee
cmp esi, ebp
jge 0x5d45ee
cmp esi, edx
jae 0x5d593f
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx + esi*4]
cmp esi, ebp
jae 0x5d593f
mov ebx, dword [ebx + esi*4]
cmp ecx, ebx
je 0x5d4598
test esi, esi
jle 0x5d46d6
mov ecx, dword [esp + 0x30]
cmp esi, ecx
ja 0x5d5938
movzx edx, word [esp + 0x24]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
inc eax
mov word [esp + 0x24], dx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0xf0], ebx
mov edx, ebp
mov ebx, dword [esp + 0xec]
mov ecx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
mov esi, eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xec], ebx
cmp esi, ecx
jg 0x5d4ce7
mov dword [esp + 0x58], esi
jge 0x5d4cd6
jae 0x5d5946
mov ebx, dword [ebp + esi*4]
nop
cmp byte [ebx], 0x12
jne 0x5d4ccf
mov edx, dword [ebx + 4]
mov ebp, dword [ebx + 8]
test ebp, ebp
jle 0x5d4ccf
mov edx, dword [edx]
cmp byte [edx], 3
je 0x5d4caf
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor edx, edx
mov dword [esp + 0x28], edx
xor edx, edx
mov word [esp + 0x22], dx
mov dword [esp + 0xe8], ebx
movzx ecx, word [esp + 0x24]
cmp dx, cx
jne 0x5d4ca6
mov dword [esp + 0x98], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x98]
jmp 0x5d45bd
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xe8]
movzx esi, word [esp + 0x22]
mov edx, dword [esp + 0x58]
cmp edx, edi
jne 0x5d470d
mov edi, dword [esp + 0xec]
mov edx, esi
mov esi, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0x58]
jmp 0x5d4612
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0xe4], ebx
mov word [esp + 0x26], si
lea ecx, [edi + 1]
cmp edx, ecx
jne 0x5d483d
mov ecx, dword [esp + 0x100]
cmp edi, ecx
jae 0x5d5931
mov ecx, dword [esp + 0x38]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0xfc]
mov ebx, dword [ebx + edi*4]
mov edi, ebp
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
ja 0x5d47db
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x38], edx
mov esi, dword [esp + 0xc8]
lea edx, [esi + ecx*4]
mov dword [esp + 0xe0], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x5d47c3
mov dword [esi + ecx*4], ebx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xe4]
mov edi, esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
movzx esi, word [esp + 0x26]
jmp 0x5d46f5
mov ecx, edi
mov edi, dword [esp + 0xe0]
mov edx, eax
mov eax, ebx
call fcn.0044c8c0
mov eax, edx
mov edi, ecx
jmp 0x5d4798
mov dword [esp + 0xdc], ebx
lea eax, [0x654f60]
mov dword [esp], eax
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0xdc]
movzx esi, word [esp + 0x26]
mov edi, dword [esp + 0x50]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x104]
jmp 0x5d4776
mov dword [esp + 0x44], edi
nop
mov ecx, dword [esp + 0xf8]
mov ebx, dword [ecx + 0x10]
lea ebp, [ecx + 0x10]
mov dword [esp + 0xd8], ebp
test ebx, ebx
je 0x5d4c7b
mov esi, dword [0x9ec0a0]
mov edx, dword [ebx + 0x10]
test esi, esi
jne 0x5d4c39
mov dword [ecx + 0x10], edx
mov edx, edi
mov edi, ebx
mov esi, eax
xor eax, eax
call fcn.0044c9b1
mov dword [esp + 0xc0], ebx
mov byte [ebx], 3
movzx ecx, word [esp + 0x24]
mov word [ebx + 2], cx
mov ecx, dword [ebx + 0x14]
mov edi, dword [ebx + 0x1c]
mov ebp, dword [esp + 0x2c]
cmp ebp, edi
ja 0x5d4c06
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x7c], edi
mov dword [esp], ecx
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
shl ebp, 2
mov dword [esp + 8], ebp
call fcn.0044d0c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc0]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x7c]
mov dword [ecx + 0x1c], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x5d4bee
mov edx, dword [esp + 0xe8]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x44]
jmp 0x5d4949
lea edi, [edx + 1]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x100]
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0xc0]
mov edx, ebx
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0x58]
cmp edi, esi
jge 0x5d4999
cmp edi, ebp
jae 0x5d592a
mov dword [esp + 0x7c], edi
mov ecx, dword [edx + edi*4]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.005d5960
mov eax, dword [0x9ec0a0]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xfc]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x5d498d
mov dword [ebx + edx*4], ecx
jmp 0x5d4915
mov eax, ecx
call fcn.0044c8c0
jmp 0x5d4915
test esi, esi
jl 0x5d5923
mov eax, dword [esp + 0x44]
cmp eax, esi
ja 0x5d5923
mov dword [esp], ebx
mov ecx, dword [esp + 0x104]
sub ecx, eax
mov dword [esp + 0x7c], ecx
mov edi, eax
shl eax, 2
neg ecx
sar ecx, 0x1f
and ecx, eax
lea eax, [edx + ecx]
mov dword [esp + 4], eax
sub esi, edi
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], 0x13
call fcn.005d4150
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
nop
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x5d4bce
mov dword [esp + 0xb4], edi
mov edx, dword [0x9ec0a0]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x5d4b9c
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044c9b1
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xb8], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 0xc]
cmp ebp, 2
jb 0x5d4b52
mov esi, 2
mov edi, ebp
mov ebp, dword [0x9ec0a0]
test ebp, ebp
jne 0x5d4b29
mov ebp, dword [esp + 0xc0]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x5d4b18
mov dword [ecx + 4], ebx
mov edx, dword [esp + 0x38]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
ja 0x5d4ad5
mov esi, dword [esp + 0xec]
mov dword [esp + 0x3c], ebp
mov edi, ebx
mov ebx, dword [0x9ec0a0]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x5d4ac4
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x104]
mov ecx, edi
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
jmp 0x5d479c
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0044c8c0
xor eax, eax
mov edi, edx
jmp 0x5d4aae
lea eax, [0x654f60]
mov dword [esp], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b20
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x38]
jmp 0x5d4a98
lea edi, [ecx + 4]
mov eax, ebx
call fcn.0044c8c0
xor eax, eax
jmp 0x5d4a82
mov dword [esp + 0x7c], edi
mov edi, ebx
mov eax, dword [esp + 0xc0]
call fcn.0044c8c0
lea ebp, [ebx + 4]
mov edi, ebp
mov eax, edx
call fcn.0044c8c0
xor eax, eax
mov edi, dword [esp + 0x7c]
jmp 0x5d4a6b
lea eax, [0x654f60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 2
call fcn.00438b20
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xa8]
jmp 0x5d4a4f
mov eax, edi
mov edi, dword [esp + 0xd8]
mov ecx, eax
mov eax, ebx
call fcn.0044c8c0
lea edx, [0x65a320]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040f9b0
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x5d4a2a
lea eax, [0x65a320]
mov dword [esp], eax
call fcn.00409c30
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x5d4a31
lea edi, [ecx + 0x14]
mov edx, eax
mov eax, dword [esp + 0xe8]
call fcn.0044c8c0
mov eax, edx
jmp 0x5d48f6
lea eax, [0x62aee0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00438b20
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x2c]
jmp 0x5d48a4
mov dword [esp + 0xac], ebx
mov edi, ebp
mov eax, edx
call fcn.0044c8c0
lea ecx, [0x65a320]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0040f9b0
xor eax, eax
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x104]
jmp 0x5d487f
lea eax, [0x65a320]
mov dword [esp], eax
call fcn.00409c30
mov ebx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x104]
jmp 0x5d487f
mov edx, dword [esp + 0x2c]
jmp 0x5d46d6
mov ebp, dword [edx + 0x18]
mov ebx, dword [edx + 0x14]
mov eax, dword [edx + 0x1c]
movzx edx, word [edx + 2]
and edx, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x104]
jmp 0x5d46a3
mov edx, ebx
jmp 0x5d468c
mov edx, dword [esp + 0x2c]
xor ecx, ecx
xor ebp, ebp
xor ebx, ebx
xor esi, esi
jmp 0x5d46e6
mov ecx, dword [esp + 0x38]
mov eax, edx
mov ebp, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0xc4], eax
xor edx, edx
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x3c]
mov edx, eax
jmp 0x5d4d28
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov ebx, edi
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xf0], ebx
cmp esi, ecx
jg 0x5d5300
mov dword [esp + 0x5c], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x48], edi
jge 0x5d52f2
jae 0x5d591c
mov ebx, dword [ebp + esi*4]
nop
movzx edx, byte [ebx]
cmp dl, 2
jne 0x5d52b4
xor edx, edx
mov ebx, dword [esp + 0xc4]
test ebx, ebx
jne 0x5d5186
cmp esi, edi
jne 0x5d4d94
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0xf0]
jmp 0x5d4d0a
mov dword [esp + 0xcc], edx
lea ebx, [edi + 1]
cmp esi, ebx
jne 0x5d4e9f
cmp edi, ecx
jae 0x5d590e
mov ebx, dword [esp + 0x7c]
lea ecx, [ebx + 1]
mov ebp, dword [ebp + edi*4]
mov edi, edx
mov edx, dword [esp + 0x78]
cmp ecx, edx
ja 0x5d4e40
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x7c], ecx
mov esi, dword [esp + 0xc8]
lea ecx, [esi + ebx*4]
mov dword [esp + 0xd4], ecx
mov ecx, dword [0x9ec0a0]
test ecx, ecx
jne 0x5d4e28
mov dword [esi + ebx*4], ebp
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xec]
mov ebx, ecx
mov edi, esi
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xcc]
mov esi, dword [esp + 0x5c]
jmp 0x5d4d0a
mov ecx, edi
mov edi, dword [esp + 0xd4]
mov ebx, eax
mov eax, ebp
call fcn.0044c8c0
mov eax, ebx
mov edi, ecx
jmp 0x5d4e01
mov dword [esp + 0xdc], ebp
lea eax, [0x654f60]
mov dword [esp], eax
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0xcc]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x3c]
jmp 0x5d4ddf
mov ebx, dword [esp + 0xf8]
jmp 0x5d4edd
lea edi, [edx + 1]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
mov ecx, edx
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x5c]
cmp edi, esi
jge 0x5d4f3a
cmp edi, ecx
jae 0x5d5907
mov dword [esp + 0x74], edi
mov eax, dword [ebp + edi*4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
cmp edi, eax
setne cl
mov byte [esp + 8], cl
call fcn.005d5b80
mov eax, dword [0x9ec0a0]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xec]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x5d4f2e
mov dword [ebx + edx*4], ecx
jmp 0x5d4ea8
mov eax, ecx
call fcn.0044c8c0
jmp 0x5d4ea8
test esi, esi
jl 0x5d5900
mov edi, dword [esp + 0x48]
cmp edi, esi
ja 0x5d5900
mov dword [esp], ebx
sub eax, edi
mov dword [esp + 0x74], eax
mov edx, edi
shl edi, 2
neg eax
sar eax, 0x1f
and eax, edi
add eax, ebp
mov dword [esp + 4], eax
sub esi, edx
mov dword [esp + 8], esi
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0x13
call fcn.005d4150
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], eax
nop
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x5d5166
mov dword [esp + 0xbc], edi
mov edx, dword [0x9ec0a0]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x5d5136
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044c9b1
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xb0], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
cmp ebx, 2
jb 0x5d50ec
mov esi, 2
mov edi, ebx
mov ebx, dword [0x9ec0a0]
test ebx, ebx
jne 0x5d50c3
mov ebx, dword [esp + 0xc4]
mov dword [ebp], ebx
mov dword [ebp + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x5d50b2
mov dword [ecx + 4], ebp
mov edx, dword [esp + 0x7c]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
ja 0x5d506f
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x7c], ebp
mov edi, ebx
mov ebx, dword [0x9ec0a0]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x5d505e
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x7c]
mov ecx, edi
mov edi, dword [esp + 0xcc]
jmp 0x5d4e05
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0044c8c0
xor eax, eax
mov edi, edx
jmp 0x5d5048
lea eax, [0x654f60]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b20
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x7c]
jmp 0x5d5032
lea edi, [ecx + 4]
mov eax, ebp
call fcn.0044c8c0
xor eax, eax
jmp 0x5d501c
mov dword [esp + 0x74], edi
mov edi, ebp
mov eax, dword [esp + 0xc4]
call fcn.0044c8c0
lea ebx, [ebp + 4]
mov edi, ebx
mov eax, edx
call fcn.0044c8c0
xor eax, eax
mov edi, dword [esp + 0x74]
jmp 0x5d5005
lea eax, [0x654f60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.00438b20
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xa4]
jmp 0x5d4fe8
lea edx, [ecx + 0x10]
mov eax, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.0044c8c0
lea edx, [0x65a320]
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040f9b0
xor eax, eax
mov edx, dword [esp + 0xa4]
jmp 0x5d4fc3
lea eax, [0x65a320]
mov dword [esp], eax
call fcn.00409c30
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xa4]
jmp 0x5d4fca
mov dword [esp + 0xa0], edx
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.005dc010
movzx eax, byte [esp + 8]
test al, al
je 0x5d52ab
nop
mov ecx, dword [esp + 0xc4]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x5d5282
cmp dword [ecx + 0x18], 1
jne 0x5d5282
mov eax, 1
test al, al
je 0x5d5203
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0xc4]
mov edi, dword [esp + 0xf0]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
jmp 0x5d4d0a
cmp dl, 0x11
jne 0x5d5238
mov edx, dword [ecx + 0x2c]
cmp dword [ecx + 0x28], edx
jne 0x5d5238
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
test edx, edx
jbe 0x5d5915
mov edx, dword [ebx]
nop
movzx ebx, byte [edx]
cmp bl, 3
jne 0x5d5262
cmp dword [edx + 0x18], 1
jne 0x5d5262
mov eax, 1
test al, al
jne 0x5d51cd
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x48]
jmp 0x5d4d71
cmp bl, 4
jne 0x5d526e
mov eax, 1
jmp 0x5d5234
cmp bl, 5
jne 0x5d527a
mov eax, 1
jmp 0x5d5234
cmp bl, 6
sete al
jmp 0x5d5234
cmp dl, 4
jne 0x5d5291
mov eax, 1
jmp 0x5d51c9
cmp dl, 5
jne 0x5d52a0
mov eax, 1
jmp 0x5d51c9
cmp dl, 6
sete al
jmp 0x5d51c9
mov ecx, dword [esp + 0xc4]
jmp 0x5d5238
cmp dl, 0x12
jne 0x5d52e4
mov edx, dword [ebx + 4]
mov ebp, dword [ebx + 8]
test ebp, ebp
jle 0x5d52e4
mov edx, dword [edx]
cmp byte [edx], 2
jne 0x5d52d8
mov ebp, dword [esp + 0xec]
xor edx, edx
jmp 0x5d4d62
mov ebp, dword [esp + 0xec]
jmp 0x5d4d62
mov ebp, dword [esp + 0xec]
mov edx, ebx
jmp 0x5d4d62
mov ebx, dword [esp + 0xc4]
xor edx, edx
jmp 0x5d4d71
mov ecx, dword [esp + 0x7c]
mov eax, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x5d5319
inc ebp
mov edx, dword [esp + 0x7c]
mov edx, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xec], ebx
mov dword [esp + 0x38], edi
cmp ebp, ecx
jg 0x5d5744
mov dword [esp + 0x70], edx
jge 0x5d5361
jae 0x5d58f9
mov ecx, dword [eax + ebp*4]
nop
movzx edx, byte [ecx]
cmp dl, 3
jne 0x5d571b
cmp dword [ecx + 0x18], 1
jne 0x5d571b
mov ecx, 1
test cl, cl
je 0x5d5361
mov ecx, dword [esp + 0x70]
jmp 0x5d530e
mov dword [esp + 0x60], ebp
cmp ebp, esi
jne 0x5d541d
mov ecx, dword [esp + 0x7c]
cmp ebp, ecx
mov edx, dword [esp + 0x70]
jge 0x5d5417
jae 0x5d58d6
lea esi, [edi + 1]
mov ecx, dword [eax + ebp*4]
cmp esi, edx
ja 0x5d53c4
mov dword [esp + 0x3c], edx
mov ebp, dword [0x9ec0a0]
lea edx, [ebx + edi*4]
test ebp, ebp
jne 0x5d53b5
mov dword [ebx + edi*4], ecx
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
lea edx, [ebp + 1]
mov edi, esi
mov esi, edx
jmp 0x5d530e
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.0044c8c0
mov eax, ebp
jmp 0x5d53a1
mov dword [esp + 0x6c], edi
mov dword [esp + 0xdc], ecx
lea eax, [0x654f60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00438b20
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x6c]
jmp 0x5d538d
mov ecx, edx
mov esi, edi
jmp 0x5d53a5
lea ecx, [esi + 1]
cmp ebp, ecx
jne 0x5d54d7
mov ecx, dword [esp + 0x7c]
cmp esi, ecx
jae 0x5d58f2
lea edx, [edi + 1]
mov esi, dword [eax + esi*4]
mov ecx, dword [esp + 0x70]
cmp edx, ecx
ja 0x5d5488
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [0x9ec0a0]
lea edx, [ebx + edi*4]
test ecx, ecx
jne 0x5d5471
mov dword [ebx + edi*4], esi
mov ecx, dword [esp + 0x7c]
cmp ebp, ecx
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov edi, edx
mov edx, esi
jmp 0x5d5377
mov edi, edx
mov ecx, eax
mov eax, esi
call fcn.0044c8c0
mov edx, dword [esp + 0x7c]
cmp ebp, edx
mov eax, ecx
mov ecx, edx
jmp 0x5d5460
mov dword [esp + 0xdc], esi
lea eax, [0x654f60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00438b20
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0xf0]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x38]
jmp 0x5d5442
mov dword [esp + 0x78], ecx
mov dword [esp + 0x40], esi
mov edx, dword [esp + 0x7c]
jmp 0x5d54fd
inc edx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0xec]
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0x7c]
cmp ecx, ebp
jge 0x5d5541
cmp esi, edx
jae 0x5d58eb
mov ebx, dword [eax + esi*4]
movzx ebp, byte [ebx]
cmp ecx, edx
jae 0x5d58eb
mov dword [esp + 0x74], esi
mov edx, dword [eax + ecx*4]
movzx esi, byte [edx]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
jae 0x5d552f
mov edx, ecx
jmp 0x5d54e5
jne 0x5d5539
mov edx, dword [edx + 0x18]
cmp dword [ebx + 0x18], edx
jl 0x5d552b
mov edx, ecx
mov ecx, dword [esp + 0x74]
jmp 0x5d54e5
mov ecx, dword [esp + 0x40]
cmp ecx, edx
jae 0x5d58e4
mov ebx, dword [eax + ecx*4]
lea ebp, [eax + ecx*4]
cmp esi, edx
jae 0x5d58e4
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xdc], ebx
mov ebp, dword [0x9ec0a0]
mov edx, dword [eax + esi*4]
lea ebx, [eax + esi*4]
test ebp, ebp
jne 0x5d56f2
mov dword [eax + ecx*4], edx
mov edx, dword [esp + 0xdc]
mov dword [eax + esi*4], edx
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x78]
jmp 0x5d55b5
lea esi, [eax + 1]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x60]
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x38]
mov ebp, esi
cmp ebp, ebx
jge 0x5d5621
mov esi, dword [eax + ecx*4]
cmp ebp, edx
jae 0x5d58dd
mov dword [esp + 0x4c], ebp
mov ecx, dword [eax + ebp*4]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.005d7840
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + eax*4]
test byte [edx], al
nop
mov ebx, dword [0x9ec0a0]
mov ebp, dword [esp + 0xf8]
mov esi, dword [ebp + 0x10]
test ebx, ebx
jne 0x5d5604
mov dword [edx + 0x10], esi
mov dword [ebp + 0x10], edx
jmp 0x5d5598
lea edi, [edx + 0x10]
mov ebx, eax
mov eax, esi
call fcn.0044c8c0
lea edi, [ebp + 0x10]
mov eax, edx
call fcn.0044c8c0
mov eax, ebx
jmp 0x5d5598
mov edx, dword [eax + ecx*4]
mov dword [esp], edx
call fcn.005d3f80
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0xf0]
mov edx, dword [ebx + edx*4]
mov ebp, dword [esp + 0x70]
cmp ecx, ebp
ja 0x5d56a0
mov esi, dword [esp + 0xec]
mov dword [esp + 0x38], ecx
mov edi, ebx
mov ebx, dword [0x9ec0a0]
lea ecx, [esi + eax*4]
test ebx, ebx
jne 0x5d5685
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x7c]
cmp ecx, edx
mov eax, edi
mov ecx, edx
mov ebx, esi
mov edx, dword [esp + 0x38]
mov esi, ebp
mov ebp, dword [esp + 0x60]
jmp 0x5d5468
mov eax, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.0044c8c0
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x7c]
cmp ecx, edx
mov edi, ebx
jmp 0x5d5670
mov dword [esp + 0xdc], edx
lea edx, [0x654f60]
mov dword [esp], edx
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00438b20
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0xf0]
jmp 0x5d5650
mov ebp, edi
mov edi, dword [esp + 0xd0]
mov esi, eax
mov eax, edx
call fcn.0044c8c0
mov edi, ebx
mov eax, dword [esp + 0xdc]
call fcn.0044c8c0
mov eax, esi
mov edi, ebp
jmp 0x5d558a
cmp dl, 4
jne 0x5d572a
mov ecx, 1
jmp 0x5d5357
cmp dl, 5
jne 0x5d5739
mov ecx, 1
jmp 0x5d5357
cmp dl, 6
sete cl
jmp 0x5d5357
mov eax, ebx
xor ecx, ecx
xor ebp, ebp
jmp 0x5d5750
mov ebx, ecx
mov ecx, esi
cmp ecx, edi
jge 0x5d5882
mov dword [esp + 0xf0], ebx
lea esi, [ecx + 1]
cmp esi, edi
jge 0x5d587b
cmp ecx, edi
jae 0x5d58cf
mov ebx, dword [eax + ecx*4]
cmp byte [ebx], 2
jne 0x5d5874
cmp esi, edi
jae 0x5d58cf
mov ebx, dword [eax + ecx*4 + 4]
cmp byte [ebx], 2
jne 0x5d5798
mov ecx, dword [esp + 0xf0]
jmp 0x5d574c
cmp ecx, edi
jae 0x5d58c8
mov dword [esp + 0x68], esi
lea ebx, [ebp + 1]
mov ecx, dword [eax + ecx*4]
cmp ebx, edx
ja 0x5d580f
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x3c], edx
mov esi, dword [0x9ec0a0]
mov edx, dword [esp + 0xc8]
lea ebx, [edx + ebp*4]
test esi, esi
jne 0x5d57fc
mov dword [edx + ebp*4], ecx
mov esi, dword [esp + 0x68]
mov ecx, edx
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x3c]
jmp 0x5d574c
mov ebp, edi
mov edi, ebx
mov esi, eax
mov eax, ecx
call fcn.0044c8c0
mov eax, esi
mov edi, ebp
jmp 0x5d57e9
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x64], ebp
lea eax, [0x654f60]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xec]
jmp 0x5d57ca
cmp ecx, edi
jmp 0x5d579a
cmp ecx, edi
jmp 0x5d579a
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x110], edx
add esp, 0xf4
ret
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
mov eax, dword [esp + 0x104]
mov dword [esp + 0x110], eax
add esp, 0xf4
ret
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ff0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ff0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ff0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.0044b170
jmp fcn.005d4520