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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x54]
cmp eax, dword [ecx + 8]
jbe 0x6cb205
sub esp, 0xd4
mov edx, dword [esp + 0xd8]
mov ebx, dword [edx + 0x80]
mov dword [esp + 0x5c], ebx
mov ebp, dword [edx + 0x84]
mov esi, dword [edx + 0x88]
nop
mov eax, esi
lea esi, [ebx + 1]
mov dword [edx + 0x80], esi
inc dword [edx + 0x88]
mov esi, dword [edx + 0x64]
dec esi
mov dword [edx + 0x64], esi
mov ecx, dword [edx + 0x58]
mov edi, ebp
mov ebp, dword [edx + 0x54]
mov ebx, dword [edx + 0x60]
cmp ecx, ebx
jbe 0x6cb1fd
movzx ebp, byte [ebp + ebx]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x6c9dec
mov ecx, 1
jmp 0x6c9e23
mov ecx, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x6c9dff
mov ecx, 2
jmp 0x6c9e23
mov ebp, ecx
and ecx, 0xfffffff0
cmp cl, 0xe0
jne 0x6c9e10
mov ecx, 3
jmp 0x6c9e23
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x6c9e21
mov ecx, 4
jmp 0x6c9e23
xor ecx, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], edi
add ebx, ecx
mov dword [edx + 0x60], ebx
cmp esi, 1
jge 0x6c9e61
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6ca327
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0xd8]
mov edi, dword [esp + 0x54]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov ebp, dword [edx + 0x60]
cmp ecx, ebp
jbe 0x6cb1f6
movzx ebx, byte [ebx + ebp]
cmp bl, 0x2b
jne 0x6c9e82
mov ecx, 1
jmp 0x6c9e90
cmp bl, 0x2d
jne 0x6ca0b5
mov ecx, 0xffffffff
nop
inc dword [edx + 0x80]
inc dword [edx + 0x88]
mov ebx, dword [edx + 0x64]
dec ebx
mov dword [esp + 0x50], ebx
mov dword [edx + 0x64], ebx
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov ebx, dword [edx + 0x60]
cmp ebp, ebx
jbe 0x6cb1ed
movzx ebp, byte [esi + ebx]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x6c9ecb
mov ebp, 1
jmp 0x6c9f04
mov esi, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x6c9ede
mov ebp, 2
jmp 0x6c9f04
mov ebp, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x6c9ef1
mov ebp, 3
jmp 0x6c9f04
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x6c9f02
mov ebp, 4
jmp 0x6c9f04
xor ebp, ebp
add ebx, ebp
mov dword [edx + 0x60], ebx
mov ebx, dword [esp + 0x50]
cmp ebx, 1
jge 0x6c9f46
mov dword [esp + 0x3c], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6ca0a6
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xd8]
mov edi, dword [esp + 0x54]
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x6cb1e4
movzx ebx, byte [ebp + esi]
cmp bl, 0x30
jb 0x6ca09f
cmp bl, 0x39
ja 0x6ca098
cmp bl, 0x30
je 0x6c9ffc
mov byte [esp + 0x23], bl
nop
inc dword [edx + 0x80]
inc dword [edx + 0x88]
dec dword [edx + 0x64]
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov ebx, dword [edx + 0x60]
cmp ebp, ebx
jbe 0x6cb1db
movzx ebp, byte [esi + ebx]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x6c9fae
mov ebp, 1
jmp 0x6c9fe7
mov esi, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x6c9fc1
mov ebp, 2
jmp 0x6c9fe7
mov ebp, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x6c9fd4
mov ebp, 3
jmp 0x6c9fe7
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x6c9fe5
mov ebp, 4
jmp 0x6c9fe7
xor ebp, ebp
add ebx, ebp
mov dword [edx + 0x60], ebx
movzx ebx, byte [esp + 0x23]
movzx ebx, bl
add ebx, 0xffffffd0
jmp 0x6ca2d8
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6ca01f
lea ecx, [0x7c877e]
mov dword [edx + 0x20], ecx
jmp 0x6ca037
lea ecx, [edx + 0x20]
mov ebx, edi
mov edi, ecx
mov ebp, eax
lea eax, [0x7c877e]
call fcn.004643b0
mov eax, ebp
mov edi, ebx
mov ecx, dword [esp + 0x5c]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], edi
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x29
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6ca060
lea eax, [0x7cfe39]
mov dword [edx + 4], eax
jmp 0x6ca06e
lea edi, [edx + 4]
lea eax, [0x7cfe39]
call fcn.004643b0
mov eax, dword [edx + 0x84]
mov ecx, dword [edx + 0x88]
mov ebx, dword [edx + 0x80]
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
xor ebx, ebx
jmp 0x6ca2d8
xor ebx, ebx
jmp 0x6ca2d8
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
cmp bl, 0x30
jb 0x6ca2d4
cmp bl, 0x39
ja 0x6ca2ce
cmp bl, 0x30
je 0x6ca232
mov byte [esp + 0x23], bl
nop
nop
inc dword [edx + 0x80]
inc dword [edx + 0x88]
mov ebp, dword [edx + 0x64]
dec ebp
mov dword [edx + 0x64], ebp
mov ecx, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov ebx, dword [edx + 0x60]
cmp ecx, ebx
jbe 0x6cb1d4
movzx esi, byte [esi + ebx]
xchg esi, eax
test al, 0x80
xchg esi, eax
jne 0x6ca10c
mov ecx, 1
jmp 0x6ca143
mov ecx, esi
and esi, 0xffffffe0
xchg esi, eax
cmp al, 0xc0
xchg esi, eax
jne 0x6ca11f
mov ecx, 2
jmp 0x6ca143
mov esi, ecx
and ecx, 0xfffffff0
cmp cl, 0xe0
jne 0x6ca130
mov ecx, 3
jmp 0x6ca143
and esi, 0xfffffff8
xchg esi, eax
cmp al, 0xf0
xchg esi, eax
jne 0x6ca141
mov ecx, 4
jmp 0x6ca143
xor ecx, ecx
add ebx, ecx
mov dword [edx + 0x60], ebx
cmp ebp, 1
jge 0x6ca179
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6ca223
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0xd8]
mov edi, dword [esp + 0x54]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov ebp, dword [edx + 0x60]
cmp ecx, ebp
jbe 0x6cb1cd
movzx ebx, byte [ebx + ebp]
cmp bl, 0x2b
jne 0x6ca19a
mov ecx, 1
jmp 0x6ca1a4
cmp bl, 0x2d
jne 0x6ca211
mov ecx, 0xffffffff
inc dword [edx + 0x80]
inc dword [edx + 0x88]
dec dword [edx + 0x64]
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x6cb1c4
movzx ebx, byte [ebp + esi]
test bl, 0x80
jne 0x6ca1d5
mov ebx, 1
jmp 0x6ca20a
mov ebp, ebx
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x6ca1e6
mov ebx, 2
jmp 0x6ca20a
mov ebx, ebp
and ebp, 0xfffffff0
xchg ebp, eax
cmp al, 0xe0
xchg ebp, eax
jne 0x6ca1f9
mov ebx, 3
jmp 0x6ca20a
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x6ca208
mov ebx, 4
jmp 0x6ca20a
xor ebx, ebx
add ebx, esi
mov dword [edx + 0x60], ebx
jmp 0x6ca213
xor ecx, ecx
movzx ebx, byte [esp + 0x23]
movzx ebx, bl
add ebx, 0xffffffd0
jmp 0x6ca2d8
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6ca255
lea ecx, [0x7c877e]
mov dword [edx + 0x20], ecx
jmp 0x6ca26d
lea ecx, [edx + 0x20]
mov ebx, edi
mov edi, ecx
mov ebp, eax
lea eax, [0x7c877e]
call fcn.004643b0
mov eax, ebp
mov edi, ebx
mov ecx, dword [esp + 0x5c]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], edi
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x29
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6ca296
lea eax, [0x7cfe39]
mov dword [edx + 4], eax
jmp 0x6ca2a4
lea edi, [edx + 4]
lea eax, [0x7cfe39]
call fcn.004643b0
mov eax, dword [edx + 0x84]
mov ecx, dword [edx + 0x88]
mov ebx, dword [edx + 0x80]
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
xor ebx, ebx
xor ecx, ecx
jmp 0x6ca2d8
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ebx
cmp dword [edx + 0x64], 1
jge 0x6ca33a
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6ca318
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x54]
jmp 0x6ca33a
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov ebx, dword [esp + 0x38]
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov ebx, dword [edx + 0x60]
cmp ebp, ebx
jbe 0x6cb1bb
movzx ebx, byte [esi + ebx]
cmp bl, 0x20
je 0x6ca35d
cmp bl, 9
jne 0x6ca423
nop
inc dword [edx + 0x80]
inc dword [edx + 0x88]
mov ebx, dword [edx + 0x64]
dec ebx
mov dword [esp + 0x50], ebx
mov dword [edx + 0x64], ebx
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov ebx, dword [edx + 0x60]
cmp ebp, ebx
jbe 0x6cb1b2
movzx ebp, byte [esi + ebx]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x6ca398
mov ebp, 1
jmp 0x6ca3d1
mov esi, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x6ca3ab
mov ebp, 2
jmp 0x6ca3d1
mov ebp, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x6ca3be
mov ebp, 3
jmp 0x6ca3d1
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x6ca3cf
mov ebp, 4
jmp 0x6ca3d1
xor ebp, ebp
add ebx, ebp
mov dword [edx + 0x60], ebx
mov ebx, dword [esp + 0x50]
cmp ebx, 1
jge 0x6ca336
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6ca414
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xd8]
mov edi, dword [esp + 0x54]
jmp 0x6ca336
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
cmp bl, 0x23
je 0x6cafaa
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x6cafa1
movzx edx, byte [ebp + esi]
cmp dl, 0xd
je 0x6ca538
cmp dl, 0xa
jne 0x6ca458
cmp dl, 0xd
jmp 0x6ca538
mov byte [esp + 0x23], dl
cmp dl, 0xc2
jne 0x6ca487
lea edx, [esi + 1]
cmp ebx, edx
jbe 0x6caf98
lea edx, [ebp + esi + 1]
cmp byte [edx], 0x85
jne 0x6ca482
movzx edx, byte [esp + 0x23]
cmp dl, 0xd
jmp 0x6ca538
movzx edx, byte [esp + 0x23]
cmp dl, 0xe2
jne 0x6ca52d
lea edx, [esi + 1]
cmp ebx, edx
jbe 0x6caf8f
mov dword [esp + 0x50], edx
lea edx, [ebp + esi + 1]
movzx edx, byte [edx]
mov byte [esp + 0x22], dl
cmp dl, 0x80
jne 0x6ca4d7
lea edx, [esi + 2]
cmp ebx, edx
jbe 0x6caf86
lea edx, [ebp + esi + 2]
cmp byte [edx], 0xa8
jne 0x6ca4cd
movzx edx, byte [esp + 0x23]
cmp dl, 0xd
jmp 0x6ca538
movzx edx, byte [esp + 0x23]
cmp dl, 0xe2
jmp 0x6ca4eb
mov dword [esp + 0x74], ebp
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
mov edx, ebp
mov ebp, dword [esp + 0x74]
jne 0x6ca52d
mov edx, dword [esp + 0x50]
cmp ebx, edx
jbe 0x6caf7d
movzx edx, byte [esp + 0x22]
cmp dl, 0x80
jne 0x6ca528
lea edx, [esi + 2]
cmp ebx, edx
jbe 0x6caf74
lea edx, [ebp + esi + 2]
cmp byte [edx], 0xa9
jne 0x6ca521
movzx edx, byte [esp + 0x23]
cmp dl, 0xd
jmp 0x6ca538
movzx edx, byte [esp + 0x23]
jmp 0x6ca52d
movzx edx, byte [esp + 0x23]
test dl, dl
jne 0x6ca76d
cmp dl, 0xd
je 0x6ca5f1
cmp dl, 0xa
je 0x6ca5f1
cmp dl, 0xc2
jne 0x6ca56d
lea edi, [esi + 1]
cmp ebx, edi
jbe 0x6caf6b
lea edi, [ebp + esi + 1]
cmp byte [edi], 0x85
jne 0x6ca569
mov edi, dword [esp + 0x54]
jmp 0x6ca5f1
mov edi, dword [esp + 0x54]
cmp dl, 0xe2
jne 0x6ca653
lea edi, [esi + 1]
cmp ebx, edi
jbe 0x6caf62
mov dword [esp + 0x50], edi
lea edi, [ebp + esi + 1]
movzx edi, byte [edi]
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x6ca5bd
xchg edi, eax
mov byte [esp + 0x22], al
xchg edi, eax
lea edi, [esi + 2]
cmp ebx, edi
jbe 0x6caf59
lea edi, [ebp + esi + 2]
cmp byte [edi], 0xa8
jne 0x6ca5b3
mov edi, dword [esp + 0x54]
jmp 0x6ca5f1
cmp dl, 0xe2
movzx edi, byte [esp + 0x22]
jmp 0x6ca5c0
cmp dl, 0xe2
jne 0x6ca64f
mov edx, dword [esp + 0x50]
cmp ebx, edx
jbe 0x6caf50
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x6ca649
lea edx, [esi + 2]
cmp ebx, edx
jbe 0x6caf47
lea edx, [ebp + esi + 2]
cmp byte [edx], 0xa9
jne 0x6ca643
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0xd8]
cmp dword [edx + 0x64], 2
jge 0x6ca61e
mov dword [esp], edx
mov dword [esp + 4], 2
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6ca634
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
call fcn.006c2c60
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x54]
jmp 0x6ca653
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov edi, dword [esp + 0x54]
jmp 0x6ca653
mov edi, dword [esp + 0x54]
jmp 0x6ca653
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0xd8]
mov ebx, dword [edx + 0x84]
mov ebp, dword [edx + 0x88]
mov esi, dword [edx + 0x80]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x34], 0
mov ebx, dword [esp + 0x38]
test ebx, ebx
jle 0x6ca69e
mov ebp, dword [edx + 0xac]
test ebp, ebp
jl 0x6ca69a
add ebx, ebp
mov dword [esp + 0x34], ebx
jmp 0x6ca69e
mov dword [esp + 0x34], ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp], edx
lea ecx, [esp + 0x34]
mov dword [esp + 4], ecx
lea ebx, [esp + 0x80]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
lea esi, [esp + 0x60]
mov dword [esp + 0x18], esi
call fcn.006cb210
movzx eax, byte [esp + 0x1c]
test al, al
je 0x6ca75e
mov edx, dword [esp + 0xd8]
cmp dword [edx + 0x64], 1
jge 0x6ca728
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6ca74f
mov edx, dword [esp + 0xd8]
movzx ebx, byte [esp + 0xe0]
xor eax, eax
xor ecx, ecx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x6c], eax
xor ebp, ebp
mov dword [esp + 0x24], ebp
xor eax, eax
xor ebp, ebp
jmp 0x6ca83c
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
nop
mov ecx, dword [esp + 0xd8]
mov dword [ecx], 3
mov dword [ecx + 0x24], 0x1d
mov edx, dword [0xaab020]
test edx, edx
jne 0x6ca797
lea edx, [0x7c877e]
mov dword [ecx + 0x20], edx
jmp 0x6ca7af
lea edx, [ecx + 0x20]
mov ebx, edi
mov edi, edx
mov ebp, eax
lea eax, [0x7c877e]
call fcn.004643b0
mov eax, ebp
mov edi, ebx
mov edx, dword [esp + 0x5c]
mov dword [ecx + 0x28], edx
mov dword [ecx + 0x2c], edi
mov dword [ecx + 0x30], eax
mov dword [ecx + 8], 0x2b
mov edx, dword [0xaab020]
test edx, edx
jne 0x6ca7d8
lea eax, [0x7d0af6]
mov dword [ecx + 4], eax
jmp 0x6ca7e6
lea edi, [ecx + 4]
lea eax, [0x7d0af6]
call fcn.004643b0
mov eax, dword [ecx + 0x84]
mov edx, dword [ecx + 0x88]
mov ebx, dword [ecx + 0x80]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
movzx ebx, byte [esp + 0xe0]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x70]
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x2c], ecx
mov ebp, dword [edx + 0x88]
cmp dword [esp + 0x34], ebp
jne 0x6cab50
mov ebp, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov edx, dword [edx + 0x60]
cmp ebp, edx
jbe 0x6caf3e
movzx edx, byte [ebx + edx]
test dl, dl
je 0x6cab48
cmp dl, 0x20
jne 0x6ca87d
mov edx, 1
jmp 0x6ca883
cmp dl, 9
sete dl
mov dword [esp + 0x30], esi
movzx ebx, byte [esp + 0xe0]
test bl, bl
je 0x6ca89c
mov eax, dword [esp + 0x70]
jmp 0x6ca93c
test al, al
je 0x6ca8a9
mov eax, dword [esp + 0x70]
jmp 0x6ca93c
test dl, dl
je 0x6ca8b6
mov eax, dword [esp + 0x70]
jmp 0x6ca93c
test ecx, ecx
je 0x6ca938
mov eax, dword [esp + 0x70]
cmp byte [eax], 0xa
jne 0x6ca93c
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x6ca92b
mov ecx, dword [esp + 0x24]
inc ecx
cmp edi, ecx
jb 0x6ca8dd
mov edx, dword [esp + 0x6c]
jmp 0x6ca921
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx ebx, byte [esp + 0xe0]
mov esi, dword [esp + 0x30]
mov edx, eax
mov eax, dword [esp + 0x70]
mov byte [ecx + edx - 1], 0x20
jmp 0x6ca9bf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x6c]
jmp 0x6ca9bf
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x24]
lea ebp, [ecx + edx]
cmp edi, ebp
jae 0x6ca985
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebp
mov ebx, dword [esp + 0x6c]
add edx, ebx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00464d50
mov eax, dword [esp + 0x70]
movzx ebx, byte [esp + 0xe0]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x84]
add ecx, ebp
cmp edi, ecx
jb 0x6ca9d0
mov ebp, ecx
jmp 0x6caa02
mov dword [esp + 0x4c], ecx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x84]
sub ebp, eax
mov ebx, dword [esp + 0x80]
add ebp, edx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00464d50
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x60]
cmp ebx, ecx
jae 0x6caf37
movzx edx, byte [edx + ebx]
cmp dl, 0x20
jne 0x6caa63
mov edx, 1
jmp 0x6caa69
cmp dl, 9
sete dl
mov byte [esp + 0x20], dl
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
jmp 0x6cad64
mov ebx, dword [esp + 0x6c]
jmp 0x6caa8e
mov ebx, dword [esp + 0x6c]
jmp 0x6caa8e
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x24], ecx
cmp dword [eax + 0x64], 2
jge 0x6caabc
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6caef2
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
call fcn.006c3060
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0xd8]
mov dword [esp], ebx
lea ebp, [esp + 0x34]
mov dword [esp + 4], ebp
lea esi, [esp + 0x80]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x10], esi
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x14], ebp
lea ebp, [esp + 0x60]
mov dword [esp + 0x18], ebp
call fcn.006cb210
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x6ca810
jmp 0x6caee3
movzx ebx, byte [esp + 0xe0]
mov eax, dword [esp + 0x3c]
cmp eax, 0xffffffff
je 0x6cabe3
mov edx, dword [esp + 0x24]
lea ebp, [ecx + edx]
cmp edi, ebp
jb 0x6cab6e
mov esi, dword [esp + 0x6c]
jmp 0x6caba6
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov esi, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x6c], esi
lea eax, [esi + edx]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00464d50
mov eax, dword [esp + 0x3c]
movzx ebx, byte [esp + 0xe0]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x24]
jmp 0x6cabeb
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x6cac79
mov eax, dword [esp + 0x84]
add edx, eax
cmp edi, edx
jb 0x6cac05
mov eax, edx
jmp 0x6cac37
mov dword [esp + 0x48], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x28], edi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x84]
sub eax, ebx
mov ebp, dword [esp + 0x80]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00464d50
movzx ebx, byte [esp + 0xe0]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ecx
lea esi, [0x846608]
mov eax, edi
lea edi, [esp + 0x8c]
call fcn.00464abc
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov esi, ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xa4], ebx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], eax
mov edi, dword [esp + 0xdc]
test byte [edi], al
mov eax, dword [0xaab020]
test eax, eax
jne 0x6cad11
mov eax, esi
lea esi, [esp + 0x8c]
call fcn.00464abc
jmp 0x6cad36
lea eax, [0x79c080]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.00411480
movzx eax, byte [esp + 0xe0]
test al, al
jne 0x6cad45
mov eax, dword [esp + 0xdc]
mov byte [eax + 0x44], 5
mov byte [esp + 0xe4], 1
add esp, 0xd4
ret
mov edi, edx
mov ebx, eax
mov eax, dword [esp + 0xd8]
movzx edx, byte [esp + 0x20]
mov ebp, dword [eax + 0x58]
mov esi, dword [eax + 0x54]
mov edx, dword [eax + 0x60]
cmp ebp, edx
jbe 0x6caf2e
mov dword [esp + 0x28], edi
mov dword [esp + 0x6c], ebx
movzx edi, byte [esi + edx]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x6caa8e
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x6caa8e
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x6cadba
lea ebx, [edx + 1]
cmp ebp, ebx
jbe 0x6caf25
lea ebx, [esi + edx + 1]
cmp byte [ebx], 0x85
je 0x6caa7e
mov ebx, dword [esp + 0x6c]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x6cae58
lea ebx, [edx + 1]
cmp ebp, ebx
jbe 0x6caf1c
mov dword [esp + 0x50], ebx
lea ebx, [esi + edx + 1]
movzx ebx, byte [ebx]
cmp bl, 0x80
jne 0x6cae08
mov byte [esp + 0x22], bl
lea ebx, [edx + 2]
cmp ebp, ebx
jbe 0x6caf13
lea ebx, [esi + edx + 2]
cmp byte [ebx], 0xa8
je 0x6caa84
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx ebx, byte [esp + 0x22]
jmp 0x6cae0d
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x6cae54
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
mov edi, dword [esp + 0x50]
cmp ebp, edi
jbe 0x6caf0a
cmp bl, 0x80
jne 0x6cae49
lea ebx, [edx + 2]
cmp ebp, ebx
jbe 0x6caf01
lea edx, [esi + edx + 2]
cmp byte [edx], 0xa9
je 0x6caa8a
mov ebx, dword [esp + 0x6c]
movzx edi, byte [esp + 0x23]
jmp 0x6cae58
mov ebx, dword [esp + 0x6c]
movzx edi, byte [esp + 0x23]
jmp 0x6cae58
mov ebx, dword [esp + 0x6c]
xchg edi, eax
test al, al
xchg edi, eax
je 0x6caa8e
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
call fcn.006c2e30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xd8]
cmp dword [ebx + 0x64], 1
jge 0x6cad54
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x7c], eax
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6caed4
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xd8]
jmp 0x6cad54
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, edi
mov ecx, ebp
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, edx
mov ecx, ebp
call fcn.00464430
mov eax, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebp
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edi
mov ecx, ebx
call fcn.00464430
mov eax, edi
mov ecx, ebx
call fcn.00464430
mov eax, edi
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, esi
mov ecx, ebx
call fcn.00464430
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x6cb1a9
movzx edx, byte [ebp + esi]
cmp dl, 0xd
je 0x6cb167
cmp dl, 0xa
je 0x6cb167
mov byte [esp + 0x23], dl
cmp dl, 0xc2
jne 0x6caff8
lea edx, [esi + 1]
cmp ebx, edx
jbe 0x6cb1a0
lea edx, [ebp + esi + 1]
cmp byte [edx], 0x85
je 0x6cb167
movzx edx, byte [esp + 0x23]
cmp dl, 0xe2
jne 0x6cb092
lea edx, [esi + 1]
cmp ebx, edx
jbe 0x6cb197
mov dword [esp + 0x50], edx
lea edx, [ebp + esi + 1]
movzx edx, byte [edx]
mov byte [esp + 0x21], dl
cmp dl, 0x80
jne 0x6cb042
lea edx, [esi + 2]
cmp ebx, edx
jbe 0x6cb18e
lea edx, [ebp + esi + 2]
cmp byte [edx], 0xa8
je 0x6cb167
movzx edx, byte [esp + 0x23]
cmp dl, 0xe2
jmp 0x6cb056
mov dword [esp + 0x78], ebp
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
mov edx, ebp
mov ebp, dword [esp + 0x78]
jne 0x6cb092
mov edx, dword [esp + 0x50]
cmp ebx, edx
jbe 0x6cb185
movzx edx, byte [esp + 0x21]
cmp dl, 0x80
jne 0x6cb08d
lea edx, [esi + 2]
cmp ebx, edx
jbe 0x6cb17c
lea edx, [ebp + esi + 2]
cmp byte [edx], 0xa9
je 0x6cb167
movzx edx, byte [esp + 0x23]
jmp 0x6cb092
movzx edx, byte [esp + 0x23]
test dl, dl
je 0x6cb167
nop
mov edx, dword [esp + 0xd8]
inc dword [edx + 0x80]
inc dword [edx + 0x88]
mov ebx, dword [edx + 0x64]
dec ebx
mov dword [esp + 0x50], ebx
mov dword [edx + 0x64], ebx
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov ebx, dword [edx + 0x60]
cmp ebp, ebx
jbe 0x6cb173
movzx ebp, byte [esi + ebx]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x6cb0dc
mov ebp, 1
jmp 0x6cb115
mov esi, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x6cb0ef
mov ebp, 2
jmp 0x6cb115
mov ebp, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x6cb102
mov ebp, 3
jmp 0x6cb115
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x6cb113
mov ebp, 4
jmp 0x6cb115
xor ebp, ebp
add ebx, ebp
mov dword [edx + 0x60], ebx
mov ebx, dword [esp + 0x50]
cmp ebx, 1
jge 0x6cafaa
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6cb158
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xd8]
mov edi, dword [esp + 0x54]
jmp 0x6cafaa
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov edx, dword [esp + 0xd8]
jmp 0x6ca42c
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, esi
mov ecx, ebx
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, esi
mov ecx, ebx
call fcn.00464430
mov eax, ebp
call fcn.00464430
mov eax, ebx
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, esi
mov ecx, ebx
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, ebp
call fcn.00464430
mov eax, ebx
call fcn.00464430
nop
call fcn.00462fa0
jmp fcn.006c9d70