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

Disassembly:
push ebp
push edi
push esi
push ebx
mov esi, edx
sub esp, 0xbc
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
test eax, eax
mov dword [esp + 0x98], 0
sete dl
test esi, esi
sete al
or dl, al
jne 0x6bb005
mov dword [esp + 0xa0], 0
call sub.msvcrt.dll_localeconv
mov eax, dword [eax]
mov dword [esp + 0x54], eax
call sub.msvcrt.dll_localeconv
mov ecx, dword [eax + 4]
test ecx, ecx
mov dword [esp + 0x2c], ecx
je 0x6b9ad9
cmp byte [ecx], 0
mov eax, 0
cmovne eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
xor edi, edi
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ebp, edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
movzx eax, byte [esi]
test al, al
je 0x6baf3c
js 0x6b9bf0
cmp al, 0x25
lea ebx, [esi + 1]
je 0x6b9c25
movzx esi, al
mov dword [esp], esi
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6b9be0
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bb1b0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x6b9b81
mov dword [esp], ebp
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6b9de2
cmp esi, ebp
je 0x6b9cb1
mov edx, dword [esp + 0x1c]
mov ecx, edi
mov dword [esp], 0
mov eax, ebp
call fcn.006b99f0
jmp case.0x6b9eaf.1
fstp st(0)
jmp case.0x6b9eaf.1
fstp st(0)
jmp case.0x6b9eaf.1
fstp st(0)
lea esi, [esi]
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x8c]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
call fcn.006b98d0
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x20], 1
mov esi, ebx
jmp 0x6b9b1d
mov dword [esp], esi
call sub.msvcrt.dll_strlen
lea edx, [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], edx
call fcn.006b8440
test eax, eax
jg 0x6b9cc0
movzx eax, byte [esi]
lea ebx, [esi + 1]
cmp al, 0x25
jne 0x6b9b39
movzx edx, byte [esi + 1]
mov dword [esp + 0x48], 0
mov eax, edx
sub edx, 0x30
cmp edx, 9
jbe 0x6ba3e3
xor esi, esi
mov ecx, dword [esp + 0x2c]
jmp 0x6b9c83
cmp al, 0x27
je 0x6b9d00
cmp al, 0x49
jne 0x6b9d40
movzx eax, byte [ebx + 1]
cmp al, 0x36
je 0x6b9d13
or esi, 4
cmp al, 0x33
je 0x6b9d25
mov esi, esi
lea edi, [edi]
add ebx, 1
cmp al, 0x2a
jne 0x6b9c50
or esi, 0x80
movzx eax, byte [ebx + 1]
jmp 0x6b9c80
fstp st(0)
jmp 0x6b9c9d
fstp st(0)
jmp 0x6b9c9d
fstp st(0)
mov eax, dword [esp + 0x98]
cmp dword [esp + 0x9c], eax
je case.0x6b9eaf.1
mov dword [esp + 0x20], 0
mov esi, ebx
jmp 0x6b9b1d
mov ebp, dword [esp + 0x1c]
lea ebx, [esi + eax]
lea edi, [esp + 0x90]
mov edx, edi
mov eax, ebp
call fcn.006b9960
cmp eax, 0xffffffff
je 0x6ba600
add esi, 1
movzx edx, byte [esi - 1]
cmp eax, edx
jne 0x6ba600
cmp ebx, esi
jne 0x6b9cce
mov ebp, eax
mov esi, ebx
jmp 0x6b9b1d
mov edx, esi
movzx eax, byte [ebx + 1]
or dh, 1
test ecx, ecx
cmovne esi, edx
jmp 0x6b9c80
cmp byte [ebx + 2], 0x34
je 0x6b9dd3
or esi, 4
jmp 0x6b9c80
cmp byte [ebx + 2], 0x32
jne 0x6b9c80
movzx eax, byte [ebx + 3]
add ebx, 2
jmp 0x6b9c80
movzx edx, al
mov dword [esp + 0x40], 0
lea ecx, [edx - 0x30]
cmp ecx, 9
ja 0x6ba63b
xor ecx, ecx
lea esi, [esi]
lea eax, [ecx + ecx*4]
add ebx, 1
lea ecx, [edx + eax*2 - 0x30]
movzx edx, byte [ebx]
lea edi, [edx - 0x30]
mov eax, edx
cmp edi, 9
jbe 0x6b9d60
test ecx, ecx
mov edx, 0xffffffff
cmovne edx, ecx
mov dword [esp + 0x40], edx
cmp al, 0x6a
je 0x6bafa3
jle 0x6b9e42
cmp al, 0x71
je 0x6ba6e0
jg 0x6ba5d3
cmp al, 0x6c
je 0x6bafe6
cmp al, 0x6d
jne 0x6b9e60
movzx eax, byte [ebx + 1]
cmp al, 0x6c
mov byte [esp + 0x34], al
je 0x6bb5cd
lea eax, [ebx + 1]
or esi, 0x400
mov dword [esp + 0x58], eax
jmp 0x6b9e70
movzx eax, byte [ebx + 3]
or esi, 0xc
add ebx, 2
jmp 0x6b9c80
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 0x1c]
jmp 0x6b9e00
mov dword [esp], eax
call sub.msvcrt.dll_isspace
test eax, eax
je 0x6ba630
mov edx, edi
mov eax, ebp
call fcn.006b9960
cmp eax, 0xffffffff
mov ebx, eax
jne 0x6b9df0
mov edi, eax
mov eax, dword [esp + 0x28]
test eax, eax
cmovne edi, eax
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x8c]
mov dword [esp], eax
mov eax, edi
call fcn.006b98d0
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
cmp al, 0x4c
je 0x6ba6e0
jle 0x6ba648
cmp al, 0x61
je 0x6bafba
cmp al, 0x68
je 0x6ba661
movzx eax, byte [ebx]
mov dword [esp + 0x58], ebx
mov byte [esp + 0x34], al
nop
lea esi, [esi]
cmp byte [esp + 0x34], 0
je case.0x6b9eaf.1
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x58]
test edi, edi
lea ebx, [eax + 1]
jne 0x6ba1e3
movzx ecx, byte [esp + 0x34]
cmp cl, 0x5b
jne 0x6ba1d5
movzx eax, byte [esp + 0x34]
sub eax, 0x25
cmp al, 0x53
ja case.0x6b9eaf.1
movzx eax, al
jmp dword [eax*4 + 0x7a1374]
mov eax, esi
and eax, 0x80
mov dword [esp + 0x20], eax
jne 0x6b9f59
test esi, 0x600
je 0x6ba680
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6bb738
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edi
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x6bc3f3
mov dword [esp], 0xc8
call sub.msvcrt.dll_malloc
mov edi, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x3c], eax
mov dword [edi], eax
je 0x6bb70c
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x6b9f36
mov edx, dword [eax]
cmp edx, 0x1f
jbe 0x6b9f3d
call fcn.006b98b0
mov edx, dword [eax]
mov edi, dword [esp + 0x24]
lea ecx, [edx + 1]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x4c], 0x64
mov dword [eax], ecx
mov dword [eax + edx*4 + 8], edi
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bb1b0
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xa4], 0
mov dword [esp + 0x34], ebx
mov dword [esp], ebp
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6bc1e3
mov edx, dword [esp + 0x20]
mov ecx, ebp
mov byte [esp + 0xab], cl
test edx, edx
cmove eax, dword [esp + 0x3c]
mov ebx, eax
lea eax, [esp + 0xa4]
mov dword [esp + 8], 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xab]
mov dword [esp + 4], eax
call fcn.006b82d0
cmp eax, 0xfffffffe
jne 0x6bb240
mov edx, edi
mov eax, esi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6ba620
mov byte [esp + 0xab], al
jmp 0x6b9fb3
mov edi, dword [esp + 0x40]
mov eax, 1
cmp edi, 0xffffffff
cmovne eax, edi
mov dword [esp + 0x40], eax
mov eax, esi
and eax, 0x80
mov dword [esp + 0x20], eax
jne 0x6ba0b8
test esi, 0x600
je 0x6ba6b0
mov edx, dword [esp + 0x48]
test edx, edx
jne 0x6bb755
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x6bc3f3
mov edi, dword [esp + 0x40]
mov eax, 0x400
cmp edi, 0x400
cmovle eax, edi
mov dword [esp + 0x4c], eax
add eax, eax
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edi, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x3c], eax
mov dword [edi], eax
je 0x6bb70c
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x6ba09d
mov edx, dword [eax]
cmp edx, 0x1f
jbe 0x6ba0a4
call fcn.006b98b0
mov edx, dword [eax]
mov edi, dword [esp + 0x24]
lea ecx, [edx + 1]
mov dword [esp + 0x8c], eax
mov dword [eax], ecx
mov dword [eax + edx*4 + 8], edi
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bb1b0
and esi, 0x600
mov dword [esp + 0xa4], 0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], esi
mov eax, ebp
mov byte [esp + 0xab], al
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x6ba171
mov eax, dword [esp + 0x34]
test eax, eax
je 0x6ba171
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
mov eax, dword [eax]
lea ebx, [ecx + ecx]
lea ecx, [eax + ebx]
cmp dword [esp + 0x3c], ecx
jne 0x6ba171
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x3c], ebx
lea esi, [edx - 1]
cmp ecx, edx
cmovle esi, ecx
add esi, ecx
add ecx, 1
mov ebx, ecx
jmp 0x6ba14a
cmp ebx, esi
jae 0x6bba86
mov eax, dword [esp + 0x24]
mov esi, ebx
mov eax, dword [eax]
lea ecx, [esi + esi]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.msvcrt.dll_realloc
test eax, eax
je 0x6ba13a
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x4c], esi
mov dword [ecx], eax
add eax, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
mov ebx, 0
lea esi, [esp + 0xab]
test eax, eax
cmove ebx, dword [esp + 0x3c]
mov eax, edi
mov edi, ebp
mov ebp, eax
lea eax, [esp + 0xa4]
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.006b82d0
cmp eax, 0xfffffffe
jne 0x6bb1cf
mov eax, dword [esp + 0x1c]
mov edx, ebp
call fcn.006b9960
cmp eax, 0xffffffff
mov edi, eax
je 0x6ba620
mov byte [esp + 0xab], al
jmp 0x6ba18e
mov eax, ecx
and eax, 0xffffffdf
cmp al, 0x43
je 0x6ba252
cmp cl, 0x6e
je 0x6ba252
call sub.msvcrt.dll__errno
mov eax, dword [eax]
mov edi, ebp
mov dword [esp + 0x20], eax
call sub.msvcrt.dll__errno
mov dword [eax], 0
cmp edi, 0xffffffff
je 0x6ba3c4
lea ebp, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, ebp
call fcn.006b9960
cmp eax, 0xffffffff
mov edi, eax
je 0x6ba3c4
mov dword [esp], eax
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6ba1fb
mov eax, ebp
mov ebp, edi
mov edi, eax
call sub.msvcrt.dll__errno
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [eax], ecx
mov dword [esp], 0
mov ecx, edi
mov eax, ebp
call fcn.006b99f0
movzx eax, byte [esp + 0x34]
cmp al, 0x63
je 0x6ba440
cmp al, 0x73
jne 0x6b9e9c
mov eax, esi
and eax, 4
mov dword [esp + 0x20], eax
jne case.0x6b9eaf.46
mov eax, esi
and eax, 0x80
mov dword [esp + 0x34], eax
jne 0x6ba30f
test esi, 0x600
je 0x6bb98d
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6bc0b0
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x24]
test edx, edx
je 0x6bc3f3
mov dword [esp], 0x64
call sub.msvcrt.dll_malloc
mov edi, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x50], eax
mov dword [edi], eax
je 0x6bb70c
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x6ba2ec
mov edx, dword [eax]
cmp edx, 0x1f
jbe 0x6ba2f3
call fcn.006b98b0
mov edx, dword [eax]
mov edi, dword [esp + 0x24]
lea ecx, [edx + 1]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x4c], 0x64
mov dword [eax], ecx
mov dword [eax + edx*4 + 8], edi
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bc08e
mov eax, esi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], esi
and eax, 0x600
mov ebx, ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov ebp, dword [esp + 0x50]
jmp 0x6ba384
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
mov ebp, edx
mov eax, dword [eax]
add ecx, eax
cmp edx, ecx
je 0x6bb938
test esi, esi
jle 0x6ba36e
sub esi, 1
je 0x6bb615
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebx, eax
je 0x6bb615
mov dword [esp], ebx
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6bb9c0
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x6ba361
mov eax, dword [esp + 0x48]
lea edx, [ebp + 1]
mov byte [ebp], bl
test eax, eax
jne 0x6ba34b
mov ebp, edx
jmp 0x6ba361
mov dword [esp], 0xffffffff
call sub.msvcrt.dll_isspace
test eax, eax
je 0x6baf92
call sub.msvcrt.dll__errno
cmp dword [eax], 4
jne 0x6ba3b0
mov edi, dword [esp + 0x28]
mov eax, 0xffffffff
test edi, edi
cmovne eax, edi
mov edi, eax
jmp 0x6b9e1b
lea ecx, [esi + 2]
movzx esi, byte [esi + 2]
mov dword [esp + 0x48], edx
mov edx, esi
movzx edx, dl
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x6ba426
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x48]
mov edi, eax
lea eax, [ebx + ebx*4]
add ecx, 1
lea ebx, [edx + eax*2 - 0x30]
movzx edx, byte [ecx]
lea esi, [edx - 0x30]
cmp esi, 9
jbe 0x6ba405
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x34]
mov esi, edx
mov eax, edi
mov edx, esi
cmp dl, 0x24
je 0x6ba655
mov dword [esp + 0x48], 0
jmp 0x6b9c3f
test esi, 4
jne case.0x6b9eaf.30
mov edi, dword [esp + 0x40]
mov eax, 1
cmp edi, 0xffffffff
cmovne eax, edi
mov dword [esp + 0x40], eax
mov eax, esi
and eax, 0x80
mov dword [esp + 0x20], eax
jne 0x6baae6
mov eax, esi
and eax, 0x600
mov dword [esp + 0x34], eax
je 0x6bb9e3
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6bc17d
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x6bc3f3
mov edi, dword [esp + 0x40]
mov eax, 0x400
cmp edi, 0x400
cmovle eax, edi
mov dword [esp], eax
mov dword [esp + 0x4c], eax
call sub.msvcrt.dll_malloc
mov ecx, eax
mov eax, dword [esp + 0x24]
test ecx, ecx
mov dword [eax], ecx
je 0x6bb70c
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x6ba4ea
mov edx, dword [eax]
cmp edx, 0x1f
jbe 0x6ba4f9
mov dword [esp + 0x48], ecx
call fcn.006b98b0
mov ecx, dword [esp + 0x48]
mov edx, dword [eax]
mov edi, dword [esp + 0x24]
lea esi, [edx + 1]
mov dword [esp + 0x8c], eax
mov dword [eax], esi
mov dword [eax + edx*4 + 8], edi
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], ecx
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
mov ecx, dword [esp + 0x48]
je 0x6bc08e
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x40], edi
jmp 0x6ba56c
sub ebx, 1
mov eax, ebp
lea edi, [ecx + 1]
test ebx, ebx
mov byte [ecx], al
jle 0x6bb788
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bb788
mov ecx, edi
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
test eax, eax
mov esi, edi
je 0x6ba540
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
lea edx, [eax + edi]
cmp ecx, edx
jne 0x6ba540
lea esi, [ebx - 1]
cmp edi, ebx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x24]
cmovl esi, edi
add esi, edi
add edi, 1
jmp 0x6ba5aa
cmp edi, esi
jae 0x6bba86
mov eax, dword [ebx]
mov esi, edi
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_realloc
test eax, eax
je 0x6ba59e
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x4c], esi
mov dword [edi], eax
add ecx, eax
jmp 0x6ba540
cmp al, 0x74
je 0x6ba5df
cmp al, 0x7a
jne 0x6b9e60
lea eax, [ebx + 1]
or esi, 4
mov dword [esp + 0x58], eax
movzx eax, byte [ebx + 1]
mov byte [esp + 0x34], al
jmp 0x6b9e70
mov edx, dword [esp + 0x1c]
mov ecx, edi
mov dword [esp], 1
call fcn.006b99f0
jmp 0x6ba3ce
call sub.msvcrt.dll__errno
mov dword [eax], 0x2a
jmp case.0x6b9eaf.1
mov ebp, ebx
mov ebx, dword [esp + 0x20]
jmp 0x6b9b81
mov dword [esp + 0x40], 0xffffffff
jmp 0x6b9d85
test al, al
je case.0x6b9eaf.1
jmp 0x6b9e60
lea ebx, [ecx + 1]
movzx eax, byte [ecx + 1]
jmp 0x6b9c3f
movzx eax, byte [ebx + 1]
cmp al, 0x68
mov byte [esp + 0x34], al
je 0x6bb5e7
lea eax, [ebx + 1]
or esi, 2
mov dword [esp + 0x58], eax
jmp 0x6b9e70
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x6bb812
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x6b9f59
jmp case.0x6b9eaf.1
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6bb7b3
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x6ba0b8
jmp case.0x6b9eaf.1
lea eax, [ebx + 1]
or esi, 0xc
mov dword [esp + 0x58], eax
movzx eax, byte [ebx + 1]
mov byte [esp + 0x34], al
jmp 0x6b9e70
mov eax, esi
mov edi, esi
and eax, 0x80
and edi, 4
mov dword [esp + 0x5c], eax
mov dword [esp + 0x20], edi
je 0x6bb6ad
test eax, eax
jne 0x6ba7a1
test esi, 0x600
je 0x6bbf41
mov edx, dword [esp + 0x48]
test edx, edx
jne 0x6bc344
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x6bc3f3
mov dword [esp], 0xc8
call sub.msvcrt.dll_malloc
mov edi, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x3c], eax
mov dword [edi], eax
je 0x6bb70c
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x6ba77e
mov edx, dword [eax]
cmp edx, 0x1f
jbe 0x6ba785
call fcn.006b98b0
mov edx, dword [eax]
mov edi, dword [esp + 0x24]
lea ecx, [edx + 1]
mov dword [esp + 0x8c], eax
mov dword [eax], ecx
mov dword [eax + edx*4 + 8], edi
mov dword [esp + 0x4c], 0x64
mov edi, dword [esp + 0x58]
movzx eax, byte [edi + 1]
cmp al, 0x5e
sete byte [esp + 0x34]
add edi, 2
cmp al, 0x5e
cmove ebx, edi
mov edi, dword [esp + 0x40]
mov eax, 0x7fffffff
test edi, edi
cmovns eax, edi
cmp dword [esp + 0x94], 0xff
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x98]
ja 0x6ba810
test eax, eax
mov dword [esp + 0x94], 0x100
mov edx, 0x100
je 0x6ba801
mov dword [esp], eax
call sub.msvcrt.dll_free
mov edx, dword [esp + 0x94]
mov dword [esp], edx
call sub.msvcrt.dll_malloc
mov dword [esp + 0x98], eax
lea edi, [eax + 4]
mov dword [eax], 0
mov dword [eax + 0xfc], 0
and edi, 0xfffffffc
sub eax, edi
lea ecx, [eax + 0x100]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
movzx eax, byte [ebx]
cmp al, 0x5d
je 0x6bb772
cmp al, 0x2d
jne 0x6ba861
jmp 0x6bb772
mov edx, dword [esp + 0x98]
mov byte [edx + eax], 1
movzx edx, byte [ebx]
movzx eax, dl
add ebx, 1
test al, al
je case.0x6b9eaf.1
cmp al, 0x5d
je 0x6bb03e
cmp al, 0x2d
jne 0x6ba850
movzx edx, byte [ebx]
test dl, dl
je 0x6ba850
cmp dl, 0x5d
je 0x6ba850
movzx ecx, byte [ebx - 2]
cmp cl, dl
ja 0x6ba850
jae 0x6ba85e
mov edx, dword [esp + 0x98]
movzx eax, cl
add ecx, 1
mov byte [edx + eax], 1
cmp byte [ebx], cl
ja 0x6ba88e
jmp 0x6ba85b
mov eax, esi
and eax, 0x80
mov dword [esp + 0x20], eax
jne 0x6b9cb1
test esi, 8
mov eax, dword [esp + 0x90]
je 0x6bbb59
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x6bc1c9
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
mov dword [edx], eax
mov dword [edx + 4], 0
mov esi, ebx
jmp 0x6b9b1d
mov edi, dword [esp + 0x40]
xor eax, eax
test edi, edi
setg al
sub edi, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], edi
lea edi, [esp + 0x90]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov dword [esp + 0x68], eax
je 0x6bc08e
mov ebp, dword [esp + 0x68]
lea eax, [ebp - 0x2b]
and eax, 0xfffffffd
je 0x6bb7d0
mov dword [esp], ebp
call sub.msvcrt.dll_tolower
cmp eax, 0x6e
je 0x6bc215
cmp eax, 0x69
je 0x6bc0cd
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x5c], 0x65
mov dword [esp + 0x34], 0
test ecx, ecx
jne 0x6bba10
mov eax, esi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x64], esi
and eax, 0x100
mov dword [esp + 0x20], edi
mov byte [esp + 0x58], 0
mov byte [esp + 0x60], 0
mov dword [esp + 0x70], eax
mov ebx, ebp
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x40]
jmp 0x6baa0f
mov ecx, dword [esp + 0x98]
movzx eax, byte [esp + 0x5c]
cmp byte [ecx + esi - 1], al
je 0x6bb5bc
mov eax, dword [esp + 0x54]
test edi, edi
movzx eax, byte [eax]
jle 0x6bb01a
cmp byte [esp + 0x60], 0
je 0x6bb380
test al, al
je 0x6ba9ee
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], edi
test eax, eax
je 0x6bb4ae
cmp byte [eax], 0
jne 0x6bb4ae
test edi, edi
cmovg edi, dword [esp + 0x34]
test edi, edi
je 0x6bb725
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
call fcn.006b9960
cmp eax, 0xffffffff
mov ebx, eax
je 0x6bb725
xor eax, eax
test edi, edi
setg al
sub edi, eax
lea eax, [ebx - 0x30]
cmp eax, 9
jbe 0x6baf15
cmp byte [esp + 0x58], 0
jne 0x6ba992
test byte [esp + 0x64], 0x40
je 0x6baa3d
mov dword [esp], ebx
call sub.msvcrt.dll_isxdigit
test eax, eax
jne 0x6baf15
test esi, esi
je 0x6ba9a8
mov dword [esp], ebx
call sub.msvcrt.dll_tolower
cmp byte [esp + 0x5c], al
jne 0x6ba9a8
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x94]
mov eax, esi
call fcn.006b9840
movzx ecx, byte [esp + 0x5c]
mov dword [esp + 0x98], eax
mov byte [esp + 0x58], 1
mov byte [esp + 0x60], 1
mov byte [eax + esi], cl
add esi, 1
jmp 0x6ba9e6
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bc08e
cmp eax, 0x25
je 0x6b9cb1
mov edx, dword [esp + 0x1c]
mov ecx, edi
mov dword [esp], 1
call fcn.006b99f0
jmp case.0x6b9eaf.1
movzx eax, byte [esp + 0x34]
sub eax, 0x58
cmp al, 0x20
ja case.0x6baadf.1
movzx eax, al
jmp dword [eax*4 + 0x7a14c4]
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bc08e
mov eax, ebp
mov esi, dword [esp + 0x40]
mov ebp, ebx
mov ebx, dword [esp + 0x1c]
jmp 0x6bab1f
mov edx, edi
mov eax, ebx
call fcn.006b9960
cmp eax, 0xffffffff
je 0x6bab26
sub esi, 1
test esi, esi
jg 0x6bab11
mov ebx, ebp
mov dword [esp + 0x20], 0
mov ebp, eax
mov esi, ebx
jmp 0x6b9b1d
mov dword [esp + 0x38], 0xa
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bc08e
lea eax, [eax - 0x2b]
mov dword [esp + 0x20], 0
and eax, 0xfffffffd
jne 0x6babb6
lea eax, [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, eax
xor eax, eax
call fcn.006b9840
mov ecx, ebp
mov dword [esp + 0x98], eax
mov edx, edi
mov byte [eax], cl
mov ecx, dword [esp + 0x40]
xor eax, eax
test ecx, ecx
setg al
sub ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
call fcn.006b9960
mov dword [esp + 0x20], 1
mov ebp, eax
mov eax, dword [esp + 0x40]
test eax, eax
setne dl
cmp ebp, 0x30
jne 0x6bb841
test dl, dl
je 0x6bb841
mov ebp, dword [esp + 0x20]
test eax, eax
lea ecx, [ebp + 1]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x98]
jle 0x6bbcb5
sub eax, 1
lea edx, [esp + 0x94]
mov dword [esp + 0x40], eax
mov eax, ebp
call fcn.006b9840
mov dword [esp + 0x98], eax
mov byte [eax + ebp], 0x30
mov edx, edi
mov eax, dword [esp + 0x1c]
call fcn.006b9960
mov edx, dword [esp + 0x40]
mov ebp, eax
xor eax, eax
test edx, edx
jne 0x6bbce1
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x6bbca0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], 8
mov dword [esp + 0x20], ecx
test al, al
je 0x6bacf7
mov eax, esi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], esi
and eax, 0x100
mov ebx, ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], edi
jmp 0x6bacd6
lea eax, [ebx - 0x30]
cmp eax, 9
ja 0x6bae73
lea eax, [ebx - 0x2f]
cmp eax, dword [esp + 0x38]
jg 0x6bace9
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x94]
mov eax, ebp
lea edi, [ebp + 1]
call fcn.006b9840
mov dword [esp + 0x98], eax
mov byte [eax + ebp], bl
xor eax, eax
test esi, esi
mov edx, dword [esp + 0x34]
mov dword [esp + 0x20], edi
setg al
sub esi, eax
mov eax, dword [esp + 0x1c]
call fcn.006b9960
cmp eax, 0xffffffff
mov ebx, eax
setne dl
test esi, esi
setne al
test dl, al
je 0x6bace9
cmp dword [esp + 0x38], 0x10
jne 0x6bac70
mov dword [esp], ebx
call sub.msvcrt.dll_isxdigit
test eax, eax
jne 0x6bac85
mov ebp, ebx
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x6bb664
cmp dword [esp + 0x20], 1
jne 0x6bad1f
mov eax, dword [esp + 0x98]
movzx eax, byte [eax]
sub eax, 0x2b
test al, 0xfd
je 0x6bb67c
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov dword [esp], 0
mov ecx, edi
call fcn.006b99f0
lea eax, [esp + 0x94]
mov dword [esp + 0x58], eax
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
mov eax, edi
call fcn.006b9840
mov dword [esp + 0x98], eax
mov byte [eax + edi], 0
mov edi, esi
mov eax, esi
and edi, 0x10
mov ecx, dword [esp + 0x38]
and eax, 8
lea edx, [esp + 0x9c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
je 0x6bb82f
test edi, edi
je 0x6bbd08
call fcn.006b8580
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x9c]
cmp dword [esp + 0x98], ecx
je case.0x6b9eaf.1
mov ecx, esi
and ecx, 0x80
mov dword [esp + 0x20], ecx
jne 0x6b9cb1
test edi, edi
je 0x6bbd47
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x6bbd20
test esi, 4
jne 0x6bc144
test esi, 2
jne 0x6bc380
and esi, 1
je 0x6bc8ce
cmp dword [esp + 0x48], 0
jne 0x6bc8b7
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
mov byte [edx], al
add dword [esp + 0x28], 1
mov esi, ebx
jmp 0x6b9b1d
mov eax, esi
mov dword [esp + 0x38], 0x10
and eax, 0xfffffff1
or eax, 0x24
mov esi, eax
jmp case.0x6baadf.1
mov dword [esp + 0x38], 8
jmp case.0x6baadf.1
or esi, 0x10
mov dword [esp + 0x38], 0
jmp case.0x6baadf.1
mov dword [esp + 0x38], 0x10
jmp case.0x6baadf.1
or esi, 0x10
mov dword [esp + 0x38], 0xa
jmp case.0x6baadf.1
cmp dword [esp + 0x38], 0xa
jne 0x6bace9
mov edi, dword [esp + 0x58]
test edi, edi
je 0x6bace9
mov ecx, dword [esp + 0x2c]
test esi, esi
mov edi, 0x7fffffff
cmovg edi, esi
movzx edx, byte [ecx]
cmp edx, ebx
mov eax, edx
jne 0x6bbb50
cmp byte [ecx + 1], 0
lea ebp, [ecx + 1]
je 0x6baf02
mov dword [esp + 0x40], esi
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
jmp 0x6baed5
add ebp, 1
cmp byte [ebp], 0
je 0x6bb2f0
test edi, edi
je 0x6bb2fb
mov edx, ebx
mov eax, esi
call fcn.006b9960
cmp eax, 0xffffffff
je 0x6bb1c0
movzx ecx, byte [ebp]
sub edi, 1
cmp eax, ecx
je 0x6baec0
mov esi, dword [esp + 0x40]
mov ebx, eax
mov eax, ecx
test al, al
jne 0x6bc882
mov ebp, dword [esp + 0x20]
test esi, esi
cmovle edi, esi
mov esi, edi
sub ebp, 1
jmp 0x6bac89
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x94]
mov eax, esi
call fcn.006b9840
mov dword [esp + 0x98], eax
mov byte [eax + esi], bl
add esi, 1
jmp 0x6ba9e6
mov edx, dword [esp + 0x20]
test edx, edx
je case.0x6b9eaf.1
lea eax, [esp + 0x90]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov edi, eax
lea esi, [esi]
mov edx, edi
mov eax, esi
call fcn.006b9960
mov dword [esp], eax
mov ebx, eax
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6baf60
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, ebx
mov dword [esp], 0
call fcn.006b99f0
jmp case.0x6b9eaf.1
mov ebp, 0xffffffff
lea edi, [esp + 0x90]
jmp 0x6ba233
lea eax, [ebx + 1]
or esi, 8
mov dword [esp + 0x58], eax
movzx eax, byte [ebx + 1]
mov byte [esp + 0x34], al
jmp 0x6b9e70
movzx ecx, byte [ebx + 1]
mov eax, ecx
mov byte [esp + 0x34], cl
and eax, 0xfffffff7
cmp al, 0x53
je 0x6bafd4
cmp cl, 0x73
jne 0x6b9e60
lea eax, [ebx + 1]
or esi, 0x200
mov dword [esp + 0x58], eax
jmp 0x6b9e70
movzx eax, byte [ebx + 1]
cmp al, 0x6c
mov byte [esp + 0x34], al
je 0x6bb5fe
lea eax, [ebx + 1]
or esi, 4
mov dword [esp + 0x58], eax
jmp 0x6b9e70
call sub.msvcrt.dll__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x6b9bce
cmp byte [esp + 0x60], 0
je 0x6bb902
test al, al
je 0x6ba9e6
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], 0x7fffffff
jmp 0x6ba9ce
mov eax, dword [esp + 0x90]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x6bb862
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bc08e
mov eax, edi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x20], esi
mov edi, ebp
mov dword [esp + 0xa4], 0
mov dword [esp + 0x48], 0
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x40]
mov ebp, eax
jmp 0x6bb0bf
sub ebx, 1
je 0x6bbaa3
mov eax, dword [esp + 0x1c]
mov edx, ebp
call fcn.006b9960
cmp eax, 0xffffffff
mov edi, eax
je 0x6bbaa3
mov eax, dword [esp + 0x98]
movzx ecx, byte [esp + 0x34]
cmp byte [eax + edi], cl
je 0x6bbf20
test esi, esi
jne 0x6bb0a0
mov eax, edi
mov dword [esp + 8], 1
mov byte [esp + 0xab], al
lea eax, [esp + 0xa4]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xab]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.006b82d0
cmp eax, 0xfffffffe
je 0x6bbb18
add dword [esp + 0x3c], 2
test dword [esp + 0x20], 0x600
mov ecx, dword [esp + 0x3c]
je 0x6bb6a0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x48], 0
mov edx, dword [eax]
mov eax, dword [esp + 0x4c]
add eax, eax
mov dword [esp + 0x40], eax
add eax, edx
cmp ecx, eax
jne 0x6bb0a0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x48], ebx
add eax, 1
mov ebx, ecx
mov dword [esp + 0x3c], eax
jmp 0x6bb178
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jae 0x6bc435
mov ecx, dword [esp + 0x24]
mov ebx, eax
mov edx, dword [ecx]
lea eax, [ebx + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_realloc
test eax, eax
je 0x6bb164
mov edx, dword [esp + 0x24]
mov ecx, ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 0
mov dword [edx], eax
add eax, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
jmp 0x6bb0a0
mov eax, dword [esp + 0x28]
mov edi, ebp
test eax, eax
cmovne edi, eax
jmp 0x6b9e1b
mov ebx, eax
mov esi, dword [esp + 0x40]
movzx eax, byte [ebp]
jmp 0x6baefa
mov ecx, ebp
cmp eax, 1
mov ebp, edi
mov edi, ecx
jne 0x6ba620
sub dword [esp + 0x40], 1
add dword [esp + 0x3c], 2
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x6bb206
mov eax, dword [esp + 0x1c]
mov edx, ecx
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
jne 0x6ba0ee
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x48]
test esi, esi
jne 0x6b9cb1
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
mov esi, ebx
mov ecx, eax
add ecx, eax
mov eax, dword [esp + 0x24]
call fcn.006b9790
add dword [esp + 0x28], 1
mov dword [esp + 0x24], 0
jmp 0x6b9b1d
cmp eax, 1
jne 0x6ba620
mov eax, dword [esp + 0x20]
add dword [esp + 0x3c], 2
mov ebx, dword [esp + 0x3c]
test eax, eax
jne 0x6bb27b
test dword [esp + 0x48], 0x600
je 0x6bb27b
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax]
mov eax, dword [edx]
add eax, ecx
cmp ebx, eax
je 0x6bc5ca
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x6bb28c
sub eax, 1
mov dword [esp + 0x40], eax
je 0x6bb2a0
mov edx, edi
mov eax, esi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
jne 0x6b9f8d
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x6b9cb1
mov eax, dword [esp + 0x3c]
xor ecx, ecx
lea esi, [eax + 2]
mov word [eax], cx
mov eax, dword [esp + 0x4c]
mov edx, esi
lea ecx, [eax + eax]
mov eax, dword [esp + 0x24]
call fcn.006b9790
mov dword [esp + 0x3c], esi
add dword [esp + 0x28], 1
mov esi, ebx
mov dword [esp + 0x24], 0
jmp 0x6b9b1d
mov ebx, eax
mov esi, dword [esp + 0x40]
jmp 0x6baf02
mov edi, ebx
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x40], ebp
mov ebp, eax
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x40], ecx
jbe 0x6bacf7
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov dword [esp], 0
mov ecx, edi
call fcn.006b99f0
mov eax, dword [esp + 0x40]
lea ebp, [eax - 1]
cmp ebp, dword [esp + 0x2c]
jbe 0x6bb372
mov dword [esp + 0x34], ebp
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
mov ecx, edi
movzx eax, byte [eax]
mov dword [esp], 1
call fcn.006b99f0
sub dword [esp + 0x34], 1
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x2c]
jne 0x6bb33e
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x40]
lea ebp, [ebp + eax + 1]
movzx ebp, byte [ebp]
jmp 0x6bacf7
movzx edx, al
cmp ebx, edx
jne 0x6bc564
mov eax, dword [esp + 0x54]
cmp byte [eax + 1], 0
lea ebp, [eax + 1]
je 0x6bc571
mov ebx, edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x40], edi
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
jmp 0x6bb3d4
movzx ecx, byte [ebp]
sub ebx, 1
cmp eax, ecx
jne 0x6bbe6d
add ebp, 1
cmp byte [ebp], 0
je 0x6bbdf2
test ebx, ebx
je 0x6bbe5a
mov edx, edi
mov eax, esi
call fcn.006b9960
cmp eax, 0xffffffff
jne 0x6bb3b0
cmp byte [ebp], 0
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x34], ebx
mov ebx, eax
je 0x6bbe00
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x2c]
test edx, edx
je 0x6ba9ce
mov ecx, dword [esp + 0x54]
sub ebp, ecx
test ebp, ebp
jle 0x6bc57a
mov edx, eax
movzx eax, byte [ecx]
cmp byte [edx], al
jne 0x6bc585
mov dword [esp + 0x40], ebx
mov eax, edx
mov ebx, edx
jmp 0x6bb43b
movzx edx, byte [ecx + edx]
cmp byte [eax], dl
jne 0x6bc085
add eax, 1
mov edx, eax
sub edx, ebx
cmp edx, ebp
jl 0x6bb42f
mov ebx, dword [esp + 0x40]
cmp edx, ebp
jne 0x6ba9ce
movzx edx, byte [eax]
cmp edx, ebx
jne 0x6ba9d6
cmp byte [eax + 1], 0
lea ebp, [eax + 1]
jne 0x6bb4a6
jmp 0x6ba9df
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
call fcn.006b9960
cmp eax, 0xffffffff
mov ebx, eax
je 0x6bc414
movzx eax, byte [ebp]
sub dword [esp + 0x34], 1
cmp ebx, eax
jne 0x6bc414
add ebp, 1
cmp byte [ebp], 0
je 0x6ba9df
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x6bb470
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebp, ebx
mov dword [esp], 0
mov eax, ebp
mov dword [esp + 0x34], esi
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov ecx, edi
call fcn.006b99f0
mov eax, dword [esp + 0x34]
test eax, eax
je case.0x6b9eaf.1
test esi, 0x40
je 0x6bb4f3
cmp dword [esp + 0x34], 2
je case.0x6b9eaf.1
lea eax, [esp + 0x94]
mov dword [esp + 0x58], eax
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
mov eax, edi
call fcn.006b9840
mov dword [esp + 0x98], eax
mov byte [eax + edi], 0
mov edi, esi
and edi, 0x80
test esi, 8
jne 0x6bbbde
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x9c]
and esi, 4
mov dword [esp + 4], edx
mov dword [esp], eax
je 0x6bbb92
call fcn.006bcb90
test edi, edi
jne 0x6b9c93
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
cmp edx, eax
je 0x6b9b9f
cmp dword [esp + 0x68], 0x2d
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
jne 0x6bb585
fchs
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x6bc48e
mov edi, dword [esp + 0x44]
mov ecx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
fstp qword [ecx]
cmp edx, eax
je case.0x6b9eaf.1
add dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
mov esi, ebx
jmp 0x6b9b1d
lea eax, [ebx - 0x2b]
and eax, 0xfffffffd
jne 0x6ba9a8
jmp 0x6baf1c
lea eax, [ebx + 2]
or esi, 0x404
mov dword [esp + 0x58], eax
movzx eax, byte [ebx + 2]
mov byte [esp + 0x34], al
jmp 0x6b9e70
lea eax, [ebx + 2]
or esi, 1
mov dword [esp + 0x58], eax
movzx eax, byte [ebx + 2]
mov byte [esp + 0x34], al
jmp 0x6b9e70
lea eax, [ebx + 2]
or esi, 0xc
mov dword [esp + 0x58], eax
movzx eax, byte [ebx + 2]
mov byte [esp + 0x34], al
jmp 0x6b9e70
mov dword [esp + 0x50], ebp
mov ebp, ebx
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x6b9be8
mov eax, dword [esp + 0x50]
lea esi, [eax + 1]
mov byte [eax], 0
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
mov edx, esi
call fcn.006b9790
mov dword [esp + 0x50], esi
add dword [esp + 0x28], 1
mov esi, ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
jmp 0x6b9b1d
test esi, 0x20
je 0x6bb67c
mov dword [esp], ebp
call sub.msvcrt.dll_tolower
cmp al, 0x28
je 0x6bbc3f
mov dword [esp + 0x20], edi
mov edi, ebp
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, edi
mov dword [esp], 0
call fcn.006b99f0
jmp case.0x6b9eaf.1
mov dword [esp + 0x48], 0
jmp 0x6bb0a0
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x6ba7a1
test esi, 0x600
je 0x6bbef1
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6bc326
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x6bc3f3
mov dword [esp], 0x64
call sub.msvcrt.dll_malloc
mov edi, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x50], eax
mov dword [edi], eax
jne 0x6ba76c
mov ebp, esi
mov eax, 0xffffffff
and ebp, 0x400
cmove eax, dword [esp + 0x28]
mov edi, eax
jmp 0x6b9e1b
mov dword [esp + 0x34], esi
mov ebp, ebx
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x6c]
jmp 0x6bb4d4
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
lea eax, [ecx + edi*4 - 4]
cmp edi, 1
cmove eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x6b9efa
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
lea eax, [ecx + edi*4 - 4]
cmp edi, 1
cmove eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x6ba04d
mov edx, dword [esp + 0x98]
add ebx, 1
mov byte [edx + eax], 1
movzx eax, byte [ebx]
jmp 0x6ba861
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x50], edi
mov ecx, esi
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x24]
mov esi, ebx
call fcn.006b9790
add dword [esp + 0x28], 1
mov dword [esp + 0x24], 0
jmp 0x6b9b1d
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
lea eax, [ecx + edi*4 - 4]
cmp edi, 1
cmove eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
jmp 0x6ba6cd
mov eax, dword [esp + 0x40]
test eax, eax
je case.0x6b9eaf.1
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je case.0x6b9eaf.1
mov dword [esp], eax
call sub.msvcrt.dll_tolower
mov ecx, dword [esp + 0x40]
test ecx, ecx
jle 0x6bbf70
sub ecx, 1
mov dword [esp + 0x40], ecx
jmp 0x6ba93a
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
lea eax, [ecx + edi*4 - 4]
cmp edi, 1
cmove eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
jmp 0x6ba69d
test edi, edi
je 0x6bbd16
call sub.msvcrt.dll_strtol
jmp 0x6bada1
cmp ebp, 0xffffffff
setne al
and eax, edx
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x6bac41
mov dword [esp + 0x38], 0xa
jmp 0x6bac41
lea edi, [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bc08e
mov eax, esi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], esi
and eax, 0x600
mov ebx, ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov ebp, dword [esp + 0x50]
jmp 0x6bb8d3
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
mov ebp, edx
mov eax, dword [eax]
add ecx, eax
cmp edx, ecx
je 0x6bbea4
sub esi, 1
je 0x6bbb22
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebx, eax
je 0x6bbb22
mov eax, dword [esp + 0x98]
movzx ecx, byte [esp + 0x34]
cmp byte [eax + ebx], cl
je 0x6bc104
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x6bb8b4
lea edx, [ebp + 1]
mov byte [ebp], bl
mov ebp, dword [esp + 0x48]
test ebp, ebp
jne 0x6bb89e
mov ebp, edx
jmp 0x6bb8b4
movzx edx, al
cmp ebx, edx
jne 0x6bc8a6
mov eax, dword [esp + 0x54]
cmp byte [eax + 1], 0
lea ebp, [eax + 1]
je 0x6bc899
mov dword [esp + 0x34], esi
mov dword [esp + 0x40], edi
mov ebx, 0x7fffffff
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
jmp 0x6bb3d4
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], esi
mov ebx, dword [esp + 0x24]
lea edx, [ecx + ecx]
lea ebp, [ecx + 1]
mov esi, edx
jmp 0x6bb95e
cmp ebp, esi
jae 0x6bbda5
mov eax, dword [ebx]
mov esi, ebp
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_realloc
test eax, eax
je 0x6bb952
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov edx, esi
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x4c], edx
mov dword [ecx], eax
add ebp, eax
jmp 0x6ba361
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6bc127
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], edi
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x6ba30f
jmp case.0x6b9eaf.1
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x50], ebp
mov ebp, ebx
mov dword [esp], 1
mov ecx, edi
mov eax, ebp
mov ebx, dword [esp + 0x58]
call fcn.006b99f0
jmp 0x6bb61f
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6bc164
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
test ecx, ecx
jne 0x6ba50d
jmp case.0x6b9eaf.1
cmp ebp, 0x30
mov byte [esp + 0x5c], 0x65
mov dword [esp + 0x34], 0
jne 0x6ba965
lea eax, [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, eax
mov dword [esp + 0x58], eax
xor eax, eax
call fcn.006b9840
mov dword [esp + 0x98], eax
mov byte [eax], 0x30
mov edx, edi
mov eax, dword [esp + 0x1c]
call fcn.006b9960
mov ebp, eax
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x6bc4ff
sub eax, 1
mov dword [esp + 0x20], eax
jne 0x6bc66c
mov dword [esp + 0x40], 0
mov dword [esp + 0x34], 1
jmp 0x6ba965
lea eax, [esp + 0x8c]
lea edx, [esp + 0x98]
call fcn.006b97d0
mov eax, 0xffffffff
jmp 0x6b9bce
mov ebx, dword [esp + 0x60]
mov ebp, edi
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x6ba620
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x90], eax
je case.0x6b9eaf.1
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x20], 0
test ecx, ecx
jne 0x6b9be8
mov eax, dword [esp + 0x3c]
xor edx, edx
mov esi, ebx
lea edi, [eax + 2]
mov word [eax], dx
mov eax, dword [esp + 0x4c]
mov edx, edi
lea ecx, [eax + eax]
mov eax, dword [esp + 0x24]
call fcn.006b9790
mov eax, dword [esp + 0x48]
add dword [esp + 0x28], 1
mov dword [esp + 0x3c], edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x6b9b1d
add dword [esp + 0x48], 1
jmp 0x6bb0a9
mov dword [esp + 0x50], ebp
mov ebp, ebx
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x90], eax
je case.0x6b9eaf.1
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x6bb62b
mov esi, ebx
jmp 0x6b9b1d
mov ebp, dword [esp + 0x2c]
jmp 0x6baefa
mov edi, esi
and edi, 4
mov dword [esp + 0x20], edi
je 0x6bc19a
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6bc608
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
mov dword [edx], eax
mov dword [esp + 0x20], 0
mov esi, ebx
jmp 0x6b9b1d
call fcn.006bcae0
test edi, edi
jne 0x6b9c97
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
cmp edx, eax
je 0x6b9ba3
cmp dword [esp + 0x68], 0x2d
jne 0x6bbbbe
fchs
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6bc51d
mov edi, dword [esp + 0x44]
mov ecx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
fstp dword [ecx]
jmp 0x6bb5a0
lea eax, [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.006bcb90
test edi, edi
jne 0x6b9c9b
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
cmp edx, eax
je 0x6b9ba7
cmp dword [esp + 0x68], 0x2d
jne 0x6bbc1f
fchs
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x6bc4a8
mov edi, dword [esp + 0x44]
mov ecx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
fstp xword [ecx]
jmp 0x6bb5a0
mov eax, 0x7a1361
mov dword [esp + 0x34], ebx
mov byte [esp + 0x20], 0x6e
mov ebp, esi
mov ebx, eax
jmp 0x6bbc73
mov dword [esp], eax
call sub.msvcrt.dll_tolower
cmp byte [esp + 0x20], al
jne 0x6bbc85
add ebx, 1
movzx eax, byte [ebx]
test al, al
mov byte [esp + 0x20], al
je 0x6bc58e
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov esi, eax
jne 0x6bbc53
mov dword [esp + 0x20], edi
mov edi, esi
jmp 0x6bb682
cmp dword [esp + 0x40], 0
setne al
cmp ebp, 0xffffffff
setne dl
and eax, edx
mov ecx, dword [esp + 0x34]
test al, al
mov dword [esp + 0x20], ecx
jne 0x6bac49
jmp 0x6bad03
mov ebp, dword [esp + 0x20]
lea eax, [esp + 0x94]
mov edx, eax
mov eax, ebp
call fcn.006b9840
mov dword [esp + 0x98], eax
mov byte [eax + ebp], 0x30
mov edx, edi
mov eax, dword [esp + 0x1c]
call fcn.006b9960
mov ebp, eax
mov dword [esp], ebp
call sub.msvcrt.dll_tolower
cmp eax, 0x78
je 0x6bc2d7
mov eax, dword [esp + 0x40]
test eax, eax
setne al
cmp ebp, 0xffffffff
setne dl
and eax, edx
jmp 0x6bac25
call fcn.006bcca0
mov dword [esp + 0x74], edx
jmp 0x6bada1
call sub.msvcrt.dll_strtoul
jmp 0x6bada1
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x6bc41b
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
mov dword [edx], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 4], eax
jmp 0x6bae16
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x6bbd20
test esi, 4
jne 0x6bc144
test esi, 2
jne 0x6bc380
and esi, 1
je 0x6bc637
cmp dword [esp + 0x48], 0
je 0x6bae07
xor ecx, ecx
mov edx, dword [esp + 0x48]
jmp 0x6bbd88
mov ecx, 1
sub edx, 1
jne 0x6bbd83
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
test cl, cl
lea edx, [edi + esi*4 - 4]
cmove edx, edi
mov edx, dword [edx]
jmp 0x6bae14
mov ebp, dword [esp + 0x5c]
and ebp, 0x400
jne 0x6bbe9a
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x4c]
mov eax, dword [eax]
mov byte [eax + edi - 1], 0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], 0
add eax, 1
lea edx, [esp + 0x98]
mov ecx, dword [esp + 0x24]
mov dword [esp], edx
lea edx, [esp + 0x8c]
call fcn.006b98d0
jmp 0x6b9bce
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x34], ebx
mov ebx, eax
mov eax, dword [esp + 0x54]
mov ecx, esi
cmp byte [eax], 0
mov ebp, eax
je 0x6bbe48
mov dword [esp + 0x40], ebx
mov ebx, ecx
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x94]
mov eax, esi
add ebp, 1
add esi, 1
call fcn.006b9840
mov dword [esp + 0x98], eax
movzx edx, byte [ebp - 1]
mov byte [eax + ebx], dl
cmp byte [ebp], 0
mov ebx, esi
jne 0x6bbe13
mov ebx, dword [esp + 0x40]
test edi, edi
jg 0x6bc762
mov byte [esp + 0x60], 1
jmp 0x6ba9e6
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x34], ebx
mov ebx, eax
jmp 0x6bb3fa
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x34], ebx
mov ebx, eax
mov eax, ecx
test al, al
jne 0x6bb3fa
jmp 0x6bbe00
mov ebp, dword [esp + 0x48]
and ebp, 0x400
je 0x6bc445
mov eax, 0xffffffff
jmp 0x6bbdd3
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x40], ebx
lea edx, [ecx + ecx]
lea ebp, [ecx + 1]
mov ebx, edx
jmp 0x6bbec6
cmp ebp, ebx
jae 0x6bc200
mov eax, dword [esp + 0x24]
mov ebx, ebp
mov eax, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
test eax, eax
je 0x6bbeb6
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov edx, ebx
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x40]
mov dword [ecx], eax
add ebp, eax
jmp 0x6bb8b4
mov ebp, dword [esp + 0x48]
test ebp, ebp
jne 0x6bc470
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x50]
test edi, edi
jne 0x6ba7a1
jmp case.0x6b9eaf.1
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov ebp, edi
mov ecx, eax
mov dword [esp], 1
mov eax, ebp
mov ebx, dword [esp + 0x60]
call fcn.006b99f0
jmp 0x6bbaa9
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6bc362
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x6ba7a1
jmp case.0x6b9eaf.1
cmp eax, 0x6e
je 0x6bc539
cmp eax, 0x69
jne 0x6bba10
lea eax, [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov edx, eax
xor eax, eax
call fcn.006b9840
mov ecx, ebp
mov dword [esp + 0x98], eax
mov byte [eax], cl
mov eax, 1
mov dword [esp + 0x34], ebx
mov dword [esp + 0x5c], esi
mov ebx, eax
mov esi, dword [esp + 0x40]
jmp 0x6bbfc7
test esi, esi
je case.0x6b9eaf.1
mov ebx, edx
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je case.0x6b9eaf.1
mov dword [esp], eax
call sub.msvcrt.dll_tolower
movsx edx, byte [ebx + 0x7a136a]
cmp eax, edx
jne case.0x6b9eaf.1
mov edx, dword [esp + 0x58]
xor eax, eax
mov ecx, dword [esp + 0x98]
test esi, esi
setg al
sub esi, eax
mov eax, ebx
call fcn.006b9840
lea edx, [ebx + 1]
cmp byte [edx + 0x7a136a], 0
mov ecx, ebp
mov dword [esp + 0x98], eax
mov byte [eax + ebx], cl
jne 0x6bbfbd
mov eax, esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x40], esi
test eax, eax
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x34], edx
je 0x6bb4fe
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je 0x6bb4fe
mov dword [esp], eax
call sub.msvcrt.dll_tolower
cmp eax, 0x69
je 0x6bc692
mov edx, dword [esp + 0x1c]
mov dword [esp], 0
mov ecx, edi
mov eax, ebp
call fcn.006b99f0
jmp 0x6bb4fe
mov ebx, dword [esp + 0x40]
jmp 0x6ba9d6
mov eax, dword [esp + 0x28]
test eax, eax
jne case.0x6b9eaf.1
mov dword [esp + 0x28], 0xffffffff
jmp case.0x6b9eaf.1
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
lea eax, [ecx + edi*4 - 4]
cmp edi, 1
cmove eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x6ba2b0
lea eax, [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov edx, eax
xor eax, eax
call fcn.006b9840
mov ecx, ebp
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x98], eax
mov byte [eax], cl
test ebp, ebp
jne 0x6bbfa8
jmp case.0x6b9eaf.1
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x50], ebp
mov ebp, ebx
mov dword [esp], 1
mov ecx, edi
mov eax, ebp
mov ebx, dword [esp + 0x60]
call fcn.006b99f0
jmp 0x6bbb2c
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
lea eax, [ecx + edi*4 - 4]
cmp edi, 1
cmove eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x50], eax
jmp 0x6bb9aa
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6bc3a1
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
mov dword [edx], eax
jmp 0x6bae16
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
lea eax, [ecx + edi*4 - 4]
cmp edi, 1
cmove eax, ecx
mov ecx, dword [eax]
jmp 0x6bb9fc
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
lea eax, [ecx + edi*4 - 4]
cmp edi, 1
cmove eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x6ba49e
test esi, 2
je 0x6bc3bd
mov edx, dword [esp + 0x48]
test edx, edx
jne 0x6bc4c4
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
mov word [edx], ax
mov esi, ebx
jmp 0x6b9b1d
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov edx, ecx
je 0x6bc1dc
lea edx, [ecx + edi*4 - 4]
mov edx, dword [edx]
jmp 0x6ba8e2
mov edx, dword [esp + 0x1c]
mov dword [esp], 1
mov ecx, edi
mov eax, ebp
mov ebx, dword [esp + 0x34]
call fcn.006b99f0
jmp 0x6bb2a4
mov ebp, dword [esp + 0x64]
and ebp, 0x400
je 0x6bbdb5
jmp 0x6bbe9a
lea eax, [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov edx, eax
xor eax, eax
call fcn.006b9840
mov ecx, ebp
mov dword [esp + 0x98], eax
mov byte [eax], cl
mov eax, dword [esp + 0x40]
test eax, eax
je case.0x6b9eaf.1
mov eax, 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], esi
mov ebx, eax
mov esi, dword [esp + 0x40]
jmp 0x6bc266
test esi, esi
je case.0x6b9eaf.1
mov ebx, edx
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je case.0x6b9eaf.1
mov dword [esp], eax
call sub.msvcrt.dll_tolower
movsx edx, byte [ebx + 0x7a1366]
cmp eax, edx
jne case.0x6b9eaf.1
mov edx, dword [esp + 0x58]
xor eax, eax
mov ecx, dword [esp + 0x98]
test esi, esi
setg al
sub esi, eax
mov eax, ebx
call fcn.006b9840
lea edx, [ebx + 1]
cmp byte [edx + 0x7a1366], 0
mov ecx, ebp
mov dword [esp + 0x98], eax
mov byte [eax + ebx], cl
jne 0x6bc25c
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x34], edx
jmp 0x6bb4fe
test byte [esp + 0x38], 0xa
jne 0x6bbc90
mov ecx, dword [esp + 0x40]
xor eax, eax
mov edx, edi
test ecx, ecx
setg al
sub ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
call fcn.006b9960
mov ebp, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], 0x10
test eax, eax
mov dword [esp + 0x20], ecx
setne al
cmp ebp, 0xffffffff
setne dl
and eax, edx
jmp 0x6bac41
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov eax, ecx
je 0x6bc339
lea eax, [ecx + edi*4 - 4]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x6bb6e2
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov eax, ecx
je 0x6bc357
lea eax, [ecx + edi*4 - 4]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x6ba742
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov eax, ecx
je 0x6bc375
lea eax, [ecx + edi*4 - 4]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
jmp 0x6bbf5e
mov edx, dword [esp + 0x48]
test edx, edx
jne 0x6bc868
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
mov word [edx], ax
jmp 0x6bae16
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov edx, ecx
je 0x6bc3b4
lea edx, [ecx + edi*4 - 4]
mov edx, dword [edx]
mov dword [edx], eax
jmp 0x6bae16
and esi, 1
mov dword [esp + 0x20], esi
je 0x6bc4de
cmp dword [esp + 0x48], 0
jne 0x6bc84e
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
mov byte [edx], al
mov dword [esp + 0x20], 0
mov esi, ebx
jmp 0x6b9b1d
lea eax, [esp + 0x98]
lea edx, [esp + 0x8c]
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x28]
call fcn.006b98d0
jmp 0x6b9bce
mov eax, ebp
jmp 0x6ba9d6
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov edx, ecx
je 0x6bc42e
lea edx, [ecx + edi*4 - 4]
mov edx, dword [edx]
jmp 0x6bbd39
mov ebp, dword [esp + 0x20]
and ebp, 0x400
jne 0x6bbe9a
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x4c]
mov eax, dword [eax]
mov word [eax + edi*2 - 2], 0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], 0
add eax, 1
jmp 0x6bbdd3
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov eax, ecx
je 0x6bc483
lea eax, [ecx + edi*4 - 4]
mov eax, dword [eax]
mov dword [esp + 0x50], eax
jmp 0x6bbf0e
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
cmp edi, 1
mov ecx, esi
je 0x6bc4a1
lea ecx, [esi + edi*4 - 4]
mov ecx, dword [ecx]
jmp 0x6bb59e
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
cmp edi, 1
mov ecx, esi
je 0x6bc4bb
lea ecx, [esi + edi*4 - 4]
mov ecx, dword [ecx]
fstp xword [ecx]
jmp 0x6bb5a0
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov edx, ecx
je 0x6bc4d7
lea edx, [ecx + edi*4 - 4]
mov edx, dword [edx]
jmp 0x6bc1bf
cmp dword [esp + 0x48], 0
jne 0x6bc832
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x44], edi
mov dword [edx], eax
mov esi, ebx
jmp 0x6b9b1d
mov dword [esp], ebp
call sub.msvcrt.dll_tolower
cmp eax, 0x78
je 0x6bc76b
mov dword [esp + 0x34], 1
jmp 0x6ba965
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
cmp edi, 1
mov ecx, esi
je 0x6bc530
lea ecx, [esi + edi*4 - 4]
mov ecx, dword [ecx]
fstp dword [ecx]
jmp 0x6bb5a0
lea eax, [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov edx, eax
xor eax, eax
call fcn.006b9840
mov ecx, ebp
mov dword [esp + 0x98], eax
mov byte [eax], cl
jmp 0x6bc247
mov dword [esp + 0x34], edi
mov ebp, dword [esp + 0x54]
jmp 0x6bbe7d
mov dword [esp + 0x34], edi
jmp 0x6bbe00
mov eax, dword [esp + 0x2c]
xor edx, edx
jmp 0x6bb44a
mov eax, dword [esp + 0x2c]
jmp 0x6ba9d6
mov eax, esi
mov ecx, dword [esp + 0x98]
mov esi, ebp
mov ebp, eax
lea eax, [esp + 0x94]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x58], eax
mov edx, eax
xor eax, eax
call fcn.006b9840
mov dword [esp + 0x20], 1
mov dword [esp + 0x98], eax
mov byte [eax], 0x30
jmp 0x6bad3e
mov eax, dword [esp + 0x4c]
mov ebx, ecx
lea edx, [eax + 1]
lea eax, [ebx + ebx]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_realloc
test eax, eax
mov ecx, dword [esp + 0x3c]
jne 0x6bc622
mov edx, dword [esp + 0x58]
cmp edx, ebx
jae 0x6bbe8a
mov ebx, edx
jmp 0x6bc5d3
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov edx, ecx
je 0x6bc61b
lea edx, [ecx + edi*4 - 4]
mov edx, dword [edx]
jmp 0x6bbb81
mov edx, dword [esp + 0x24]
mov dword [esp + 0x4c], ebx
mov dword [edx], eax
add eax, ecx
mov dword [esp + 0x3c], eax
jmp 0x6bb27b
cmp dword [esp + 0x48], 0
je 0x6bc150
xor ecx, ecx
mov edx, dword [esp + 0x48]
jmp 0x6bc64f
mov ecx, 1
sub edx, 1
jne 0x6bc64a
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
test cl, cl
lea edx, [edi + esi*4 - 4]
cmove edx, edi
mov edx, dword [edx]
jmp 0x6bc3b6
mov dword [esp], ebp
call sub.msvcrt.dll_tolower
cmp eax, 0x78
je 0x6bc7b5
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], eax
jmp 0x6ba965
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x6bc6a1
sub eax, 1
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x34]
call fcn.006b9840
mov edx, dword [esp + 0x20]
mov dword [esp + 0x98], eax
lea ecx, [edx + 2]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x5c], ecx
mov ecx, ebp
mov ebx, dword [esp + 0x5c]
mov byte [eax + edx], cl
mov eax, 0x7a136e
sub eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x40], 0
je case.0x6b9eaf.1
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006b9960
cmp eax, 0xffffffff
mov ebp, eax
je case.0x6b9eaf.1
mov dword [esp], eax
call sub.msvcrt.dll_tolower
mov ecx, dword [esp + 0x20]
movsx edx, byte [ecx + ebx - 1]
cmp eax, edx
jne case.0x6b9eaf.1
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x6bc72e
sub eax, 1
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
mov eax, ebx
call fcn.006b9840
mov ecx, ebp
mov dword [esp + 0x98], eax
lea edx, [ebx + 1]
mov byte [eax + ebx], cl
mov eax, dword [esp + 0x20]
cmp byte [eax + edx - 1], 0
je 0x6bc80b
mov ebx, edx
jmp 0x6bc6e5
mov edi, dword [esp + 0x34]
jmp 0x6bbe50
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
mov eax, 1
call fcn.006b9840
mov ecx, ebp
mov dword [esp + 0x98], eax
mov edx, edi
mov byte [eax + 1], cl
mov eax, esi
and ah, 0xfe
or eax, 0x40
mov esi, eax
mov eax, dword [esp + 0x1c]
call fcn.006b9960
mov byte [esp + 0x5c], 0x70
mov ebp, eax
mov dword [esp + 0x34], 2
jmp 0x6ba965
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
mov eax, 1
call fcn.006b9840
mov ecx, ebp
mov dword [esp + 0x98], eax
mov edx, edi
mov byte [eax + 1], cl
mov eax, esi
and ah, 0xfe
or eax, 0x40
mov esi, eax
mov eax, dword [esp + 0x1c]
call fcn.006b9960
cmp dword [esp + 0x20], 0
mov ebp, eax
jle 0x6bc818
sub dword [esp + 0x40], 2
mov byte [esp + 0x5c], 0x70
mov dword [esp + 0x34], 2
jmp 0x6ba965
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x34], edx
jmp 0x6bb4fe
mov eax, dword [esp + 0x20]
mov byte [esp + 0x5c], 0x70
mov dword [esp + 0x34], 2
mov dword [esp + 0x40], eax
jmp 0x6ba965
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov edx, ecx
je 0x6bc845
lea edx, [ecx + edi*4 - 4]
mov edx, dword [edx]
mov dword [edx], eax
jmp 0x6bc4f8
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov edx, ecx
je 0x6bc861
lea edx, [ecx + edi*4 - 4]
mov edx, dword [edx]
jmp 0x6bc3e2
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
cmp edi, 1
mov edx, ecx
je 0x6bc87b
lea edx, [ecx + edi*4 - 4]
mov edx, dword [edx]
jmp 0x6bc399
mov dword [esp + 0x40], ebp
mov esi, dword [esp + 0x60]
mov ebp, ebx
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
jmp 0x6bb30b
mov dword [esp + 0x34], 0x7fffffff
jmp 0x6bbe00
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x34], 0x7fffffff
jmp 0x6bbe7d
xor ecx, ecx
mov edx, dword [esp + 0x48]
jmp 0x6bc8c4
mov ecx, 1
sub edx, 1
jne 0x6bc8bf
jmp 0x6bbd8d
cmp dword [esp + 0x48], 0
je 0x6bc150
xor ecx, ecx
mov edx, dword [esp + 0x48]
jmp 0x6bc8e6
mov ecx, 1
sub edx, 1
jne 0x6bc8e1
jmp 0x6bc654