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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x6c]
cmp eax, dword [ecx + 8]
jbe 0x6cdc3a
sub esp, 0xec
mov edx, dword [esp + 0xf0]
mov ebx, dword [edx + 0x80]
mov ebp, dword [edx + 0x84]
mov esi, dword [edx + 0x88]
mov eax, esi
lea esi, [ebx + 1]
mov dword [edx + 0x80], esi
inc dword [edx + 0x88]
dec dword [edx + 0x64]
mov ecx, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov edi, ebp
mov ebp, dword [edx + 0x60]
cmp ecx, ebp
jbe 0x6cdc32
movzx esi, byte [esi + ebp]
xchg esi, eax
test al, 0x80
xchg esi, eax
jne 0x6cb702
mov ecx, 1
jmp 0x6cb739
mov ecx, esi
and esi, 0xffffffe0
xchg esi, eax
cmp al, 0xc0
xchg esi, eax
jne 0x6cb715
mov ecx, 2
jmp 0x6cb739
mov esi, ecx
and ecx, 0xfffffff0
cmp cl, 0xe0
jne 0x6cb726
mov ecx, 3
jmp 0x6cb739
and esi, 0xfffffff8
xchg esi, eax
cmp al, 0xf0
xchg esi, eax
jne 0x6cb737
mov ecx, 4
jmp 0x6cb739
xor ecx, ecx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], edi
add ebp, ecx
mov dword [edx + 0x60], ebp
xor ecx, ecx
xor ebp, ebp
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x38], ecx
xor ecx, ecx
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov dword [esp + 0x28], ecx
xor ecx, ecx
mov dword [esp + 0x8c], ecx
xor ecx, ecx
mov dword [esp + 0x90], ecx
xor ecx, ecx
mov dword [esp + 0x88], ecx
xor ecx, ecx
mov dword [esp + 0x84], ecx
xor ecx, ecx
jmp 0x6cb7c4
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0xf0]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x34], esi
cmp dword [edx + 0x64], 4
jge 0x6cb812
mov dword [esp], edx
mov dword [esp + 4], 4
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6cbf5f
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x70]
mov ebp, dword [edx + 0x88]
test ebp, ebp
jne 0x6cb920
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov ebx, dword [edx + 0x5c]
mov dword [esp + 0x6c], ebx
mov ebx, dword [edx + 0x60]
cmp ebp, ebx
jbe 0x6cdc29
movzx edx, byte [esi + ebx]
cmp dl, 0x2d
jne 0x6cb879
mov byte [esp + 0x27], dl
lea edx, [ebx + 1]
cmp ebp, edx
jbe 0x6cdc20
lea edx, [esi + ebx + 1]
cmp byte [edx], 0x2d
jne 0x6cb874
lea edx, [ebx + 2]
cmp ebp, edx
jbe 0x6cdc17
lea edx, [esi + ebx + 2]
cmp byte [edx], 0x2d
je 0x6cb8bb
movzx edx, byte [esp + 0x27]
jmp 0x6cb879
movzx edx, byte [esp + 0x27]
cmp dl, 0x2e
jne 0x6cb911
lea edx, [ebx + 1]
cmp ebp, edx
jbe 0x6cdc0e
lea edx, [esi + ebx + 1]
cmp byte [edx], 0x2e
jne 0x6cb900
lea edx, [ebx + 2]
cmp ebp, edx
jbe 0x6cdc05
lea edx, [esi + ebx + 2]
cmp byte [edx], 0x2e
je 0x6cb8bb
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x34]
jmp 0x6cb920
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
lea eax, [ebx + 3]
mov dword [esp + 0xc], eax
call fcn.006d02b0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x6cbe22
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x70]
jmp 0x6cb920
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x34]
jmp 0x6cb920
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x34]
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov ebx, dword [edx + 0x60]
cmp ebp, ebx
jbe 0x6cdbfc
movzx ebx, byte [esi + ebx]
test bl, bl
je 0x6cbec3
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x3c]
jmp 0x6cbf7b
xor eax, eax
jmp 0x6cba38
movzx edx, byte [esp + 0xf8]
jmp 0x6cb96a
movzx edx, byte [esp + 0xf8]
cmp dword [edi + 0x64], 3
jge 0x6cb99c
mov dword [esp], edi
mov dword [esp + 4], 3
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6ccf12
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
nop
inc dword [edi + 0x80]
inc dword [edi + 0x88]
dec dword [edi + 0x64]
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov eax, dword [edi + 0x60]
cmp eax, ecx
jae 0x6cdba0
movzx ecx, byte [ebx + eax]
test cl, 0x80
jne 0x6cb9cd
mov ecx, 1
jmp 0x6cba00
mov ebx, ecx
and ecx, 0xffffffe0
cmp cl, 0xc0
jne 0x6cb9de
mov ecx, 2
jmp 0x6cba00
mov ecx, ebx
and ebx, 0xfffffff0
cmp bl, 0xe0
jne 0x6cb9ef
mov ecx, 3
jmp 0x6cba00
and ecx, 0xfffffff8
cmp cl, 0xf0
jne 0x6cb9fe
mov ecx, 4
jmp 0x6cba00
xor ecx, ecx
add eax, ecx
mov dword [edi + 0x60], eax
mov dword [esp], edi
call fcn.006c2c60
movzx edx, byte [esp + 0xf8]
mov esi, dword [esp + 0xf0]
mov eax, 1
jmp 0x6cba38
xor eax, eax
jmp 0x6cba38
movzx edx, byte [esp + 0xf8]
mov esi, dword [esp + 0xf0]
xor eax, eax
cmp dword [esi + 0x64], 1
jge 0x6cba73
mov byte [esp + 0x22], al
mov dword [esp], esi
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6cd133
movzx eax, byte [esp + 0x22]
movzx edx, byte [esp + 0xf8]
mov esi, dword [esp + 0xf0]
test dl, dl
je 0x6cba94
mov ecx, dword [esi + 0x58]
mov ebx, dword [esi + 0x54]
mov ebp, dword [esi + 0x60]
cmp ebp, ecx
jae 0x6cd56b
add ebx, ebp
cmp byte [ebx], 0x27
jne 0x6cbab0
jmp 0x6ccfd6
mov ecx, dword [esi + 0x58]
mov ebx, dword [esi + 0x54]
mov ebp, dword [esi + 0x60]
cmp ebp, ecx
jae 0x6cd564
add ebx, ebp
cmp byte [ebx], 0x22
je 0x6ccfd6
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x84]
jmp 0x6cd176
mov esi, dword [esp + 0xf0]
jmp 0x6cbae1
mov esi, dword [esp + 0xf0]
jmp 0x6cbae1
mov esi, dword [esp + 0xf0]
test al, al
je 0x6cbd6b
mov edx, dword [esp + 0x44]
test edx, edx
je 0x6cbc27
mov ebx, dword [esp + 0x90]
cmp byte [ebx], 0xa
jne 0x6cbc2e
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x6cbb7f
mov edx, dword [esp + 0x3c]
inc edx
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jb 0x6cbb23
mov eax, dword [esp + 0x8c]
jmp 0x6cbb75
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0x84]
mov eax, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x90]
mov byte [edx + eax - 1], 0x20
jmp 0x6cbd52
mov eax, dword [esp + 0x3c]
lea ebp, [edx + eax]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x6cbbd2
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x8c], ebp
mov esi, ebx
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebp
mov ecx, dword [esp + 0x8c]
add eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00464d50
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x8c]
jmp 0x6cbd52
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x3c]
lea ebp, [edx + eax]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x6cbc88
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov esi, ebx
mov dword [esp + 0x8c], ebp
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebp
mov ecx, dword [esp + 0x8c]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00464d50
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x6cbcc5
mov ebp, dword [esp + 0x8c]
jmp 0x6cbd02
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ebp, eax
mov ebx, esi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x8c], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00464d50
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x7c]
jmp 0x6cb796
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
lea ebx, [edx + eax]
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jae 0x6cbdc7
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x8c], ebp
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + 0x8c]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call fcn.00464d50
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x8c]
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x8c]
jmp 0x6cb796
nop
mov ecx, dword [esp + 0xf0]
mov dword [ecx], 3
mov dword [ecx + 0x24], 0x1e
mov edx, dword [0xaab020]
test edx, edx
jne 0x6cbe4c
lea edx, [0x7c93a7]
mov dword [ecx + 0x20], edx
jmp 0x6cbe5a
lea edi, [ecx + 0x20]
lea eax, [0x7c93a7]
call fcn.004643b0
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x2c], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + 0x30], edx
mov dword [ecx + 8], 0x23
mov edx, dword [0xaab020]
test edx, edx
jne 0x6cbe8b
lea eax, [0x7cc8eb]
mov dword [ecx + 4], eax
jmp 0x6cbe99
lea edi, [ecx + 4]
lea eax, [0x7cc8eb]
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 + 0xfc], 0
add esp, 0xec
ret
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1e
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6cbee6
lea ecx, [0x7c93a7]
mov dword [edx + 0x20], ecx
jmp 0x6cbefe
lea ecx, [edx + 0x20]
mov ebx, edi
mov edi, ecx
mov ebp, eax
lea eax, [0x7c93a7]
call fcn.004643b0
mov eax, ebp
mov edi, ebx
mov ecx, dword [esp + 0x78]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], edi
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x1e
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6cbf27
lea eax, [0x7c8e43]
mov dword [edx + 4], eax
jmp 0x6cbf35
lea edi, [edx + 4]
lea eax, [0x7c8e43]
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 + 0xfc], 0
add esp, 0xec
ret
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
mov ebp, eax
mov esi, ebx
mov ebx, edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x8c], ebp
mov eax, dword [edx + 0x54]
mov ecx, dword [edx + 0x58]
mov edi, dword [edx + 0x5c]
mov ebp, dword [edx + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
call fcn.006d02b0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x6cba27
movzx edx, byte [esp + 0xf8]
test dl, dl
je 0x6cc1af
mov ebx, dword [esp + 0xf0]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x54]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x6cdbf7
mov esi, ebx
lea ebx, [eax + ebp]
movzx ebx, byte [ebx]
cmp bl, 0x27
jne 0x6cc18d
mov edi, ebx
lea ebx, [eax + 1]
cmp ecx, ebx
jbe 0x6cdbf0
lea ebx, [eax + ebp + 1]
cmp byte [ebx], 0x27
jne 0x6cc189
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc020
mov eax, dword [esp + 0x8c]
jmp 0x6cc06a
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov esi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebp
mov byte [ebx + eax - 1], 0x27
nop
mov edi, dword [esi + 0x80]
mov ecx, edx
lea edx, [edi + 1]
mov dword [esi + 0x80], edx
mov edx, dword [esi + 0x88]
mov dword [esp + 0x6c], edx
lea ebx, [edx + 1]
mov dword [esi + 0x88], ebx
mov ebx, dword [esi + 0x64]
mov dword [esp + 0x68], ebx
lea ebp, [ebx - 1]
mov dword [esi + 0x64], ebp
mov ebp, dword [esi + 0x58]
mov ebx, dword [esi + 0x54]
mov edx, dword [esi + 0x60]
cmp ebp, edx
jbe 0x6cdbe7
movzx ebx, byte [ebx + edx]
test bl, 0x80
jne 0x6cc0ca
mov ebx, 1
jmp 0x6cc0ff
mov ebp, ebx
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x6cc0db
mov ebx, 2
jmp 0x6cc0ff
mov ebx, ebp
and ebp, 0xfffffff0
xchg ebp, eax
cmp al, 0xe0
xchg ebp, eax
jne 0x6cc0ee
mov ebx, 3
jmp 0x6cc0ff
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x6cc0fd
mov ebx, 4
jmp 0x6cc0ff
xor ebx, ebx
add edx, ebx
mov dword [esi + 0x60], edx
lea ebx, [edi + 2]
mov dword [esi + 0x80], ebx
mov ebx, dword [esp + 0x6c]
add ebx, 2
mov dword [esi + 0x88], ebx
mov ebx, dword [esp + 0x68]
add ebx, 0xfffffffe
mov dword [esi + 0x64], ebx
mov ebx, dword [esi + 0x58]
mov ebp, dword [esi + 0x54]
cmp ebx, edx
jbe 0x6cdbde
movzx ebx, byte [edx + ebp]
test bl, 0x80
jne 0x6cc142
mov ebx, 1
jmp 0x6cc177
mov ebp, ebx
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x6cc153
mov ebx, 2
jmp 0x6cc177
mov ebx, ebp
and ebp, 0xfffffff0
xchg ebp, eax
cmp al, 0xe0
xchg ebp, eax
jne 0x6cc166
mov ebx, 3
jmp 0x6cc177
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x6cc175
mov ebx, 4
jmp 0x6cc177
xor ebx, ebx
add edx, ebx
mov dword [esi + 0x60], edx
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
jmp 0x6cceb9
test dl, dl
jmp 0x6cc191
test dl, dl
mov edi, ebx
je 0x6cc1b6
cmp eax, ecx
jae 0x6cdbd9
xchg edi, eax
cmp al, 0x27
xchg edi, eax
je 0x6cb951
test dl, dl
je 0x6cc1b6
jmp 0x6cce79
mov esi, dword [esp + 0xf0]
mov ecx, dword [esi + 0x58]
mov ebx, dword [esi + 0x54]
mov eax, dword [esi + 0x60]
cmp eax, ecx
jae 0x6cdbd4
lea ebp, [eax + ebx]
cmp byte [ebp], 0x22
je 0x6cba23
test dl, dl
jne 0x6cce79
cmp eax, ecx
jae 0x6cdbcf
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x6cc2f3
mov edi, esi
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x6cdbc8
movzx esi, byte [eax + ebx + 1]
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x6cb96a
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x6cb96a
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x6cc246
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x6cdbc1
lea ebp, [eax + ebx + 2]
cmp byte [ebp], 0x85
je 0x6cb96a
movzx ebp, byte [esp + 0x26]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x6cc2ef
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x6cdbba
lea edx, [eax + ebx + 2]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x6cc290
mov byte [esp + 0x25], dl
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x6cdbb3
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa8
je 0x6cb958
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
movzx edx, byte [esp + 0x25]
jmp 0x6cc295
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x6cc2de
cmp ecx, ebp
jbe 0x6cdbac
cmp dl, 0x80
jne 0x6cc2cd
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x6cdba5
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa9
je 0x6cb962
movzx edx, byte [esp + 0xf8]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x6cc2f7
movzx edx, byte [esp + 0xf8]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x6cc2f7
movzx edx, byte [esp + 0xf8]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x6cc2f7
test dl, dl
jmp 0x6cc2f7
test dl, dl
mov edi, esi
jne 0x6cce77
cmp eax, ecx
jae 0x6cdb9b
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x6cce73
lea ebp, [eax + 1]
cmp ecx, ebp
jbe 0x6cdb94
movzx ebx, byte [eax + ebx + 1]
cmp bl, 0x5c
ja 0x6cc86a
cmp bl, 0x30
ja 0x6cc50c
cmp bl, 0x20
ja 0x6cc3b5
cmp bl, 9
je 0x6ccbf8
cmp bl, 0x20
jne 0x6ccf30
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc35f
mov eax, dword [esp + 0x8c]
jmp 0x6cc3a9
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0x20
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x22
jne 0x6cc426
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc3d0
mov eax, dword [esp + 0x8c]
jmp 0x6cc41a
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0x22
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x27
jne 0x6cc497
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc441
mov eax, dword [esp + 0x8c]
jmp 0x6cc48b
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0x27
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x30
jne 0x6ccf30
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc4b6
mov eax, dword [esp + 0x8c]
jmp 0x6cc500
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x4e
ja 0x6cc6d4
cmp bl, 0x4c
jne 0x6cc618
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc534
mov eax, dword [esp + 0x8c]
jmp 0x6cc57e
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, ebp
mov ebp, eax
mov eax, ecx
mov byte [ebx + eax - 1], 0xe2
inc ebx
cmp ebp, ebx
jae 0x6cc5c5
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov byte [ebx + eax - 1], pe_nt_image_headers32
inc ebx
cmp ebp, ebx
jae 0x6cc60c
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov byte [ebx + eax - 1], 0xa8
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x4e
jne 0x6ccf30
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc637
mov eax, dword [esp + 0x8c]
jmp 0x6cc681
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, ebp
mov ebp, eax
mov eax, ecx
mov byte [ebx + eax - 1], 0xc2
inc ebx
cmp ebp, ebx
jae 0x6cc6c8
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov byte [ebx + eax - 1], 0x85
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x50
jne 0x6cc7d7
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc6f3
mov eax, dword [esp + 0x8c]
jmp 0x6cc73d
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, ebp
mov ebp, eax
mov eax, ecx
mov byte [ebx + eax - 1], 0xe2
inc ebx
cmp ebp, ebx
jae 0x6cc784
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov byte [ebx + eax - 1], pe_nt_image_headers32
inc ebx
cmp ebp, ebx
jae 0x6cc7cb
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov byte [ebx + eax - 1], 0xa9
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x55
jne 0x6cc7f5
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x3c]
mov ecx, 8
jmp 0x6ccd0d
cmp bl, 0x5c
jne 0x6ccf30
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc814
mov eax, dword [esp + 0x8c]
jmp 0x6cc85e
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0x5c
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x66
ja 0x6ccb04
cmp bl, 0x61
ja 0x6cc9ad
cmp bl, 0x5f
jne 0x6cc938
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc89b
mov eax, dword [esp + 0x8c]
jmp 0x6cc8e5
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, ebp
mov ebp, eax
mov eax, ecx
mov byte [ebx + eax - 1], 0xc2
inc ebx
cmp ebp, ebx
jae 0x6cc92c
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov byte [ebx + eax - 1], 0xa0
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x61
jne 0x6ccf30
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc957
mov eax, dword [esp + 0x8c]
jmp 0x6cc9a1
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 7
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x62
jne 0x6cca1e
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cc9c8
mov eax, dword [esp + 0x8c]
jmp 0x6cca12
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 8
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x65
jne 0x6cca8f
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6cca39
mov eax, dword [esp + 0x8c]
jmp 0x6cca83
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0x1b
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x66
jne 0x6ccf30
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6ccaae
mov eax, dword [esp + 0x8c]
jmp 0x6ccaf8
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0xc
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x74
ja 0x6ccc64
cmp bl, 0x6e
jne 0x6ccb7e
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6ccb28
mov eax, dword [esp + 0x8c]
jmp 0x6ccb72
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0xa
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x72
jne 0x6ccbef
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6ccb99
mov eax, dword [esp + 0x8c]
jmp 0x6ccbe3
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0xd
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x74
jne 0x6ccf30
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6ccc0e
mov eax, dword [esp + 0x8c]
jmp 0x6ccc58
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 9
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x75
jne 0x6ccc82
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x3c]
mov ecx, 4
jmp 0x6ccd0d
cmp bl, 0x76
jne 0x6cccf0
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x6ccc9d
mov eax, dword [esp + 0x8c]
jmp 0x6ccce7
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov ecx, eax
mov eax, ebp
mov ebp, ecx
mov byte [ebx + eax - 1], 0xb
xor ecx, ecx
jmp 0x6ccd0d
cmp bl, 0x78
jne 0x6ccf30
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x3c]
mov ecx, 2
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebp
nop
mov esi, dword [edi + 0x80]
lea edx, [esi + 1]
mov dword [edi + 0x80], edx
mov edx, dword [edi + 0x88]
mov dword [esp + 0x6c], edx
lea ebx, [edx + 1]
mov dword [edi + 0x88], ebx
mov ebx, dword [edi + 0x64]
mov dword [esp + 0x68], ebx
lea ebp, [ebx - 1]
mov dword [edi + 0x64], ebp
mov ebp, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov edx, dword [edi + 0x60]
cmp edx, ebp
jae 0x6cdb8b
movzx ebx, byte [ebx + edx]
test bl, 0x80
jne 0x6ccd66
mov ebx, 1
jmp 0x6ccd9b
mov ebp, ebx
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x6ccd77
mov ebx, 2
jmp 0x6ccd9b
mov ebx, ebp
and ebp, 0xfffffff0
xchg ebp, eax
cmp al, 0xe0
xchg ebp, eax
jne 0x6ccd8a
mov ebx, 3
jmp 0x6ccd9b
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x6ccd99
mov ebx, 4
jmp 0x6ccd9b
xor ebx, ebx
add edx, ebx
mov dword [edi + 0x60], edx
nop
lea ebx, [esi + 2]
mov dword [edi + 0x80], ebx
mov ebx, dword [esp + 0x6c]
add ebx, 2
mov dword [edi + 0x88], ebx
mov ebx, dword [esp + 0x68]
add ebx, 0xfffffffe
mov dword [edi + 0x64], ebx
mov ebp, dword [edi + 0x58]
mov esi, dword [edi + 0x54]
cmp ebp, edx
jbe 0x6cdb82
movzx ebp, byte [edx + esi]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x6ccde1
mov ebp, 1
jmp 0x6cce1a
mov esi, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x6ccdf4
mov ebp, 2
jmp 0x6cce1a
mov ebp, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x6cce07
mov ebp, 3
jmp 0x6cce1a
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x6cce18
mov ebp, 4
jmp 0x6cce1a
xor ebp, ebp
add edx, ebp
mov dword [edi + 0x60], edx
test ecx, ecx
jle 0x6cce66
mov dword [esp + 0x4c], ecx
cmp ecx, ebx
jle 0x6cce5d
mov dword [esp + 0xa0], eax
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6ccf21
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0xf0]
xor edx, edx
xor ebx, ebx
jmp 0x6cd596
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
jmp 0x6cd581
mov esi, edi
jmp 0x6cce79
mov esi, edi
mov dword [esp], esi
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
call fcn.006c2e30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0xf0]
mov ebx, ecx
movzx ecx, byte [esp + 0xf8]
cmp dword [esi + 0x64], 2
jge 0x6cbf6e
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x98], eax
mov dword [esp], esi
mov dword [esp + 4], 2
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6cd572
mov eax, dword [esp + 0x98]
movzx ecx, byte [esp + 0xf8]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0xf0]
jmp 0x6cbf6e
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6ccf53
lea ecx, [0x7c8761]
mov dword [edi + 0x20], ecx
jmp 0x6ccf67
lea ecx, [edi + 0x20]
lea eax, [0x7c8761]
mov edx, edi
mov edi, ecx
call fcn.004643b0
mov edi, edx
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x30], ecx
mov dword [edi + 8], 0x1e
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6ccf98
lea eax, [0x7c8e61]
mov dword [edi + 4], eax
jmp 0x6ccfac
lea ecx, [edi + 4]
lea eax, [0x7c8e61]
mov edx, edi
mov edi, ecx
call fcn.004643b0
mov edi, edx
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x88]
mov edx, dword [edi + 0x80]
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
nop
mov ebx, dword [esi + 0x80]
inc ebx
mov dword [esi + 0x80], ebx
mov ebp, dword [esi + 0x88]
inc ebp
mov dword [esi + 0x88], ebp
dec dword [esi + 0x64]
mov ecx, dword [esi + 0x58]
mov eax, edx
mov edx, dword [esi + 0x54]
mov edi, ebp
mov ebp, dword [esi + 0x60]
cmp ebp, ecx
jae 0x6cd142
movzx ecx, byte [edx + ebp]
test cl, 0x80
jne 0x6cd019
mov ecx, 1
jmp 0x6cd04c
mov edx, ecx
and ecx, 0xffffffe0
cmp cl, 0xc0
jne 0x6cd02a
mov ecx, 2
jmp 0x6cd04c
mov ecx, edx
and edx, 0xfffffff0
cmp dl, 0xe0
jne 0x6cd03b
mov ecx, 3
jmp 0x6cd04c
and ecx, 0xfffffff8
cmp cl, 0xf0
jne 0x6cd04a
mov ecx, 4
jmp 0x6cd04c
xor ecx, ecx
add ecx, ebp
mov dword [esi + 0x60], ecx
mov ecx, dword [esi + 0x84]
mov dword [esp + 0x6c], ecx
lea esi, [0x846650]
mov edx, edi
lea edi, [esp + 0xa4]
call fcn.00464abc
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ebx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], edx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xcc], ecx
mov edi, dword [esp + 0xf4]
test byte [edi], al
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6cd0f0
lea esi, [esp + 0xa4]
call fcn.00464abc
test al, al
jmp 0x6cd117
lea eax, [0x79c080]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.00411480
movzx eax, byte [esp + 0xf8]
test al, al
jne 0x6cd124
mov eax, dword [esp + 0xf4]
mov byte [eax + 0x44], 3
mov byte [esp + 0xfc], 1
add esp, 0xec
ret
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
mov eax, ebp
call fcn.00464430
movzx edx, byte [esp + 0xf8]
mov dword [esp + 0x34], edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x90], eax
mov edi, dword [esp + 0x84]
mov ecx, esi
mov esi, dword [esp + 0xf0]
mov eax, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x2c], ebx
mov edx, dword [esi + 0x58]
mov ebp, dword [esi + 0x54]
mov ebx, dword [esi + 0x60]
cmp ebx, edx
jae 0x6cd55b
mov dword [esp + 0x94], ebp
mov dword [esp + 0x38], ecx
mov dword [esp + 0x84], edi
movzx ebp, byte [ebp + ebx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x6cd2e0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jne 0x6cd1c2
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
jmp 0x6cd2e0
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
jne 0x6cd1d3
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
jmp 0x6cd2e0
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
jne 0x6cd1e4
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
jmp 0x6cd2e0
xchg ebp, eax
cmp al, 0xc2
xchg ebp, eax
jne 0x6cd21e
lea esi, [ebx + 1]
cmp edx, esi
jbe 0x6cd552
mov esi, dword [esp + 0x94]
lea esi, [ebx + esi + 1]
cmp byte [esi], 0x85
jne 0x6cd217
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
mov esi, dword [esp + 0xf0]
jmp 0x6cd2e0
mov esi, dword [esp + 0xf0]
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x6cbae1
lea esi, [ebx + 1]
cmp edx, esi
jbe 0x6cd549
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x94]
lea esi, [ebx + esi + 1]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x6cd288
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
lea esi, [ebx + 2]
cmp edx, esi
jbe 0x6cd540
mov esi, dword [esp + 0x94]
lea esi, [ebx + esi + 2]
cmp byte [esi], 0xa8
jne 0x6cd27c
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
mov esi, dword [esp + 0xf0]
jmp 0x6cd2e0
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
movzx esi, byte [esp + 0x26]
jmp 0x6cd28d
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x6cbada
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
mov ebp, dword [esp + 0x6c]
cmp edx, ebp
jbe 0x6cd537
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x6cbad1
lea ebp, [ebx + 2]
cmp edx, ebp
jbe 0x6cd52e
mov edx, dword [esp + 0x94]
lea edx, [ebx + edx + 2]
cmp byte [edx], 0xa9
jne 0x6cbac8
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
mov ebp, edx
mov esi, dword [esp + 0xf0]
mov byte [esp + 0x24], al
je 0x6cd2f1
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jne 0x6cd3ca
test al, al
je 0x6cd367
inc dword [esi + 0x80]
inc dword [esi + 0x88]
dec dword [esi + 0x64]
mov edx, dword [esi + 0x58]
mov ebx, dword [esi + 0x54]
mov ebp, dword [esi + 0x60]
cmp ebp, edx
jae 0x6cd525
movzx edx, byte [ebx + ebp]
test dl, 0x80
jne 0x6cd325
mov edx, 1
jmp 0x6cd358
mov ebx, edx
and edx, 0xffffffe0
cmp dl, 0xc0
jne 0x6cd336
mov edx, 2
jmp 0x6cd358
mov edx, ebx
and ebx, 0xfffffff0
cmp bl, 0xe0
jne 0x6cd347
mov edx, 3
jmp 0x6cd358
and edx, 0xfffffff8
cmp dl, 0xf0
jne 0x6cd356
mov edx, 4
jmp 0x6cd358
xor edx, edx
add edx, ebp
mov dword [esi + 0x60], edx
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
jmp 0x6cd3a1
mov dword [esp], esi
mov dword [esp + 4], edi
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.006c2e30
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xf0]
mov edx, eax
movzx eax, byte [esp + 0x24]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x2c], ebx
mov ebx, eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x34]
jmp 0x6cd496
cmp dword [esi + 0x64], 2
jge 0x6cd404
mov dword [esp], esi
mov dword [esp + 4], 2
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6cd516
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0x84]
test al, al
je 0x6cd458
mov dword [esp], esi
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.006c3060
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
movzx ebx, byte [esp + 0x24]
mov esi, edx
mov edi, ecx
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x90]
jmp 0x6cd496
mov dword [esp], esi
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
call fcn.006c3060
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
xor edx, edx
mov ebx, 1
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xf0]
cmp dword [edx + 0x64], 1
jge 0x6cd149
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edi
mov byte [esp + 0x23], bl
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.006c0550
movzx eax, byte [esp + 8]
test al, al
je 0x6cd507
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xf0]
movzx ebx, byte [esp + 0x23]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
jmp 0x6cd149
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
mov eax, ebp
mov ecx, edx
call fcn.00464430
mov eax, ebp
mov ecx, edx
call fcn.00464430
mov eax, ebp
mov ecx, edx
call fcn.00464430
mov eax, esi
mov ecx, edx
call fcn.00464430
mov eax, esi
mov ecx, edx
call fcn.00464430
mov eax, esi
mov ecx, edx
call fcn.00464430
mov eax, ebx
mov ecx, edx
call fcn.00464430
mov eax, ebp
call fcn.00464430
mov eax, ebp
call fcn.00464430
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
mov ebx, edx
mov edx, ecx
mov ecx, ebx
jmp 0x6ccea8
inc edx
mov ebp, dword [esp + 0x30]
shl ebp, 4
add ebx, ebp
mov dword [esp + 0x30], ebx
cmp edx, ecx
jge 0x6cd6a9
mov ebp, dword [edi + 0x58]
mov esi, dword [edi + 0x54]
mov ebx, dword [edi + 0x60]
add ebx, edx
cmp ebp, ebx
jbe 0x6cdb79
movzx ebx, byte [ebx + esi]
cmp bl, 0x30
jb 0x6cd603
cmp bl, 0x39
jbe 0x6cd5d7
cmp bl, 0x41
jb 0x6cd603
cmp bl, 0x46
jbe 0x6cd5d7
cmp bl, 0x61
jb 0x6cd603
cmp bl, 0x66
ja 0x6cd603
lea ebp, [ebx - 0x41]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x6cd5e9
movzx ebx, bl
add ebx, 0xffffffc9
jmp 0x6cd58c
lea ebp, [ebx - 0x61]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x6cd5fb
movzx ebp, bl
lea ebx, [ebp - 0x57]
jmp 0x6cd58c
movzx ebp, bl
lea ebx, [ebp - 0x30]
jmp 0x6cd58c
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6cd626
lea ecx, [0x7c8761]
mov dword [edi + 0x20], ecx
jmp 0x6cd63a
lea ecx, [edi + 0x20]
lea eax, [0x7c8761]
mov edx, edi
mov edi, ecx
call fcn.004643b0
mov edi, edx
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x30], ecx
mov dword [edi + 8], 0x27
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6cd66b
lea eax, [0x7ced67]
mov dword [edi + 4], eax
jmp 0x6cd67f
lea ecx, [edi + 4]
lea eax, [0x7ced67]
mov edx, edi
mov edi, ecx
call fcn.004643b0
mov edi, edx
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x88]
mov edx, dword [edi + 0x80]
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
lea edx, [ebx - 0xd800]
cmp edx, 0x7ff
jbe 0x6cda4c
cmp ebx, 0x10ffff
jg 0x6cda4c
cmp ebx, 0x7f
jg 0x6cd71f
mov edx, dword [esp + 0x3c]
inc edx
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jae 0x6cd716
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov byte [edx + eax - 1], bl
jmp 0x6cda3d
cmp ebx, 0x7ff
jg 0x6cd7d8
mov edx, dword [esp + 0x3c]
inc edx
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jae 0x6cd775
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov esi, ebx
sar ebx, 6
add ebx, 0xc0
mov byte [edx + eax - 1], bl
inc edx
cmp ebp, edx
jae 0x6cd7c6
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
and esi, 0x3f
lea ebx, [esi + 0x80]
mov byte [edx + eax - 1], bl
jmp 0x6cda3d
cmp ebx, 0xffff
jg 0x6cd8e9
mov edx, dword [esp + 0x3c]
inc edx
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jae 0x6cd82e
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov esi, ebx
sar ebx, 0xc
add ebx, 0xe0
mov byte [edx + eax - 1], bl
inc edx
cmp ebp, edx
jae 0x6cd87f
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov ebx, esi
sar esi, 6
and esi, 0x3f
add esi, 0x80
xchg esi, ebx
mov byte [edx + eax - 1], bl
xchg esi, ebx
inc edx
cmp ebp, edx
jae 0x6cd8d7
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
and ebx, 0x3f
add ebx, 0x80
mov byte [edx + eax - 1], bl
jmp 0x6cda3d
mov edx, dword [esp + 0x3c]
inc edx
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jae 0x6cd933
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov esi, ebx
sar ebx, 0x12
add ebx, 0xf0
mov byte [edx + eax - 1], bl
inc edx
cmp ebp, edx
jae 0x6cd984
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov ebx, esi
sar esi, 0xc
and esi, 0x3f
add esi, 0x80
xchg esi, ebx
mov byte [edx + eax - 1], bl
xchg esi, ebx
inc edx
cmp ebp, edx
jae 0x6cd9dc
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov esi, ebx
sar ebx, 6
and ebx, 0x3f
add ebx, 0x80
mov byte [edx + eax - 1], bl
inc edx
cmp ebp, edx
jae 0x6cda30
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
and esi, 0x3f
lea ebx, [esi + 0x80]
mov byte [edx + eax - 1], bl
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edx
xor ebx, ebx
jmp 0x6cdb01
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6cda6f
lea ecx, [0x7c8761]
mov dword [edi + 0x20], ecx
jmp 0x6cda83
lea ecx, [edi + 0x20]
lea eax, [0x7c8761]
mov edx, edi
mov edi, ecx
call fcn.004643b0
mov edi, edx
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x30], ecx
mov dword [edi + 8], 0x2b
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x6cdab4
lea eax, [0x7d0dd1]
mov dword [edi + 4], eax
jmp 0x6cdac8
lea ecx, [edi + 4]
lea eax, [0x7d0dd1]
mov edx, edi
mov edi, ecx
call fcn.004643b0
mov edi, edx
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x88]
mov edx, dword [edi + 0x80]
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov byte [esp + 0xfc], 0
add esp, 0xec
ret
lea esi, [edx + ebp]
mov dword [edi + 0x60], esi
inc ebx
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
cmp ebx, ecx
jge 0x6cdb69
nop
inc dword [edi + 0x80]
inc dword [edi + 0x88]
dec dword [edi + 0x64]
mov esi, dword [edi + 0x58]
mov edx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp ebp, esi
jae 0x6cdb70
movzx edx, byte [edx + ebp]
test dl, 0x80
jne 0x6cdb32
mov edx, 1
jmp 0x6cdaf2
mov esi, edx
and edx, 0xffffffe0
cmp dl, 0xc0
jne 0x6cdb43
mov edx, 2
jmp 0x6cdaf2
mov edx, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x6cdb56
mov edx, 3
jmp 0x6cdaf2
and edx, 0xfffffff8
cmp dl, 0xf0
jne 0x6cdb65
mov edx, 4
jmp 0x6cdaf2
xor edx, edx
jmp 0x6cdaf2
mov ecx, ebp
jmp 0x6cd581
mov eax, ebp
mov ecx, esi
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, edx
mov ecx, ebp
call fcn.00464430
mov eax, edx
mov ecx, ebp
call fcn.00464430
mov eax, ebp
call fcn.00464430
call fcn.00464430
call fcn.00464430
mov eax, edx
call fcn.00464430
mov eax, ebp
call fcn.00464430
mov eax, edx
call fcn.00464430
mov eax, ebp
call fcn.00464430
mov eax, ebp
call fcn.00464430
mov eax, esi
call fcn.00464430
call fcn.00464430
call fcn.00464430
call fcn.00464430
mov eax, edx
mov ecx, ebx
call fcn.00464430
mov eax, edx
mov ecx, ebp
call fcn.00464430
mov eax, ebx
call fcn.00464430
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, edx
mov ecx, ebp
call fcn.00464430
mov eax, edx
mov ecx, ebp
call fcn.00464430
mov eax, edx
mov ecx, ebp
call fcn.00464430
mov eax, edx
mov ecx, ebp
call fcn.00464430
mov eax, ebx
mov ecx, ebp
call fcn.00464430
mov eax, ebp
call fcn.00464430
nop
call fcn.00462fa0
jmp fcn.006cb690