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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x662fb2
sub esp, 0x88
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x662739
movzx ebx, byte [edx]
cmp bl, 0x10
ja 0x662460
cmp bl, 0xd
je 0x662717
cmp bl, 0xe
jb 0x66272b
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
test ebx, ebx
jbe 0x662fa8
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.00662310
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x8c]
movzx edx, byte [ecx]
movzx ebx, word [ecx + 2]
movzx ebp, byte [eax]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x662399
mov ecx, eax
jmp 0x662452
xchg ebp, eax
cmp al, dl
xchg ebp, eax
jne 0x6623b7
mov ebp, ebx
and ebx, 0x20
movzx esi, word [eax + 2]
and esi, 0x20
cmp si, bx
jne 0x6623b9
mov ecx, eax
jmp 0x662452
mov ebp, ebx
mov ebx, dword [ecx + 8]
mov esi, dword [ecx + 4]
test ebx, ebx
jbe 0x662f9f
cmp dword [esi], eax
je 0x662452
mov dword [esp + 0x54], eax
mov byte [esp + 0x23], dl
mov word [esp + 0x2e], bp
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x23]
mov byte [eax], cl
movzx ecx, word [esp + 0x2e]
mov word [eax + 2], cx
mov ecx, dword [0x8e84e0]
lea edi, [eax + 0x10]
test ecx, ecx
jne 0x662414
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x10], ecx
jmp 0x662421
mov ecx, eax
mov eax, dword [esp + 0x54]
call fcn.00463080
mov eax, ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x66243e
mov dword [eax + 4], edi
jmp 0x662450
lea ecx, [eax + 4]
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.00463080
mov eax, ebx
mov ecx, eax
mov dword [esp + 0x90], ecx
add esp, 0x88
ret
cmp bl, 0x11
jne 0x662712
mov ebx, dword [edx + 0x28]
test ebx, ebx
jne 0x66249a
mov ebx, dword [edx + 0x2c]
test ebx, ebx
jne 0x66249a
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov byte [eax], 2
mov dword [esp + 0x90], eax
add esp, 0x88
ret
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
test ebx, ebx
jbe 0x662f96
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.00662310
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 0x2c]
cmp edx, 0xffffffff
jne 0x66268c
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x6625e5
cmp edx, 1
je 0x66253e
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov byte [eax], 0x12
mov dword [eax + 8], 0
mov dword [eax + 0xc], 1
lea edi, [eax + 4]
mov ecx, dword [0x8e84e0]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x662516
mov dword [eax + 4], edx
jmp 0x662521
mov ecx, eax
mov eax, edx
call fcn.00463080
mov eax, ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x84], edi
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x50]
xor ebx, ebx
jmp 0x662da7
movzx ecx, word [ecx + 2]
movzx edx, byte [eax]
cmp dl, 2
je 0x6625d7
mov word [esp + 0x2a], cx
cmp dl, 0xf
jne 0x662567
and ecx, 0x20
movzx ebx, word [eax + 2]
and ebx, 0x20
cmp bx, cx
je 0x6625d7
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov byte [eax], 0xf
movzx ecx, word [esp + 0x2a]
mov word [eax + 2], cx
mov ecx, dword [0x8e84e0]
lea edi, [eax + 0x10]
test ecx, ecx
jne 0x66259b
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x10], ecx
jmp 0x6625a8
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.00463080
mov eax, ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x6625c5
mov dword [eax + 4], edi
jmp 0x6625d7
lea ecx, [eax + 4]
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.00463080
mov eax, ebx
mov dword [esp + 0x90], eax
add esp, 0x88
ret
movzx ecx, word [ecx + 2]
movzx edx, byte [eax]
cmp dl, 2
je 0x66267e
mov word [esp + 0x2c], cx
cmp dl, 0xe
jne 0x66260e
and ecx, 0x20
movzx ebx, word [eax + 2]
and ebx, 0x20
cmp bx, cx
je 0x66267e
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov byte [eax], 0xe
movzx ecx, word [esp + 0x2c]
mov word [eax + 2], cx
mov ecx, dword [0x8e84e0]
lea edi, [eax + 0x10]
test ecx, ecx
jne 0x662642
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x10], ecx
jmp 0x66264f
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.00463080
mov eax, ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x66266c
mov dword [eax + 4], edi
jmp 0x66267e
lea ecx, [eax + 4]
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.00463080
mov eax, ebx
mov dword [esp + 0x90], eax
add esp, 0x88
ret
mov ebx, dword [ecx + 0x28]
cmp ebx, 1
jne 0x6626a7
cmp edx, 1
jne 0x6626a7
mov dword [esp + 0x90], eax
add esp, 0x88
ret
test ebx, ebx
jg 0x6626b2
xor edx, edx
jmp 0x662a67
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov byte [eax], 0x12
mov dword [eax + 8], 0
mov dword [eax + 0xc], 1
lea edi, [eax + 4]
mov ecx, dword [0x8e84e0]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x6626ea
mov dword [eax + 4], edx
jmp 0x6626f5
mov ecx, eax
mov eax, edx
call fcn.00463080
mov eax, ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x80], edi
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x50]
xor ebx, ebx
jmp 0x6629b6
cmp bl, 0x13
ja 0x66272b
mov eax, dword [edx + 4]
mov dword [esp + 0x7c], eax
mov ecx, dword [edx + 8]
mov dword [esp + 0x44], ecx
mov ebx, edx
xor ebp, ebp
jmp 0x66275c
mov dword [esp + 0x90], edx
add esp, 0x88
ret
mov dword [esp + 0x90], 0
add esp, 0x88
ret
mov esi, dword [esp + 0x3c]
lea ebp, [esi + 1]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x44]
mov ebx, edi
cmp ebp, ecx
jge 0x662995
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x6c], edx
mov ecx, dword [eax + ebp*4]
mov dword [esp + 0x58], ecx
mov dword [esp], ecx
call fcn.00662310
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jne 0x6628ea
mov ebx, dword [esp + 0x58]
cmp eax, ebx
je 0x6628ea
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov edi, dword [esp + 4]
mov dword [esp + 0x6c], edi
mov eax, dword [0x8e84e0]
test eax, eax
jne 0x6627d0
mov esi, dword [esp + 0x8c]
call fcn.0046379a
jmp 0x6627ed
lea eax, [0x6b5740]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.00410e50
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
mov ebp, dword [0x8e84e0]
test ebp, ebp
jne 0x662812
mov dword [ebx + 0x14], 0
jmp 0x66281c
lea edi, [ebx + 0x14]
xor eax, eax
call fcn.00463080
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 0xc]
mov ebp, dword [eax + 4]
mov ecx, dword [esp + 0x3c]
cmp ecx, edx
ja 0x6629a3
lea edx, [ebx + 0x10]
cmp ecx, 1
ja 0x662844
mov esi, 1
jmp 0x662880
mov dword [esp + 0x78], ebp
lea eax, [0x6b1a40]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], ecx
call fcn.0044b870
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x78]
mov esi, eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x40], esi
lea eax, [0x6b1a40]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00410f60
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x40]
mov dword [ecx + 0xc], edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x6628cb
mov edx, dword [esp + 0x74]
mov dword [ecx + 4], edx
jmp 0x6628db
lea edi, [ecx + 4]
mov edx, eax
mov eax, dword [esp + 0x74]
call fcn.00463080
mov eax, edx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
je 0x66298e
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx + 0xc]
mov edi, ecx
lea ecx, [ebx + 1]
cmp esi, ecx
jae 0x662961
mov dword [esp + 0x70], edx
lea eax, [0x6b1a40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x70]
mov dword [ebx + 0xc], edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x662948
mov dword [ebx + 4], eax
jmp 0x662950
lea edi, [ebx + 4]
call fcn.00463080
mov edx, ebx
mov edi, dword [esp + 0x8c]
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x60]
lea ecx, [ebx + 1]
mov dword [edx + 8], ecx
mov ecx, dword [0x8e84e0]
lea esi, [ebp + ebx*4]
test ecx, ecx
jne 0x66297e
mov dword [ebp + ebx*4], eax
jmp 0x66274b
mov ecx, edi
mov edi, esi
call fcn.00463080
mov edi, ecx
jmp 0x66274b
mov edi, ecx
jmp 0x66274b
mov dword [esp + 0x90], edx
add esp, 0x88
ret
call fcn.00463140
mov ebp, dword [esp + 0x34]
lea ebx, [ebp + 1]
mov ecx, dword [esp + 0x8c]
cmp dword [ecx + 0x28], ebx
jle 0x662a61
mov dword [esp + 0x34], ebx
mov ebp, dword [eax + 8]
lea esi, [ebp + 1]
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 0xc]
cmp ebx, esi
jae 0x662a30
lea eax, [0x6b1a40]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x5c]
mov dword [ebx + 0xc], edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x662a1a
mov dword [ebx + 4], eax
mov edi, dword [esp + 0x80]
jmp 0x662a26
mov edi, dword [esp + 0x80]
call fcn.00463080
mov edx, dword [esp + 0x50]
mov ebp, ecx
mov ecx, eax
mov eax, ebx
lea ebx, [ebp + 1]
mov dword [eax + 8], ebx
mov ebx, dword [0x8e84e0]
lea esi, [ecx + ebp*4]
test ebx, ebx
jne 0x662a4b
mov dword [ecx + ebp*4], edx
jmp 0x6629a8
mov ecx, edi
mov edi, esi
mov ebx, eax
mov eax, edx
call fcn.00463080
mov eax, ebx
mov edi, ecx
jmp 0x6629a8
mov eax, edx
mov edx, dword [esp + 0x5c]
mov ebx, dword [ecx + 0x2c]
cmp dword [ecx + 0x28], ebx
jge 0x662b37
mov dword [esp + 0x5c], edx
movzx ebx, word [ecx + 2]
movzx ebp, byte [eax]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x662a8c
mov ebx, eax
jmp 0x662b31
mov word [esp + 0x26], bx
xchg ebp, eax
cmp al, 0x10
xchg ebp, eax
jne 0x662aae
and ebx, 0x20
movzx esi, word [eax + 2]
and esi, 0x20
cmp si, bx
jne 0x662aae
mov ebx, eax
jmp 0x662b31
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov byte [eax], 0x10
movzx ecx, word [esp + 0x26]
mov word [eax + 2], cx
mov ecx, dword [0x8e84e0]
lea edi, [eax + 0x10]
test ecx, ecx
jne 0x662ae2
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x10], ecx
jmp 0x662af3
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.00463080
mov eax, ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x662b10
mov dword [eax + 4], edi
jmp 0x662b22
lea edx, [eax + 4]
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.00463080
mov eax, ebp
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [ecx + 0x28]
inc ebp
jmp 0x662b7b
test edx, edx
je 0x662b49
mov dword [esp + 0x90], edx
add esp, 0x88
ret
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov byte [eax], 1
mov dword [esp + 0x90], eax
add esp, 0x88
ret
mov esi, dword [esp + 0x30]
inc esi
mov edx, dword [esp + 0x5c]
mov ebx, eax
mov eax, ebp
mov ebp, esi
mov dword [esp + 0x4c], eax
cmp dword [ecx + 0x2c], ebp
jle 0x662cfc
mov dword [esp + 0x30], ebp
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov byte [eax], 0x12
lea ecx, [0x6b1a40]
mov dword [esp], ecx
lea edx, [eax + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 2
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [0x8e84e0]
test ebx, ebx
jne 0x662bf7
mov ebx, dword [esp + 0x50]
mov dword [eax], ebx
mov ebp, dword [esp + 0x4c]
mov dword [eax + 4], ebp
jmp 0x662c18
mov edi, eax
mov eax, dword [esp + 0x50]
call fcn.00463080
lea ebx, [edi + 4]
mov ebp, edi
mov edi, ebx
mov esi, eax
mov eax, dword [esp + 0x4c]
call fcn.00463080
mov eax, ebp
mov ebx, esi
add ecx, 2
mov ebp, dword [esp + 0x64]
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], edx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x662c34
mov dword [ebp + 4], eax
jmp 0x662c3c
lea edi, [ebp + 4]
call fcn.00463080
mov ecx, dword [esp + 0x8c]
movzx edx, word [ecx + 2]
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x662c59
mov eax, ebx
jmp 0x662b6c
mov word [esp + 0x24], dx
xchg esi, eax
cmp al, 0x10
xchg esi, eax
jne 0x662c7a
and edx, 0x20
mov eax, ebx
movzx ebx, word [ebp + 2]
and ebx, 0x20
cmp bx, dx
je 0x662b6c
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov byte [eax], 0x10
movzx ecx, word [esp + 0x24]
mov word [eax + 2], cx
mov ecx, dword [0x8e84e0]
lea edi, [eax + 0x10]
test ecx, ecx
jne 0x662cae
mov ecx, dword [esp + 0x64]
mov dword [eax + 0x10], ecx
jmp 0x662cbb
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.00463080
mov eax, ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x662cd8
mov dword [eax + 4], edi
jmp 0x662cea
lea ecx, [eax + 4]
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.00463080
mov eax, ebx
mov ecx, dword [esp + 0x8c]
mov ebp, eax
mov eax, dword [esp + 0x50]
jmp 0x662b6c
test edx, edx
je 0x662d8b
mov ecx, dword [edx + 8]
lea ebx, [ecx + 1]
mov ebp, dword [edx + 4]
mov esi, dword [edx + 0xc]
cmp esi, ebx
jae 0x662d64
lea eax, [0x6b1a40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x5c]
mov dword [ebx + 0xc], edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x662d54
mov dword [ebx + 4], eax
jmp 0x662d5c
lea edi, [ebx + 4]
call fcn.00463080
mov edx, ebx
mov ebp, eax
mov eax, dword [esp + 0x4c]
lea ebx, [ecx + 1]
mov dword [edx + 8], ebx
mov ebx, dword [0x8e84e0]
lea edi, [ebp + ecx*4]
test ebx, ebx
jne 0x662d81
mov dword [ebp + ecx*4], eax
jmp 0x662b37
call fcn.00463080
jmp 0x662b37
mov dword [esp + 0x90], eax
add esp, 0x88
ret
mov ebp, dword [esp + 0x38]
lea ebx, [ebp + 1]
mov ecx, dword [esp + 0x8c]
mov ebp, dword [ecx + 0x28]
dec ebp
cmp ebx, ebp
jge 0x662e55
mov dword [esp + 0x38], ebx
mov ebp, dword [eax + 8]
lea esi, [ebp + 1]
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 0xc]
cmp ebx, esi
jae 0x662e24
lea eax, [0x6b1a40]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x68]
mov dword [ebx + 0xc], edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x662e0e
mov dword [ebx + 4], eax
mov edi, dword [esp + 0x84]
jmp 0x662e1a
mov edi, dword [esp + 0x84]
call fcn.00463080
mov edx, dword [esp + 0x50]
mov ebp, ecx
mov ecx, eax
mov eax, ebx
lea ebx, [ebp + 1]
mov dword [eax + 8], ebx
mov ebx, dword [0x8e84e0]
lea esi, [ecx + ebp*4]
test ebx, ebx
jne 0x662e3f
mov dword [ecx + ebp*4], edx
jmp 0x662d99
mov ecx, edi
mov edi, esi
mov ebx, eax
mov eax, edx
call fcn.00463080
mov eax, ebx
mov edi, ecx
jmp 0x662d99
movzx ecx, word [ecx + 2]
movzx ebx, byte [edx]
cmp bl, 2
je 0x662efb
mov word [esp + 0x28], cx
cmp bl, 0xf
jne 0x662e7e
and ecx, 0x20
movzx ebp, word [edx + 2]
and ebp, 0x20
cmp bp, cx
je 0x662efb
lea eax, [0x6b5740]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov byte [eax], 0xf
movzx ecx, word [esp + 0x28]
mov word [eax + 2], cx
mov ecx, dword [0x8e84e0]
lea edi, [eax + 0x10]
test ecx, ecx
jne 0x662eb2
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x10], ecx
jmp 0x662ebf
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.00463080
mov eax, ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x662edc
mov dword [eax + 4], edi
jmp 0x662eee
lea ecx, [eax + 4]
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.00463080
mov eax, ebx
mov edi, dword [esp + 0x84]
mov edx, eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 0xc]
lea esi, [ecx + 1]
cmp ebp, esi
jae 0x662f65
mov dword [esp + 0x48], edx
lea eax, [0x6b1a40]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x68]
mov dword [ebx + 0xc], edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x662f4f
mov dword [ebx + 4], eax
jmp 0x662f5b
mov edi, dword [esp + 0x84]
call fcn.00463080
mov edx, dword [esp + 0x48]
mov ebp, eax
mov eax, ebx
mov ebx, ebp
lea ebp, [ecx + 1]
mov dword [eax + 8], ebp
mov ebp, dword [0x8e84e0]
lea edi, [ebx + ecx*4]
test ebp, ebp
jne 0x662f7d
mov dword [ebx + ecx*4], edx
jmp 0x662f88
mov ecx, eax
mov eax, edx
call fcn.00463080
mov eax, ecx
mov dword [esp + 0x90], eax
add esp, 0x88
ret
xor eax, eax
mov ecx, eax
call fcn.00463100
xor eax, eax
mov ecx, eax
call fcn.00463100
xor eax, eax
mov ecx, eax
call fcn.00463100
nop
call fcn.00461c70
jmp fcn.00662310