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

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x121c
call fcn.006b97e4
sub esp, 0x121c
mov ebx, dword [esp + 0x123c]
mov edi, dword [esp + 0x1238]
mov esi, dword [esp + 0x1230]
mov dword [esp + 0x48], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x20], esi
test ebx, ebx
je 0x6b9c1b
mov ecx, dword [esp + 0x1240]
mov dword [ebx], 0
test edi, edi
je 0x6b9bac
mov dword [edi], 0
test ecx, ecx
je 0x6b9c2e
mov eax, dword [esp + 0x1244]
mov ebp, dword [esp + 0x1234]
mov dword [ecx], 0
test eax, eax
mov ecx, 0x7c6f54
cmovne ecx, eax
mov dword [esp + 0x5c], ecx
lea eax, [ecx + 0x100]
mov dword [esp + 0x60], eax
lea eax, [ecx + 0x200]
mov dword [esp + 0x64], eax
lea eax, [ecx + 0x340]
mov dword [esp + 0x68], eax
test ebp, 0xd8008580
je 0x6b9c40
mov dword [esp + 0xc], 0x11
mov eax, 0x11
mov ecx, dword [esp + 0x20]
sub ecx, esi
sar ecx, 1
mov edx, dword [esp + 0x1240]
mov dword [edx], ecx
jmp 0x6ba070
test edi, edi
je 0x6ba0a4
mov dword [edi], 0x63
jmp 0x6ba0a4
mov dword [esp + 0xc], 0x10
mov eax, 0x10
jmp 0x6ba070
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc0], 0
movzx eax, word [esi]
cmp eax, 0x28
jne 0x6b9fe9
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x24], 0
mov eax, esi
mov dword [esp + 0x18], 0xffffffff
xor edi, edi
mov ebx, edi
movzx ecx, word [esi + ebx*2 + 2]
cmp ecx, 0x2a
jne 0x6b9ffd
add eax, 4
sub esp, 4
push 6
push 0x7b3108
push eax
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9e89
lea edi, [esi + ebx*2 + 4]
sub esp, 4
push 4
push str.UTF_
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9e8e
sub esp, 4
push 4
push str.UCP_
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9e9e
sub esp, 4
push 0x10
push str.NO_AUTO_POSSESS_
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9eae
sub esp, 4
push 0xd
push str.NO_START_OPT_
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9ebe
sub esp, 4
push 0xc
push str.LIMIT_MATCH
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9ece
sub esp, 4
push 0x10
push str.LIMIT_RECURSION
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9eec
sub esp, 4
push 3
push 0x7b3156
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9e10
sub esp, 4
push 3
push 0x7b315a
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9e1f
sub esp, 4
push 5
push str.CRLF_
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9e2e
sub esp, 4
push 4
push str.ANY_
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9e3d
sub esp, 4
push 8
push str.ANYCRLF_
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9e4c
sub esp, 4
push 0xc
push str.BSR_ANYCRLF_
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
je 0x6b9e5b
sub esp, 4
push 0xc
push str.BSR_UNICODE_
push edi
call fcn.006d3bc0
add esp, 0x10
test eax, eax
jne 0x6b9ffd
add ebx, 0xe
mov eax, 0x1000000
jmp 0x6b9e63
add ebx, 5
mov eax, 0x100000
mov ecx, 0xff8fffff
jmp 0x6b9e70
add ebx, 5
mov eax, 0x200000
mov ecx, 0xff8fffff
jmp 0x6b9e70
add ebx, 7
mov eax, 0x300000
mov ecx, 0xff8fffff
jmp 0x6b9e70
add ebx, 6
mov eax, 0x400000
mov ecx, 0xff8fffff
jmp 0x6b9e70
add ebx, 0xa
mov eax, 0x500000
mov ecx, 0xff8fffff
jmp 0x6b9e70
add ebx, 0xe
mov eax, 0x800000
mov ecx, 0xfe7fffff
nop dword [eax + eax]
and ebp, ecx
or ebp, eax
lea eax, [esi + ebx*2]
movzx ecx, word [esi + ebx*2]
cmp ecx, 0x28
je 0x6b9c79
jmp 0x6b9ffd
add ebx, 8
jmp 0x6b9e91
add ebx, 6
or ebp, 0x800
mov edi, ebx
jmp 0x6b9fd0
add ebx, 6
or ebp, 0x20000000
mov edi, ebx
jmp 0x6b9fd0
add ebx, 0x12
or ebp, 0x20000
mov edi, ebx
jmp 0x6b9fd0
add ebx, 0xf
or ebp, 0x4000000
mov edi, ebx
jmp 0x6b9fd0
lea edi, [ebx + 0xe]
movzx ecx, word [esi + ebx*2 + 0x1c]
movzx edx, cx
lea esi, [edx - 0x30]
xor eax, eax
cmp esi, 9
jbe 0x6b9f0d
mov esi, dword [esp + 0x1230]
jmp 0x6b9f46
lea edi, [ebx + 0x12]
movzx ecx, word [esi + ebx*2 + 0x24]
movzx edx, cx
lea esi, [edx - 0x30]
xor eax, eax
cmp esi, 9
jbe 0x6b9f74
mov esi, dword [esp + 0x1230]
jmp 0x6b9fa6
xor eax, eax
mov esi, dword [esp + 0x1230]
nop word cs:[eax + eax]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0x30]
movzx ecx, word [esi + edi*2 + 2]
inc edi
cmp eax, 0x19999998
ja 0x6b9f46
movzx edx, cx
lea esi, [edx - 0x30]
cmp esi, 0xa
mov esi, dword [esp + 0x1230]
jb 0x6b9f20
movzx ecx, cx
cmp ecx, 0x29
jne 0x6b9ffd
inc edi
cmp eax, dword [esp + 0x14]
jae 0x6b9fd0
mov ecx, dword [esp + 0x24]
or ecx, 0x2000
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x14], eax
jmp 0x6b9fd0
xor eax, eax
mov esi, dword [esp + 0x1230]
nop dword [eax]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0x30]
movzx ecx, word [esi + edi*2 + 2]
inc edi
cmp eax, 0x19999998
ja 0x6b9fa6
movzx edx, cx
lea esi, [edx - 0x30]
cmp esi, 0xa
mov esi, dword [esp + 0x1230]
jb 0x6b9f80
movzx ecx, cx
cmp ecx, 0x29
jne 0x6b9ffd
inc edi
cmp eax, dword [esp + 0x18]
jae 0x6b9fd0
mov ecx, dword [esp + 0x24]
or ecx, 0x4000
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x18], eax
nop
mov ebx, dword [esp + 0x123c]
lea eax, [esi + edi*2]
movzx ecx, word [esi + edi*2]
cmp ecx, 0x28
je 0x6b9c77
jmp 0x6ba006
xor edi, edi
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x14], 0xffffffff
jmp 0x6ba006
mov edi, ebx
mov ebx, dword [esp + 0x123c]
mov eax, ebp
and eax, 0x800
test dword [esp + 0x1234], 0x10000
je 0x6ba02d
test eax, eax
je 0x6ba02d
mov dword [esp + 0xc], 0x4e
mov eax, 0x4e
jmp 0x6ba069
mov dword [esp + 0x34], eax
mov eax, ebp
and eax, 0x2800
cmp eax, 0x800
jne 0x6ba0b1
sub esp, 4
push dword [esp + 0x1244]
push 0xffffffffffffffff
push esi
call fcn.006d3c30
add esp, 0x10
mov dword [esp + 0xc], eax
test eax, eax
je 0x6ba0b1
mov dword [esp + 0xc], 0x4a
mov eax, 0x4a
mov edi, dword [esp + 0x1238]
mov ecx, str.no_error
mov edx, eax
nop word [eax + eax]
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jne 0x6ba080
cmp byte [ecx], 0
je 0x6ba097
cmp edx, 2
lea edx, [edx - 1]
jge 0x6ba080
jmp 0x6ba09c
mov ecx, str.Error_text_not_found__please_report_
test edi, edi
mov dword [ebx], ecx
je 0x6ba0a4
mov dword [edi], eax
xor eax, eax
add esp, 0x121c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, ebp
and eax, 0x1800000
cmp eax, 0x1800000
jne 0x6ba0d8
mov dword [esp + 0xc], 0x38
mov eax, 0x38
mov edi, dword [esp + 0x1238]
jmp 0x6b9c05
mov eax, ebp
shr eax, 0x14
mov ecx, eax
and cl, 7
cmp cl, 5
ja case.default.0x6ba0ee
mov cx, 0xa
and eax, 7
jmp dword [eax*4 + 0x6badd0]
mov cx, 0xd
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 1
mov word [esp + 0xe8], cx
jmp 0x6ba154
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 2
mov dword [esp + 0xe8], 0xa000d
jmp 0x6ba154
mov dword [esp + 0xe0], 1
jmp 0x6ba154
mov dword [esp + 0xe0], 2
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xb0], 0
lea eax, [esp + 0x21c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0xdc], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x98], 0x800
lea eax, [esp + 0x12c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x94], 0x14
mov esi, dword [esp + 0x1230]
mov dword [esp + 0x74], esi
sub esp, 0xc
push esi
call fcn.006d3c10
add esp, 0x10
lea eax, [esi + eax*2]
mov dword [esp + 0x78], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xa4], 0
mov ecx, ebp
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x80], 0
lea ebp, [esi + edi*2]
mov dword [esp + 0x20], ebp
lea eax, [esp + 0x21c]
mov dword [esp + 0x30], eax
mov word [esp + 0x21c], 0x83
sub esp, 0xc
lea edi, [esp + 0x54]
lea eax, [esp + 0x68]
lea edx, [esp + 0x3c]
mov dword [esp + 0x38], ecx
push edi
push eax
push 0
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x64]
push eax
push 0
push 0
push 0
push 0
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.006bb080
add esp, 0x40
mov eax, dword [esp + 0xc]
test eax, eax
mov edi, dword [esp + 0x1238]
je 0x6ba2f5
mov ecx, dword [esp + 0x20]
sub ecx, esi
sar ecx, 1
mov edx, dword [esp + 0x1240]
mov dword [edx], ecx
test eax, eax
jg 0x6ba070
mov ecx, str.no_error
jmp 0x6ba09c
mov dword [esp + 0xf0], ebp
lea ebp, [esp + 0x5c]
mov eax, dword [esp + 0x48]
cmp eax, 0x10001
jl 0x6ba324
mov dword [esp + 0xc], 0x14
mov eax, 0x14
mov esi, dword [esp + 0x1230]
jmp 0x6b9c05
mov ecx, dword [esp + 0x90]
imul ecx, dword [esp + 0x8c]
add ecx, eax
lea esi, [ecx + ecx + 0x38]
sub esp, 0xc
push esi
call dword [0x7b30ec]
add esp, 0x10
test eax, eax
je 0x6ba76f
mov edi, eax
lea eax, [esp + 0xc4]
mov dword [edi], 0x50435245
mov dword [edi + 4], esi
mov ecx, dword [esp + 0xbc]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0xc0]
mov dword [edi + 0xc], ecx
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], 0
mov word [edi + 0x22], 0x1c
mov ecx, dword [esp + 0x90]
movzx ecx, cx
mov word [edi + 0x24], cx
mov ebx, dword [esp + 0x8c]
mov word [edi + 0x26], bx
mov dword [edi + 0x28], 0
xor edx, edx
mov esi, dword [esp + 0x28]
cmp esi, 0x7c6f54
cmovne edx, esi
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], 0
mov dword [edi + 0x2c], 0
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0xa0], esi
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa4], 0
lea esi, [edi + 0x38]
mov dword [esp + 0x14], esi
mov dword [esp + 0x88], esi
movzx esi, bx
imul esi, ecx
mov dword [esp + 0x10], edi
lea ecx, [edi + esi*2 + 0x38]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x70], ecx
mov ecx, ebx
mov dword [esp + 0x7c], edx
mov dword [esp + 0xdc], 0
mov dword [esp + 0x80], 0
test ecx, ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
lea edi, [esp + 0x20]
lea ebx, [esp + 0xc]
jle 0x6ba65a
mov eax, dword [esp + 0x84]
mov dword [esp + 0x8c], 0
xor ebp, ebp
jmp 0x6ba4a4
mov eax, dword [esp + 0xf8]
add eax, 0xc
dec ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x14], edx
mov edx, dword [eax]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 4]
mov esi, dword [eax + 8]
mov dword [esp + 0xfc], esi
mov dword [esp + 0x50], edx
lea edx, [edx + edx]
mov dword [esp + 0x28], edx
test ebp, ebp
mov dword [esp + 0x100], ecx
mov dword [esp + 0xf8], eax
jle 0x6ba598
mov edx, dword [esp + 0x90]
lea eax, [edx + edx]
mov dword [esp + 0x104], eax
mov eax, ebp
imul eax, edx
mov ecx, eax
mov dword [esp + 0xf4], ecx
neg eax
lea ecx, [ebp + ebp]
imul ecx, edx
mov dword [esp + 0x58], ecx
lea edi, [ebp + ebp + 2]
mov dword [esp + 0x24], edx
imul edi, edx
dec edi
mov dword [esp + 0x54], 0
xor esi, esi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x108], ebp
nop word cs:[eax + eax]
mov dword [esp + 0x14], eax
lea eax, [ecx + 2]
sub esp, 4
push dword [esp + 0x2c]
push eax
push dword [esp + 0x24]
mov ebp, ecx
call sub.msvcrt.dll_memcmp
add esp, 0x10
test eax, eax
je 0x6ba55d
mov ecx, dword [esp + 0x24]
lea ebx, [ebp + ecx*2]
jns 0x6ba571
jmp 0x6ba59e
mov eax, dword [esp + 0x50]
cmp word [ebp + eax*2 + 2], 0
mov ecx, dword [esp + 0x24]
lea ebx, [ebp + ecx*2]
jne 0x6ba59e
inc esi
mov edx, dword [esp + 0x104]
sub dword [esp + 0x54], edx
mov eax, dword [esp + 0x14]
add eax, ecx
sub dword [esp + 0x58], edx
sub edi, edx
mov ebp, dword [esp + 0x108]
cmp ebp, esi
mov ecx, ebx
jg 0x6ba530
jmp 0x6ba5e6
mov ebx, dword [esp + 0x14]
jmp 0x6ba5e6
mov esi, ebx
cmp ebx, ebp
jbe 0x6ba5be
cmp dword [esp + 0x14], 0
je 0x6ba5e4
mov ecx, dword [esp + 0x58]
movzx eax, byte [ebp + ecx - 1]
mov byte [ebp + edi], al
dec edi
dec ecx
jne 0x6ba5af
jmp 0x6ba5e4
cmp dword [esp + 0x14], 0
je 0x6ba5e4
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x54]
lea eax, [ecx + eax*2]
xor ecx, ecx
mov edi, esi
movzx edx, byte [ebp + ecx]
mov byte [edi + ecx], dl
inc ecx
cmp eax, ecx
jne 0x6ba5d7
mov ebx, ebp
mov eax, dword [esp + 0xfc]
mov word [ebx], ax
lea eax, [ebx + 2]
sub esp, 4
push dword [esp + 0x2c]
push dword [esp + 0x20]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0x10
mov eax, dword [esp + 0x50]
mov word [ebx + eax*2 + 2], 0
mov ebp, dword [esp + 0x8c]
inc ebp
mov dword [esp + 0x8c], ebp
mov ecx, dword [esp + 0x100]
cmp ecx, 2
jge 0x6ba48e
cmp dword [esp + 0x94], 0x15
lea ebp, [esp + 0x5c]
lea edi, [esp + 0x20]
lea ebx, [esp + 0xc]
jl 0x6ba65a
sub esp, 0xc
push dword [esp + 0x90]
call dword [0x7b30f0]
add esp, 0x10
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
mov word [eax], 0x83
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 8]
sub esp, 0xc
lea edx, [esp + 0x3c]
push 0
push ebp
push 0
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x64]
push eax
push 0
push 0
push 0
push 0
push ebx
push edi
call fcn.006bb080
add esp, 0x40
movzx eax, word [esp + 0x9c]
mov word [esi + 0x1e], ax
movzx eax, word [esp + 0xa8]
mov word [esi + 0x20], ax
movzx eax, word [esp + 0xa4]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0xc0]
or eax, 2
mov dword [esi + 0xc], eax
cmp dword [esp + 0xc8], 0
je 0x6ba6f6
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0xffffffff
cmp dword [esp + 0xc], 0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
jne 0x6ba71b
mov eax, dword [esp + 0x20]
cmp word [eax], 0
mov eax, dword [esp + 0x34]
je 0x6ba71b
mov dword [esp + 0xc], 0x16
shr eax, 0xb
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
lea ecx, [eax + 2]
mov dword [esp + 0x30], ecx
mov word [eax], 0
mov dword [esp + 0x28], ecx
mov eax, ecx
sub eax, dword [esp + 0x1c]
sar eax, 1
cmp eax, dword [esp + 0x48]
jle 0x6ba788
mov dword [esp + 0xc], 0x17
mov ebx, 0x17
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x98], 0x801
jge 0x6ba85b
jmp 0x6ba873
mov dword [esp + 0xc], 0x15
mov eax, 0x15
mov esi, dword [esp + 0x1230]
jmp 0x6b9c05
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x18], eax
cmp esi, eax
jbe 0x6ba84e
test ebx, ebx
jne 0x6ba84e
add esi, 0xfffffffe
xor eax, eax
mov ecx, 0xffffffff
mov dword [esp + 0x7c], esi
movzx ebx, word [esi]
test ebx, ebx
mov edi, dword [esp + 0x1c]
je 0x6ba825
movzx edx, word [edi + ebx*2 - 2]
cmp edx, 0x75
mov edx, dword [esp + 0x2c]
jne 0x6ba825
movzx ebp, word [edi + ebx*2]
cmp ecx, ebp
je 0x6ba7f1
sub esp, 4
push ebp
push dword [esp + 0x1c]
push dword [esp + 0x28]
call fcn.006b97f0
mov edx, dword [esp + 0x3c]
add esp, 0x10
mov ecx, ebp
test eax, eax
lea ebp, [esp + 0x5c]
je 0x6ba841
mov edx, eax
mov edi, dword [esp + 0x1c]
sub edx, edi
shr edx, 1
mov word [edi + ebx*2], dx
mov edx, dword [esp + 0x2c]
cmp esi, dword [esp + 0x18]
lea esi, [esi - 2]
ja 0x6ba7b2
xor ebx, ebx
cmp dword [esp + 0x98], 0x801
jge 0x6ba85b
jmp 0x6ba873
mov dword [esp + 0xc], 0xa
mov ebx, 0xa
cmp dword [esp + 0x98], 0x801
jge 0x6ba85b
jmp 0x6ba873
mov dword [esp + 0xc], 0x35
mov ebx, 0x35
cmp dword [esp + 0x98], 0x801
jl 0x6ba873
sub esp, 0xc
push dword [esp + 0x24]
call dword [0x7b30f0]
mov edx, dword [esp + 0x3c]
add esp, 0x10
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x6c], 0
test ebx, ebx
jne 0x6ba8a0
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x20]
xor ebx, ebx
mov ecx, dword [esp + 0x10]
cmp ax, word [ecx + 0x1e]
jbe 0x6ba8a0
mov dword [esp + 0xc], 0xf
mov ebx, 0xf
and edx, 0x20000
or edx, ebx
mov edi, dword [esp + 0x1238]
jne 0x6baae9
mov esi, dword [esp + 0x1c]
movzx ebp, word [esi]
cmp ebp, 0xa1
ja case.0x6baa6d.0
lea ebx, [esp + 0x10c]
lea eax, [ebp - 0x21]
movzx eax, ax
cmp eax, 0x40
ja 0x6ba9a0
movzx ecx, bp
mov ax, 0x55
cmp ecx, 0x54
ja 0x6ba90b
mov ax, 0x48
cmp ecx, 0x47
ja 0x6ba90b
mov ax, 0x3b
cmp ecx, 0x3a
ja 0x6ba90b
cmp ecx, 0x2d
mov ax, 0x21
mov cx, 0x2e
cmova ax, cx
add ebp, 0x21
sub ebp, eax
movzx eax, bp
xor ecx, ecx
cmp eax, 0x28
ja 0x6ba932
sub esp, 8
mov ecx, esi
mov edx, dword [esp + 0x1c]
push ebx
push dword [esp + 0x6c]
call fcn.006c4010
add esp, 0x10
mov ecx, eax
lea eax, [ebp - 0x21]
movzx edi, ax
xor edx, edx
cmp edi, 6
ja 0x6ba947
cwde
mov edx, dword [eax*4 + 0x7b4710]
mov dword [esp + 0x110], edx
mov dword [esp + 0x4c], 0x3e8
test ecx, ecx
je case.default.0x6baa34
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x4c]
push eax
push ecx
push ebx
lea eax, [esp + 0x68]
push eax
call fcn.006c4570
add esp, 0x10
test eax, eax
je case.default.0x6baa34
add ebp, 0xffffffdf
movzx eax, bp
cmp eax, 7
ja case.default.0x6baa34
movsx eax, bp
movzx eax, word [eax + eax + str._t_b_b_a_a]
add word [esi], ax
jmp case.default.0x6baa34
mov ecx, 0x11
lea eax, [ebp - 0x6e]
movzx eax, ax
cmp eax, 2
jb 0x6ba9c0
movzx eax, bp
cmp eax, 0x70
jne 0x6baa5c
movzx ecx, word [esi + 2]
movzx ebp, word [esi + ecx*2]
lea eax, [ebp - 0x62]
movzx eax, ax
cmp eax, 7
ja case.default.0x6baa34
sub esp, 8
mov dword [esp + 0x20], ecx
mov ecx, esi
mov edi, ebx
mov ebx, dword [esp + 0x1c]
mov edx, ebx
push edi
push dword [esp + 0x6c]
call fcn.006c4010
add esp, 0x10
mov ecx, ebp
not ecx
and ecx, 1
mov dword [esp + 0x110], ecx
mov dword [esp + 0x4c], 0x3e8
mov ecx, eax
mov edx, ebx
mov ebx, edi
lea edi, [esp + 0x4c]
push edi
push eax
push ebx
lea eax, [esp + 0x68]
push eax
call fcn.006c4570
mov ecx, dword [esp + 0x28]
add esp, 0x10
test eax, eax
je case.default.0x6baa34
add ebp, 0xffffff9e
movzx eax, bp
cmp eax, 7
ja case.default.0x6baa34
jmp dword [eax*4 + 0x6bade8]
mov word [esi + ecx*2], 0x6a
jmp case.default.0x6baa34
mov word [esi + ecx*2], 0x6b
jmp case.default.0x6baa34
mov word [esi + ecx*2], 0x6c
jmp case.default.0x6baa34
mov word [esi + ecx*2], 0x6d
mov bp, word [esi]
movzx eax, bp
mov edi, dword [esp + 0x1238]
cmp eax, 0x9b
ja case.0x6baa6d.1
jmp dword [eax*4 + 0x6bae08]
movzx ecx, word [esi + 2]
add ecx, 0xfffffff1
movzx ecx, cx
lea edx, [esi + 4]
cmp ecx, 2
cmovb esi, edx
jmp case.0x6baa6d.1
movzx ecx, word [esi + 2]
lea esi, [esi + ecx*2]
jmp case.0x6baa6d.1
lea ecx, [esi + 4]
movzx edx, word [esi + 4]
add edx, 0xfffffff1
movzx edx, dx
cmp edx, 2
cmovb esi, ecx
cmp dword [esp + 0x14], 0
movzx ecx, byte [eax + 0x7b47d4]
lea esi, [esi + ecx*2]
je 0x6baad2
add eax, 0xffffffe3
cmp eax, 0x37
ja 0x6baad2
movzx eax, word [esi - 2]
and eax, 0xfc00
lea ecx, [esi + 2]
cmp eax, 0xd800
cmove esi, ecx
movzx ebp, word [esi]
cmp ebp, 0xa2
jb 0x6ba8cf
mov ebx, dword [esp + 0xc]
lea ebp, [esp + 0x5c]
test ebx, ebx
jne 0x6bab9e
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x6bab9e
sub esp, 4
push 0xffffffffffffffff
push dword [esp + 0x1c]
push dword [esp + 0x28]
call fcn.006b97f0
add esp, 0x10
mov esi, eax
test esi, esi
je 0x6babc9
cmp word [esi + 2], 0
jne 0x6bab83
movzx edi, word [esi - 2]
mov eax, ebp
movzx ebp, word [esi + edi*2 - 4]
mov word [esi + edi*2 - 4], 0
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
shr edx, 0xb
and edx, 1
sub esp, 4
mov ecx, esi
push 0
push eax
push 1
call fcn.006bb5c0
add esp, 0x10
mov word [esi + edi*2 - 4], bp
test eax, eax
js 0x6bac65
cmp eax, dword [esp + 0xa4]
mov edi, dword [esp + 0x1238]
jle 0x6bab7b
mov dword [esp + 0xa4], eax
mov word [esi + 2], ax
lea ebp, [esp + 0x5c]
add esi, 4
sub esp, 4
push 0xffffffffffffffff
push dword [esp + 0x1c]
push esi
call fcn.006b97f0
add esp, 0x10
mov esi, eax
test esi, esi
jne 0x6bab1f
test ebx, ebx
je 0x6babc9
sub esp, 0xc
push dword [esp + 0x1c]
call dword [0x7b30f0]
add esp, 0x10
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x123c]
mov esi, dword [esp + 0x1230]
jmp 0x6ba2d2
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 8]
test bl, 0x10
jne 0x6bad03
sub esp, 8
xor edx, edx
mov ecx, dword [esp + 0x24]
push 0
push ebp
call fcn.006bbad0
add esp, 0x10
test eax, eax
je 0x6bac00
or ebx, 0x10
mov eax, dword [esp + 0x10]
mov dword [eax + 8], ebx
jmp 0x6bad03
mov eax, dword [esp + 0x38]
test eax, eax
jns 0x6bac29
sub esp, 0xc
lea edx, [esp + 0x44]
mov ecx, dword [esp + 0x28]
push 0
call fcn.006bbcd0
add esp, 0x10
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
test eax, eax
js 0x6baca5
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
mov word [edx + 0x18], cx
test al, 1
je 0x6bacfb
movzx eax, cx
cmp dword [esp + 0x34], 0
je 0x6bac90
cmp eax, 0x7f
ja 0x6bacc9
mov ecx, dword [esp + 0x60]
movzx ecx, byte [ecx + eax]
cmp eax, ecx
lea ebp, [esp + 0x5c]
jne 0x6bacf3
jmp 0x6bacfb
cmp eax, 0xfffffffc
mov ecx, 0x46
mov edx, 0x19
cmove edx, ecx
cmp eax, 0xfffffffe
mov eax, 0x24
cmovne eax, edx
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x1238]
jmp 0x6baba2
cmp eax, 0xff
ja 0x6bacfb
mov ecx, dword [esp + 0x60]
movzx ecx, byte [ecx + eax]
cmp eax, ecx
jne 0x6bacf3
jmp 0x6bacfb
sub esp, 4
xor edx, edx
mov ecx, dword [esp + 0x20]
push 0
push 0
push ebp
call fcn.006bc050
add esp, 0x10
test eax, eax
je 0x6bad03
mov eax, dword [esp + 0x10]
or byte [eax + 0xd], 1
jmp 0x6bad03
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
and eax, 0x7f
or eax, ecx
movzx eax, word [eax + eax + 0x7b8c54]
cmp dword [eax*8 + 0x7b53d8], 0
lea ebp, [esp + 0x5c]
je 0x6bacfb
mov eax, dword [esp + 0x10]
or byte [eax + 0xc], 0x20
mov eax, dword [esp + 0x10]
or byte [eax + 0xc], 0x10
mov eax, dword [esp + 0x44]
test eax, eax
mov edi, dword [esp + 0x28]
js 0x6bad89
test al, 2
jne 0x6bad1f
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 8]
and ecx, 0x10
jne 0x6bad89
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
mov word [edx + 0x1a], cx
test al, 1
je 0x6bad81
movzx eax, cx
cmp dword [esp + 0x34], 0
je 0x6bad66
cmp eax, 0x7f
jbe 0x6bad6d
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
and eax, 0x7f
or eax, ecx
movzx eax, word [eax + eax + 0x7b8c54]
cmp dword [eax*8 + 0x7b53d8], 0
jne 0x6bad79
jmp 0x6bad81
cmp eax, 0xff
ja 0x6bad81
mov ecx, dword [esp + 0x60]
movzx ecx, byte [ecx + eax]
cmp eax, ecx
je 0x6bad81
mov eax, dword [esp + 0x10]
or byte [eax + 0xc], 0x80
mov eax, dword [esp + 0x10]
or byte [eax + 0xc], 0x40
mov ecx, dword [esp + 0x1c]
sub esp, 4
mov esi, ecx
mov edx, edi
push 0
push ebp
push dword [esp + 0x20]
call fcn.006bc290
add esp, 0x10
test eax, eax
jne 0x6badc2
movzx eax, word [esi + 2]
movzx ecx, word [esi + eax*2]
lea eax, [esi + eax*2]
cmp ecx, 0x77
mov ecx, eax
mov eax, dword [esp + 0x10]
je 0x6bad8d
jmp 0x6ba0a6
mov eax, dword [esp + 0x10]
or byte [eax + 0xd], 0x80
jmp 0x6ba0a6