Function at 0x100834d0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6e70
call fcn.100a0b40
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x6dbc], edx
mov ebx, ecx
mov dword [ebp - 0x6d8c], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x6dac], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x6dd4], eax
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x6d9c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x6d98], eax
mov eax, dword [ebx]
mov dword [ebp - 0x6da8], eax
mov eax, dword [ebx + 0x1c]
shr eax, 0xb
and eax, 1
mov dword [ebp - 0x6d94], eax
add ecx, 0xfffffffe
mov eax, 0x2aaaaaab
imul ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
inc dword [ebp + 0x20]
lea ecx, [ecx + ecx*2]
and dword [ebp + 0x14], 0xfffffffe
add ecx, ecx
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp + 0x18]
mov edi, edx
mov dword [ebp - 0x6da4], eax
or eax, 0xffffffff
shr edi, 0x1f
add edi, edx
mov dword [ebp - 0x6dc0], eax
lea ecx, [esi + 8]
lea eax, [edi + edi*2]
mov dword [ebp - 0x6ddc], esi
lea eax, [ecx + eax*4]
mov dword [ebp - 0x6dd8], eax
mov edx, eax
mov eax, dword [ebp - 0x6dbc]
xor esi, esi
mov al, byte [eax]
mov dword [ebp - 0x6dc4], 0
mov dword [ebp - 0x6d78], edi
mov dword [ebp - 0x6dc8], ecx
mov dword [ebp - 0x6d6c], esi
cmp al, 0x7f
je 0x100835c7
cmp al, 0x84
je 0x100835c7
cmp al, 0x80
je 0x100835c7
cmp al, 0x85
je 0x100835c7
xor ecx, ecx
jmp 0x100835cc
mov ecx, 2
mov ebx, dword [ebp - 0x6dbc]
cmp byte [ebx + ecx + 3], 0x76
mov ebx, dword [ebp - 0x6d8c]
jne 0x10083834
mov edx, dword [ebp - 0x6dbc]
xor esi, esi
jmp 0x100835f0
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 2]
cmp ecx, esi
cmovg esi, ecx
movzx ecx, byte [edx + 1]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x100835f0
cmp dword [ebp - 0x6d94], 0
je 0x100837f6
mov eax, dword [ebp - 0x6dac]
xor edx, edx
test esi, esi
jle 0x10083670
mov ecx, dword [ebp - 0x6d9c]
cmp eax, ecx
jbe 0x1008366a
dec eax
mov dword [ebp - 0x6dac], eax
cmp eax, ecx
jbe 0x10083665
mov edi, eax
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x10083653
dec edi
cmp edi, ecx
ja 0x10083646
mov dword [ebp - 0x6dac], edi
mov edi, dword [ebp - 0x6d78]
mov eax, dword [ebp - 0x6dac]
inc edx
cmp edx, esi
jl 0x10083635
mov eax, dword [ebp - 0x6dac]
cmp eax, dword [ebx + 0xc]
jae 0x10083678
mov dword [ebx + 0xc], eax
mov esi, dword [ebp - 0x6dd8]
mov ebx, dword [ebp - 0x6dbc]
add esi, 8
jmp 0x10083690
movzx ecx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl ecx, 8
or ecx, eax
cmp ecx, edx
jg 0x100836dc
mov ebx, dword [ebp - 0x6d6c]
mov eax, ebx
inc ebx
mov dword [ebp - 0x6d6c], ebx
cmp eax, edi
jge 0x1008856f
mov eax, dword [ebp - 0x6da8]
mov ebx, dword [ebp - 0x6dbc]
sub eax, ebx
sub eax, 6
mov dword [esi - 8], eax
mov eax, edx
sub eax, ecx
mov dword [esi - 4], 0
mov dword [esi], eax
add esi, 0xc
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
mov dword [ebp - 0x6dbc], ebx
cmp byte [ebx], 0x71
je 0x10083690
mov esi, dword [ebp - 0x6d6c]
mov ebx, dword [ebp - 0x6dc8]
mov ecx, dword [ebp - 0x6ddc]
mov edi, dword [ebp - 0x6dac]
mov dword [ecx], 0
mov dword [ebp - 0x6de4], 0x2710
mov eax, dword [ebp - 0x6dc4]
mov dword [ebp - 0x6db0], eax
mov eax, dword [ebp - 0x6ddc]
mov edx, esi
xor dword [eax], 1
mov ecx, ebx
mov ebx, dword [ebp - 0x6dd8]
mov dword [eax + 4], edx
lea eax, [edx + edx*2]
mov dword [ebp - 0x6dc8], ebx
lea ebx, [ebx + eax*4]
mov dword [ebp - 0x6d74], ebx
mov ebx, dword [ebp - 0x6d98]
xor esi, esi
mov dword [ebp - 0x6d88], edi
mov dword [ebp - 0x6de0], 0
mov dword [ebp - 0x6dcc], 0
mov dword [ebp - 0x6dc4], 0
mov dword [ebp - 0x6d70], ecx
mov dword [ebp - 0x6dd8], ecx
mov dword [ebp - 0x6d68], edx
mov dword [ebp - 0x6d6c], esi
cmp edi, ebx
jae 0x10083a98
mov dword [ebp - 0x6d90], 1
cmp dword [ebp - 0x6d94], esi
je 0x10083a8a
movzx edx, byte [edi]
mov dword [ebp - 0x6d84], edx
cmp edx, 0xc0
jb 0x1008393d
test dl, 0x20
jne 0x10083903
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebp - 0x6d84], edx
mov dword [ebp - 0x6d90], 2
jmp 0x1008393d
mov edx, dword [ebp - 0x6dac]
mov ecx, dword [ebp - 0x6d9c]
mov eax, edx
sub eax, esi
cmp eax, ecx
jae 0x1008381f
mov eax, dword [ebp - 0x6dac]
sub edx, ecx
sub eax, edx
mov dword [ebp - 0x6dac], eax
jmp 0x10083670
mov eax, dword [ebp - 0x6dac]
mov edx, esi
sub eax, edx
mov dword [ebp - 0x6dac], eax
jmp 0x10083670
cmp dword [ebp + 0x20], 1
mov ecx, dword [ebp - 0x6dbc]
mov dword [ebp - 0x6dbc], ecx
jne 0x1008389b
test dword [ebx + 0x18], 0x20000
je 0x1008389b
mov ebx, ecx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x10083851
mov dword [ebp - 0x6dbc], ebx
mov ebx, dword [ebp - 0x6ddc]
mov esi, dword [ebx + 4]
cmp dword [ebx], 0
mov ebx, dword [ebp - 0x6dc8]
jne 0x10083702
lea eax, [esi + esi*2]
shl eax, 2
push eax
mov eax, edx
push ebx
push eax
call fcn.100a0c1c
add esp, 0xc
jmp 0x10083702
cmp al, 0x7f
je 0x100838af
cmp al, 0x84
je 0x100838af
cmp al, 0x80
je 0x100838af
cmp al, 0x85
je 0x100838af
xor ecx, ecx
jmp 0x100838b4
mov ecx, 2
mov ebx, dword [ebp - 0x6dbc]
add ecx, 3
lea ecx, [ecx]
mov eax, esi
inc esi
cmp eax, edi
jge 0x1008856f
sub ecx, dword [ebp - 0x6da8]
mov dword [edx + 4], 0
add ecx, ebx
mov dword [edx], ecx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
add edx, 0xc
cmp byte [ebx], 0x71
mov dword [ebp - 0x6dbc], ebx
mov ecx, 3
je 0x100838c0
jmp 0x100836fc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x100839d2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
mov dword [ebp - 0x6d84], ecx
mov dword [ebp - 0x6d90], 3
mov ecx, dword [ebp - 0x6d70]
mov edx, dword [ebp - 0x6d68]
xor eax, eax
mov dword [ebp - 0x6dd0], eax
test edx, edx
jle 0x100884d2
mov ebx, dword [ebp - 0x6dc8]
lea eax, [eax + eax*2]
mov dword [ebp - 0x6da0], 0
lea edi, [ebx + eax*4]
mov dword [ebp - 0x6db8], edi
mov ebx, dword [edi]
mov dword [ebp - 0x6d80], ebx
test ebx, ebx
jns 0x10083ab7
cmp dword [edi + 8], 0
jle 0x10083aad
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov dword [ecx], ebx
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
mov eax, dword [edi + 8]
dec eax
mov dword [ecx + 8], eax
add ecx, 0xc
cmp dword [ebp - 0x6db0], 0
mov dword [ebp - 0x6d70], ecx
je 0x10083d94
mov dword [ebp - 0x6dc4], 1
jmp 0x10083d94
test dl, 8
jne 0x10083a05
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x6d84], ecx
mov dword [ebp - 0x6d90], 4
jmp 0x10083937
test dl, 4
jne 0x10083a44
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x6d84], ecx
mov dword [ebp - 0x6d90], 5
jmp 0x10083937
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x6d84], ecx
mov dword [ebp - 0x6d90], 6
jmp 0x10083937
movzx eax, byte [edi]
mov dword [ebp - 0x6d84], eax
jmp 0x10083943
mov dword [ebp - 0x6d90], esi
mov dword [ebp - 0x6d84], 0xffffffff
jmp 0x10083943
neg ebx
mov dword [ebp - 0x6d80], ebx
mov dword [edi], ebx
mov eax, dword [ebp - 0x6dd0]
xor edx, edx
test eax, eax
jle 0x10083aee
mov ecx, dword [ebp - 0x6dc8]
lea esp, [esp]
cmp dword [ecx], ebx
jne 0x10083ae6
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
je 0x10083d88
mov eax, dword [ebp - 0x6dd0]
inc edx
add ecx, 0xc
cmp edx, eax
jl 0x10083ad0
cmp dword [ebp - 0x6d90], 0
mov eax, dword [ebp - 0x6da8]
movzx ecx, byte [ebx + eax]
lea esi, [ebx + eax]
mov dword [ebp - 0x6d7c], ecx
jne 0x10083b25
mov eax, dword [ebp - 0x6db0]
cmp byte [ecx + 0x100e1200], 0
mov edx, 1
cmovne eax, edx
mov dword [ebp - 0x6db0], eax
mov al, byte [ecx + 0x100e12c0]
test al, al
je 0x10083cd8
cmp dword [ebp - 0x6d94], 0
mov edx, 1
mov dword [ebp - 0x6db4], edx
je 0x10083c6f
movzx edx, al
movzx ebx, byte [edx + esi]
add edx, esi
cmp ebx, 0xc0
jb 0x10083c78
test bl, 0x20
jne 0x10083b84
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
mov edx, 2
or ebx, eax
mov dword [ebp - 0x6db4], edx
jmp 0x10083c7e
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x10083bba
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, dword [ebp - 0x6d7c]
shl ebx, 6
mov edx, 3
or ebx, eax
mov dword [ebp - 0x6db4], edx
jmp 0x10083c7e
test bl, 8
jne 0x10083bee
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, dword [ebp - 0x6d7c]
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
shl ebx, 6
and eax, 0x3f
mov edx, 4
or ebx, eax
mov dword [ebp - 0x6db4], edx
jmp 0x10083c7e
test bl, 4
jne 0x10083c2b
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, dword [ebp - 0x6d7c]
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
shl ebx, 6
and eax, 0x3f
mov edx, 5
or ebx, eax
mov dword [ebp - 0x6db4], edx
jmp 0x10083c7e
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, dword [ebp - 0x6d7c]
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
shl ebx, 6
and eax, 0x3f
mov edx, 6
or ebx, eax
mov dword [ebp - 0x6db4], edx
jmp 0x10083c7e
movzx eax, al
movzx ebx, byte [eax + esi]
jmp 0x10083c7e
mov edx, dword [ebp - 0x6db4]
cmp ecx, 0x55
jl case.default.0x10083c8b
lea eax, [ebx - 0xe]
cmp eax, 8
ja case.default.0x10083c8b
jmp dword [eax*4 + 0x10088588]
add ecx, 0x12c
mov dword [ebp - 0x6d7c], ecx
jmp case.default.0x10083c8b
add ecx, 0x154
mov dword [ebp - 0x6d7c], ecx
jmp case.default.0x10083c8b
add ecx, 0x140
mov dword [ebp - 0x6d7c], ecx
jmp case.default.0x10083c8b
add ecx, 0x168
mov dword [ebp - 0x6d7c], ecx
jmp case.default.0x10083c8b
add ecx, 0x17c
mov dword [ebp - 0x6d7c], ecx
jmp case.default.0x10083c8b
xor edx, edx
mov dword [ebp - 0x6db4], edx
or ebx, 0xffffffff
lea eax, [ecx - 1]
cmp eax, 0x1dc
ja case.0x10083cf8.3
movzx eax, byte [eax + 0x100886d8]
jmp dword [eax*4 + 0x100885ac]
cmp esi, dword [ebp - 0x6dbc]
je 0x10083dc8
mov edi, dword [ebp - 0x6d68]
mov eax, edi
inc edi
mov dword [ebp - 0x6d68], edi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ebx, dword [ebp - 0x6d74]
mov edx, dword [ebp - 0x6d80]
mov dword [ebx + 4], 0
lea eax, [edx + 3]
mov dword [ebx], eax
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
cmp ecx, 0x72
je case.0x10083cf8.156
mov eax, edi
inc edi
mov dword [ebp - 0x6d68], edi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [ebx], edx
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
mov esi, dword [ebp - 0x6d6c]
mov ecx, dword [ebp - 0x6d70]
mov edx, dword [ebp - 0x6d68]
mov eax, dword [ebp - 0x6dd0]
inc eax
mov dword [ebp - 0x6dd0], eax
cmp eax, edx
jl 0x10083953
mov edi, dword [ebp - 0x6d88]
test esi, esi
jle 0x100884cc
add edi, dword [ebp - 0x6d90]
mov ebx, dword [ebp - 0x6dc8]
jmp 0x1008371e
mov edi, dword [ebp - 0x6d88]
mov ecx, dword [ebp - 0x6dac]
mov ebx, dword [ebp - 0x6d8c]
cmp edi, ecx
ja 0x10083e00
mov eax, dword [ebx + 0x18]
test eax, 0x400
jne case.0x10083cf8.156
mov esi, dword [ebp - 0x6d9c]
test eax, 0x10000000
je 0x10083e06
mov eax, dword [ebx + 0x14]
add eax, esi
cmp ecx, eax
jbe case.0x10083cf8.156
jmp 0x10083e06
mov esi, dword [ebp - 0x6d9c]
mov edx, dword [ebp - 0x6dc0]
test edx, edx
jns 0x10083e28
xor edx, edx
cmp dword [ebp + 0x14], 2
setge dl
mov dword [ebp - 0x6dc0], edx
test edx, edx
jne 0x10083e48
mov eax, dword [ebp + 0x14]
jmp 0x10083e4b
jle 0x10083e1f
inc edx
mov dword [ebp - 0x6dc0], edx
lea eax, [edx + edx]
cmp eax, dword [ebp + 0x14]
jle 0x10083e1f
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x6dc0], 0
jmp 0x10083e4b
lea eax, [edx + edx]
add eax, 0xfffffffe
test eax, eax
jle 0x10083e70
shl eax, 2
push eax
mov eax, dword [ebp - 0x6dd4]
push eax
add eax, 8
push eax
call dword [0x100a119c]
mov ecx, dword [ebp - 0x6dac]
add esp, 0xc
cmp dword [ebp + 0x14], 2
jl 0x10083e89
mov eax, ecx
mov ecx, dword [ebp - 0x6dd4]
sub eax, esi
mov dword [ecx], eax
mov eax, edi
sub eax, esi
mov dword [ecx + 4], eax
test dword [ebx + 0x18], 0x10000
je case.0x10083cf8.156
mov eax, dword [ebp - 0x6dc0]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x71
je case.0x10083cf8.113
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
sub esi, dword [ebp - 0x6da8]
mov ecx, dword [ebp - 0x6d74]
mov dword [ecx], esi
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d94
mov ebx, dword [ebp - 0x6d74]
mov edx, dword [ebp - 0x6d68]
mov edi, dword [ebp - 0x6d78]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, edi
jge 0x1008856f
mov eax, esi
sub eax, dword [ebp - 0x6da8]
mov dword [ebx + 4], 0
add eax, 3
mov dword [ebx], eax
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
add ebx, 0xc
cmp byte [esi], 0x71
mov dword [ebp - 0x6d74], ebx
je 0x10083f20
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d94
mov edx, dword [ebp - 0x6d68]
mov edi, dword [ebp - 0x6d78]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, edi
jge 0x1008856f
mov ebx, dword [ebp - 0x6d74]
mov eax, esi
sub eax, dword [ebp - 0x6da8]
mov dword [ebx + 4], 0
add eax, 5
mov dword [ebx], eax
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
add ebx, 0xc
cmp byte [esi], 0x71
mov dword [ebp - 0x6d74], ebx
jne 0x10083efd
jmp 0x10083fd0
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, edi
jge 0x1008856f
mov eax, esi
sub eax, dword [ebp - 0x6da8]
mov dword [ebx + 4], 0
add eax, 3
mov dword [ebx], eax
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
add ebx, 0xc
cmp byte [esi], 0x71
mov dword [ebp - 0x6d74], ebx
je 0x10083fd0
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d94
mov edi, dword [ebp - 0x6d68]
cmp edi, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
mov ebx, dword [ebp - 0x6d74]
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], 0
movzx edx, byte [esi + 2]
movzx eax, byte [esi + 3]
shl edx, 8
or edx, eax
inc edx
add edx, esi
cmp byte [edx], 0x71
jne 0x10084074
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x10084060
lea eax, [edi + 1]
add edi, 2
mov dword [ebp - 0x6d68], edi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
sub edx, dword [ebp - 0x6da8]
mov dword [ebx + 0x10], 0
add edx, 3
mov dword [ebx + 0xc], edx
add ebx, 0x18
jmp 0x10083d7c
movzx edx, byte [esi + 2]
movzx eax, byte [esi + 3]
shl edx, 8
or edx, eax
inc edx
add edx, esi
cmp byte [edx], 0x71
jne 0x100840d4
lea esp, [esp]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x100840c0
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
sub edx, dword [ebp - 0x6da8]
mov ecx, dword [ebp - 0x6d74]
add edx, 3
mov dword [ecx], edx
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
jmp case.0x10083cf8.156
mov eax, dword [ebp - 0x6d9c]
mov edx, dword [ebp - 0x6d68]
cmp dword [ebp - 0x6d88], eax
jne 0x10083efd
mov eax, dword [ebp - 0x6d8c]
test byte [eax + 0x18], 0x80
jne 0x10083efd
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
mov ecx, dword [ebp - 0x6d74]
inc eax
mov dword [ecx], eax
jmp 0x10083eed
mov edi, dword [ebp - 0x6d88]
mov ebx, dword [ebp - 0x6d8c]
cmp edi, dword [ebp - 0x6d9c]
jne 0x10084180
test byte [ebx + 0x18], 0x80
je 0x100841ec
cmp edi, dword [ebp - 0x6d98]
je case.0x10083cf8.156
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x100841bc
mov ecx, dword [ebx + 4]
cmp edi, ecx
jbe case.0x10083cf8.156
push dword [ebp - 0x6d94]
lea eax, [ebx + 0x24]
push eax
push ecx
mov ecx, edi
call fcn.10097b20
add esp, 0xc
test eax, eax
jne 0x100841ec
jmp case.0x10083cf8.156
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 4]
add eax, edx
cmp edi, eax
jb case.0x10083cf8.156
mov ecx, edi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + 0x28]
jne case.0x10083cf8.156
cmp edx, 1
je 0x100841ec
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x29]
jne case.0x10083cf8.156
mov edx, dword [ebp - 0x6d68]
jmp 0x1008413d
mov eax, dword [ebp - 0x6d98]
cmp dword [ebp - 0x6d88], eax
jb case.0x10083cf8.156
mov eax, dword [ebp - 0x6d8c]
mov edx, dword [ebp - 0x6d68]
test dword [eax + 0x18], 0x8000000
je 0x1008413d
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
mov dword [ebp - 0x6db0], 1
jmp 0x10083d94
mov eax, dword [ebp - 0x6d9c]
mov edx, dword [ebp - 0x6d68]
cmp dword [ebp - 0x6d88], eax
jmp 0x10084137
mov eax, dword [ebp - 0x6d9c]
add eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x6d68]
cmp dword [ebp - 0x6d88], eax
jmp 0x10084137
mov ebx, dword [ebp - 0x6d90]
test ebx, ebx
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d8c]
mov edi, dword [ebp - 0x6d88]
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x100842b5
mov ecx, dword [ebx + 8]
cmp edi, ecx
jae 0x100842dd
push dword [ebp - 0x6d94]
lea eax, [ebx + 0x24]
push eax
push ecx
mov ecx, edi
call fcn.100979d0
add esp, 0xc
test eax, eax
jne case.0x10083cf8.156
jmp 0x100842dd
mov ecx, dword [ebx + 0x24]
mov eax, dword [ebx + 8]
sub eax, ecx
cmp edi, eax
ja 0x100842dd
mov al, byte [edi]
cmp al, byte [ebx + 0x28]
jne 0x100842dd
cmp ecx, 1
je case.0x10083cf8.156
mov al, byte [edi + 1]
cmp al, byte [ebx + 0x29]
je case.0x10083cf8.156
lea eax, [edi + 1]
cmp eax, dword [ebx + 8]
jb 0x10084325
test dword [ebx + 0x18], 0x8000000
je 0x10084325
cmp dword [ebx + 0x20], 0
jne 0x10084325
cmp dword [ebx + 0x24], 2
jne 0x10084325
movzx eax, byte [ebx + 0x28]
cmp dword [ebp - 0x6d84], eax
jne 0x10084325
mov dword [ebp - 0x6dcc], 1
mov dword [ebp - 0x6db0], 1
jmp case.0x10083cf8.156
jne case.0x10083cf8.156
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
inc eax
mov ecx, dword [ebp - 0x6d70]
add ecx, 0xc
mov dword [ecx - 0xc], eax
mov dword [ecx - 8], 0
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
mov edi, dword [ebp - 0x6d90]
mov esi, dword [ebp - 0x6d6c]
test edi, edi
jle 0x10083d88
jmp 0x1008432b
cmp dword [ebp - 0x6d90], 0
jne 0x100843a6
mov eax, dword [ebp - 0x6d8c]
test dword [eax + 0x18], 0x8000000
je 0x100841ec
mov dword [ebp - 0x6db0], 1
jmp case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d8c]
mov edi, dword [ebp - 0x6d88]
mov edx, dword [ebx + 0x20]
mov eax, dword [ebx + 8]
test edx, edx
je 0x100843e2
cmp edi, eax
jae case.0x10083cf8.156
push dword [ebp - 0x6d94]
lea esi, [ebx + 0x24]
push esi
push eax
mov ecx, edi
call fcn.100979d0
add esp, 0xc
test eax, eax
jne 0x1008440e
jmp case.0x10083cf8.156
mov ecx, dword [ebx + 0x24]
lea esi, [ebx + 0x24]
sub eax, ecx
cmp edi, eax
ja case.0x10083cf8.156
mov al, byte [edi]
cmp al, byte [ebx + 0x28]
jne case.0x10083cf8.156
cmp ecx, 1
je 0x1008440e
mov al, byte [edi + 1]
cmp al, byte [ebx + 0x29]
jne case.0x10083cf8.156
mov eax, dword [ebp - 0x6d98]
sub eax, dword [esi]
cmp edi, eax
jne case.0x10083cf8.156
mov edx, dword [ebp - 0x6d68]
jmp 0x1008413d
mov ebx, dword [ebp - 0x6d8c]
mov eax, dword [ebx + 0x18]
test eax, 0x100
jne case.0x10083cf8.156
cmp dword [ebp - 0x6d90], 0
jne 0x10084460
test eax, 0x8000000
je 0x100841ec
mov dword [ebp - 0x6db0], 1
jmp case.0x10083cf8.156
test byte [ebx + 0x1c], 0x20
mov edi, dword [ebp - 0x6d88]
jne 0x1008449b
mov edx, dword [ebx + 0x20]
mov eax, dword [ebx + 8]
test edx, edx
je 0x10084539
cmp edi, eax
jae 0x1008449b
push dword [ebp - 0x6d94]
lea esi, [ebx + 0x24]
push esi
push eax
mov ecx, edi
call fcn.100979d0
add esp, 0xc
test eax, eax
jne 0x10084565
lea eax, [edi + 1]
cmp eax, dword [ebx + 8]
jb case.0x10083cf8.156
mov ecx, dword [ebx + 0x18]
test ecx, 0x8008000
je case.0x10083cf8.156
cmp dword [ebx + 0x20], 0
jne case.0x10083cf8.156
cmp dword [ebx + 0x24], 2
jne case.0x10083cf8.156
movzx eax, byte [ebx + 0x28]
cmp dword [ebp - 0x6d84], eax
jne case.0x10083cf8.156
mov esi, dword [ebp - 0x6d6c]
test ecx, 0x8000000
je 0x10084580
mov dword [ebp - 0x6dc4], 1
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
or eax, 0xffffffff
sub eax, dword [ebp - 0x6d80]
add ecx, 0xc
mov dword [ecx - 0xc], eax
mov dword [ecx - 8], 0
mov dword [ecx - 4], 1
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
mov ecx, dword [ebx + 0x24]
lea esi, [ebx + 0x24]
sub eax, ecx
cmp edi, eax
ja 0x1008449b
mov al, byte [edi]
cmp al, byte [ebx + 0x28]
jne 0x1008449b
cmp ecx, 1
je 0x10084565
mov al, byte [edi + 1]
cmp al, byte [ebx + 0x29]
jne 0x1008449b
mov eax, dword [ebp - 0x6d98]
sub eax, dword [esi]
cmp edi, eax
jne 0x1008449b
mov edx, dword [ebp - 0x6d68]
jmp 0x1008413d
mov dword [ebp - 0x6dcc], 1
mov dword [ebp - 0x6db0], 1
jmp 0x10083d88
mov ebx, dword [ebp - 0x6d8c]
mov eax, dword [ebx + 0x18]
test eax, 0x100
jne 0x10084639
cmp dword [ebp - 0x6d90], 0
je 0x10084446
test byte [ebx + 0x1c], 0x20
mov edi, dword [ebp - 0x6d88]
jne 0x1008449b
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x100845fe
mov ecx, dword [ebx + 8]
cmp edi, ecx
jae 0x1008449b
push dword [ebp - 0x6d94]
lea eax, [ebx + 0x24]
push eax
push ecx
mov ecx, edi
call fcn.100979d0
add esp, 0xc
test eax, eax
jne 0x100841ec
jmp 0x1008449b
mov ecx, dword [ebx + 0x24]
mov eax, dword [ebx + 8]
sub eax, ecx
cmp edi, eax
ja 0x1008449b
mov al, byte [edi]
cmp al, byte [ebx + 0x28]
jne 0x1008449b
cmp ecx, 1
je 0x100841ec
mov al, byte [edi + 1]
cmp al, byte [ebx + 0x29]
jne 0x1008449b
mov edx, dword [ebp - 0x6d68]
jmp 0x1008413d
mov edx, dword [ebx + 0x20]
mov edi, dword [ebp - 0x6d88]
test edx, edx
je 0x10084673
mov ecx, dword [ebx + 8]
cmp edi, ecx
jae case.0x10083cf8.156
push dword [ebp - 0x6d94]
lea eax, [ebx + 0x24]
push eax
push ecx
mov ecx, edi
call fcn.100979d0
add esp, 0xc
test eax, eax
jne 0x100841ec
jmp case.0x10083cf8.156
mov ecx, dword [ebx + 0x24]
mov eax, dword [ebx + 8]
sub eax, ecx
cmp edi, eax
ja case.0x10083cf8.156
mov al, byte [edi]
cmp al, byte [ebx + 0x28]
jne case.0x10083cf8.156
cmp ecx, 1
je 0x100841ec
mov al, byte [edi + 1]
cmp al, byte [ebx + 0x29]
jne case.0x10083cf8.156
mov edx, dword [ebp - 0x6d68]
jmp 0x1008413d
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
mov esi, dword [ebp - 0x6d6c]
cmp ebx, 0x100
jae 0x10083d88
mov eax, dword [ebp - 0x6da4]
mov al, byte [ebx + eax + 0x340]
and al, byte [ecx + 0x100e12ac]
xor al, byte [ecx + 0x100e129c]
je 0x10083d88
jmp 0x1008432b
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
cmp ebx, 0x100
jae 0x10084325
mov eax, dword [ebp - 0x6da4]
mov al, byte [ebx + eax + 0x340]
and al, byte [ecx + 0x100e12ac]
xor al, byte [ecx + 0x100e129c]
je case.0x10083cf8.156
jmp 0x10084325
mov eax, dword [ebp - 0x6d88]
mov edi, dword [ebp - 0x6d8c]
cmp eax, dword [ebp - 0x6d9c]
jbe 0x10084882
lea edx, [eax - 1]
cmp edx, dword [edi + 0xc]
jae 0x1008475d
mov dword [edi + 0xc], edx
mov ecx, dword [ebp - 0x6d94]
test ecx, ecx
je 0x1008477a
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x1008477a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x10084770
movzx ebx, byte [edx]
test ecx, ecx
je 0x1008482c
cmp ebx, 0xc0
jb 0x1008482c
test bl, 0x20
jne 0x100847a2
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x10084824
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x100847bc
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x10084824
and eax, 0x3f
test bl, 8
jne 0x100847d7
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x10084824
test bl, 4
jne 0x100847fb
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
jmp 0x10084824
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
test dword [edi + 0x1c], 0x20000000
je 0x10084863
cmp ebx, 0x5f
jne 0x1008483f
lea esi, [ebx - 0x5e]
jmp 0x10084884
push ebx
call sym.glib_2.dll_g_unichar_type
movzx eax, al
add esp, 4
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je 0x1008485c
cmp eax, 3
jne 0x10084882
mov esi, 1
jmp 0x10084884
cmp ebx, 0x100
jae 0x10084882
mov eax, dword [ebp - 0x6da4]
test byte [ebx + eax + 0x340], 0x10
je 0x10084882
mov esi, 1
jmp 0x10084884
xor esi, esi
cmp dword [ebp - 0x6d90], 0
jle 0x100848e9
test dword [edi + 0x1c], 0x20000000
mov edi, dword [ebp - 0x6d84]
je 0x100848ca
cmp edi, 0x5f
jne 0x100848a6
lea eax, [edi - 0x5e]
jmp 0x100848eb
push edi
call sym.glib_2.dll_g_unichar_type
movzx eax, al
add esp, 4
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je 0x100848c3
cmp eax, 3
jne 0x100848e9
mov eax, 1
jmp 0x100848eb
cmp edi, 0x100
jae 0x100848e9
mov eax, dword [ebp - 0x6da4]
test byte [edi + eax + 0x340], 0x10
je 0x100848e9
mov eax, 1
jmp 0x100848eb
xor eax, eax
mov edx, dword [ebp - 0x6d68]
xor ecx, ecx
cmp esi, eax
sete cl
xor eax, eax
cmp dword [ebp - 0x6d7c], 4
sete al
cmp ecx, eax
jmp 0x10084137
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov edi, dword [ebp - 0x6d84]
push edi
call sym.glib_2.dll_g_unichar_type
movzx ecx, byte [esi + 1]
add esp, 4
cmp ecx, 8
ja case.default.0x10084934
jmp dword [ecx*4 + 0x100888b8]
mov ebx, dword [ebp - 0x6d7c]
mov edx, 1
jmp 0x10084a55
cmp al, 9
je case.0x10084934.0
cmp al, 5
je case.0x10084934.0
cmp al, 8
je case.0x10084934.0
mov ebx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x10084a55
mov ebx, dword [ebp - 0x6d7c]
movzx ecx, al
movzx eax, byte [esi + 2]
xor edx, edx
cmp dword [ecx*4 + 0x100e1bf8], eax
sete dl
jmp 0x10084a55
push edi
call sym.glib_2.dll_g_unichar_get_script
add esp, 4
mov ebx, dword [ebp - 0x6d7c]
xor edx, edx
cmp al, byte [esi + 2]
sete dl
jmp 0x10084a55
movzx eax, al
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je case.0x10084934.0
cmp eax, 3
je case.0x10084934.0
mov ebx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x10084a55
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 6
je case.0x10084934.0
cmp edi, 9
je case.0x10084934.0
cmp edi, 0xa
je case.0x10084934.0
cmp edi, 0xc
je case.0x10084934.0
cmp edi, 0xd
je case.0x10084934.0
mov ebx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x10084a55
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 6
je case.0x10084934.0
cmp edi, 9
je case.0x10084934.0
cmp edi, 0xa
je case.0x10084934.0
cmp edi, 0xb
jmp 0x100849dc
movzx eax, al
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je case.0x10084934.0
cmp eax, 3
je case.0x10084934.0
cmp edi, 0x5f
jmp 0x100849ee
mov ebx, dword [ebp - 0x6d7c]
xor edx, edx
cmp ebx, 0x10
setne dl
mov esi, dword [ebp - 0x6d6c]
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jne 0x10083d88
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
add eax, 3
jmp 0x10084347
mov esi, dword [edi + 4]
test esi, esi
jle 0x10084ad1
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov edx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 2
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x6d74], edx
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
cmp ebx, 0xc
jne 0x10084b3b
mov eax, dword [ebp - 0x6d88]
mov edx, dword [ebp - 0x6d8c]
inc eax
cmp eax, dword [edx + 8]
mov eax, edx
jb 0x10084b33
test dword [eax + 0x18], 0x8000000
je 0x10084b33
cmp dword [eax + 0x20], 0
jne 0x10084b33
cmp dword [eax + 0x24], 2
mov edi, dword [ebp - 0x6d84]
jne 0x10084b4b
movzx eax, byte [eax + 0x28]
cmp edi, eax
jne 0x10084b49
mov dword [ebp - 0x6dcc], 1
mov dword [ebp - 0x6db0], 1
jmp case.0x10083cf8.156
mov edi, dword [ebp - 0x6d84]
jmp 0x10084b4b
mov edi, dword [ebp - 0x6d84]
mov eax, dword [ebp - 0x6d8c]
jmp 0x10084b4b
mov eax, edx
cmp edi, 0x100
jb 0x10084b73
cmp ebx, 7
je case.0x10083cf8.156
cmp ebx, 9
je case.0x10083cf8.156
cmp ebx, 0xb
jne 0x10084c0c
jmp case.0x10083cf8.156
cmp ebx, 0xc
jne 0x10084bed
mov edx, dword [eax + 0x20]
test edx, edx
je 0x10084bad
mov ecx, dword [eax + 8]
cmp dword [ebp - 0x6d88], ecx
jae 0x10084be7
push dword [ebp - 0x6d94]
add eax, 0x24
push eax
push ecx
mov ecx, dword [ebp - 0x6d88]
call fcn.100979d0
add esp, 0xc
test eax, eax
jne case.0x10083cf8.156
jmp 0x10084be7
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x6d88]
sub eax, ecx
cmp edx, eax
ja 0x10084be7
mov al, byte [edx]
mov edx, dword [ebp - 0x6d8c]
cmp al, byte [edx + 0x28]
jne 0x10084be7
cmp ecx, 1
je case.0x10083cf8.156
mov eax, dword [ebp - 0x6d88]
mov al, byte [eax + 1]
cmp al, byte [edx + 0x29]
je case.0x10083cf8.156
mov ecx, dword [ebp - 0x6d7c]
mov eax, dword [ebp - 0x6da4]
mov al, byte [edi + eax + 0x340]
and al, byte [ebx + 0x100e12ac]
xor al, byte [ebx + 0x100e129c]
je case.0x10083cf8.156
mov edx, dword [ebp - 0x6d68]
test esi, esi
jle 0x10084c29
cmp ecx, 0x5f
jne 0x10084c29
dec edx
sub dword [ebp - 0x6d74], 0xc
mov dword [ebp - 0x6d68], edx
mov ecx, dword [ebp - 0x6d6c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d6c], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
mov dword [ecx], eax
lea eax, [esi + 1]
mov esi, dword [ebp - 0x6d6c]
mov dword [ecx + 4], eax
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d94
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov edi, dword [ebp - 0x6d74]
mov esi, dword [ebp - 0x6d80]
add esi, 2
mov dword [edi], esi
mov dword [edi + 4], 0
add edi, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6d74], edi
jle 0x10083efd
cmp ebx, 0xc
jne 0x10084d1e
mov eax, dword [ebp - 0x6d88]
mov edi, dword [ebp - 0x6d8c]
inc eax
cmp eax, dword [edi + 8]
jb 0x10084d1e
mov eax, edi
test dword [eax + 0x18], 0x8000000
je 0x10084d16
cmp dword [eax + 0x20], 0
jne 0x10084d16
cmp dword [eax + 0x24], 2
mov edi, dword [ebp - 0x6d84]
jne 0x10084d2a
movzx eax, byte [eax + 0x28]
cmp edi, eax
jne 0x10084d24
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
mov dword [ebp - 0x6dcc], 1
mov dword [ebp - 0x6db0], 1
jmp 0x10083d94
mov edi, dword [ebp - 0x6d84]
jmp 0x10084d2a
mov edi, dword [ebp - 0x6d84]
mov eax, dword [ebp - 0x6d8c]
cmp edi, 0x100
jb 0x10084d5e
cmp ebx, 7
je 0x10083efd
cmp ebx, 9
je 0x10083efd
cmp ebx, 0xb
jne 0x10084e0f
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d94
cmp ebx, 0xc
jne 0x10084df0
mov edx, dword [eax + 0x20]
test edx, edx
je 0x10084da2
mov ecx, dword [eax + 8]
cmp dword [ebp - 0x6d88], ecx
jae 0x10084de4
push dword [ebp - 0x6d94]
add eax, 0x24
push eax
push ecx
mov ecx, dword [ebp - 0x6d88]
call fcn.100979d0
mov edx, dword [ebp - 0x6d68]
add esp, 0xc
test eax, eax
jne 0x10083efd
jmp 0x10084dea
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x6d88]
sub eax, ecx
cmp edx, eax
ja 0x10084de4
mov al, byte [edx]
mov edx, dword [ebp - 0x6d8c]
cmp al, byte [edx + 0x28]
jne 0x10084de4
cmp ecx, 1
je case.0x10083cf8.156
mov eax, dword [ebp - 0x6d88]
mov al, byte [eax + 1]
cmp al, byte [edx + 0x29]
mov edx, dword [ebp - 0x6d68]
je 0x10083efd
jmp 0x10084dea
mov edx, dword [ebp - 0x6d68]
mov ecx, dword [ebp - 0x6d7c]
mov eax, dword [ebp - 0x6da4]
mov al, byte [edi + eax + 0x340]
and al, byte [ebx + 0x100e12ac]
xor al, byte [ebx + 0x100e129c]
je 0x10083efd
cmp ecx, 0x60
jne 0x10084e22
dec edx
sub dword [ebp - 0x6d74], 0xc
mov dword [ebp - 0x6d68], edx
mov ecx, dword [ebp - 0x6d6c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d6c], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
add ecx, 0xc
mov dword [ecx - 0xc], esi
mov esi, dword [ebp - 0x6d6c]
mov dword [ecx - 8], 0
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d94
mov esi, dword [ebp - 0x6d68]
mov eax, esi
inc esi
mov dword [ebp - 0x6d68], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov edi, dword [ebp - 0x6d74]
mov edx, dword [ebp - 0x6d80]
mov dword [edi + 4], 0
lea eax, [edx + 2]
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6d74], edi
jle case.0x10083cf8.156
cmp ebx, 0xc
jne 0x10084f07
mov eax, dword [ebp - 0x6d88]
mov edi, dword [ebp - 0x6d8c]
inc eax
cmp eax, dword [edi + 8]
jb 0x10084f07
mov eax, edi
test dword [eax + 0x18], 0x8000000
je 0x10084eff
cmp dword [eax + 0x20], 0
jne 0x10084eff
cmp dword [eax + 0x24], 2
mov edi, dword [ebp - 0x6d84]
jne 0x10084f13
movzx eax, byte [eax + 0x28]
cmp edi, eax
jne 0x10084f0d
mov dword [ebp - 0x6dcc], 1
mov dword [ebp - 0x6db0], 1
jmp case.0x10083cf8.156
mov edi, dword [ebp - 0x6d84]
jmp 0x10084f13
mov edi, dword [ebp - 0x6d84]
mov eax, dword [ebp - 0x6d8c]
cmp edi, 0x100
jb 0x10084f3b
cmp ebx, 7
je case.0x10083cf8.156
cmp ebx, 9
je case.0x10083cf8.156
cmp ebx, 0xb
jne 0x10084fda
jmp case.0x10083cf8.156
cmp ebx, 0xc
jne 0x10084fbb
mov edx, dword [eax + 0x20]
test edx, edx
je 0x10084f75
mov ecx, dword [eax + 8]
cmp dword [ebp - 0x6d88], ecx
jae 0x10084faf
push dword [ebp - 0x6d94]
add eax, 0x24
push eax
push ecx
mov ecx, dword [ebp - 0x6d88]
call fcn.100979d0
add esp, 0xc
test eax, eax
jne case.0x10083cf8.156
jmp 0x10084faf
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x6d88]
sub eax, ecx
cmp edx, eax
ja 0x10084faf
mov al, byte [edx]
mov edx, dword [ebp - 0x6d8c]
cmp al, byte [edx + 0x28]
jne 0x10084faf
cmp ecx, 1
je case.0x10083cf8.156
mov eax, dword [ebp - 0x6d88]
mov al, byte [eax + 1]
cmp al, byte [edx + 0x29]
je case.0x10083cf8.156
mov ecx, dword [ebp - 0x6d7c]
mov edx, dword [ebp - 0x6d80]
mov eax, dword [ebp - 0x6da4]
mov al, byte [edi + eax + 0x340]
and al, byte [ebx + 0x100e12ac]
xor al, byte [ebx + 0x100e129c]
je case.0x10083cf8.156
cmp ecx, 0x5e
jne 0x10084fed
dec esi
sub dword [ebp - 0x6d74], 0xc
mov dword [ebp - 0x6d68], esi
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
add ecx, 0xc
mov dword [ecx - 0xc], edx
mov dword [ecx - 8], 0
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
cmp dword [ebp - 0x6d90], 0
mov edi, dword [edi + 4]
jle case.0x10083cf8.156
mov ecx, dword [ebp - 0x6d8c]
cmp ebx, 0xc
jne 0x10085087
mov eax, dword [ebp - 0x6d88]
inc eax
cmp eax, dword [ecx + 8]
jb 0x10085087
test dword [ecx + 0x18], 0x8000000
je 0x10085087
cmp dword [ecx + 0x20], 0
jne 0x10085087
cmp dword [ecx + 0x24], 2
jne 0x10085087
movzx eax, byte [ecx + 0x28]
cmp dword [ebp - 0x6d84], eax
jne 0x10085087
mov dword [ebp - 0x6dcc], 1
mov dword [ebp - 0x6db0], 1
jmp case.0x10083cf8.156
mov eax, dword [ebp - 0x6d84]
cmp eax, 0x100
jb 0x100850b4
cmp ebx, 7
je case.0x10083cf8.156
cmp ebx, 9
je case.0x10083cf8.156
cmp ebx, 0xb
jne 0x1008515b
jmp case.0x10083cf8.156
cmp ebx, 0xc
jne 0x1008513c
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x100850f8
mov ecx, dword [ecx + 8]
cmp dword [ebp - 0x6d88], ecx
jae 0x1008513c
push dword [ebp - 0x6d94]
mov eax, dword [ebp - 0x6d8c]
add eax, 0x24
push eax
push ecx
mov ecx, dword [ebp - 0x6d88]
call fcn.100979d0
add esp, 0xc
test eax, eax
jne case.0x10083cf8.156
jmp 0x10085136
mov edx, dword [ebp - 0x6d8c]
mov ecx, dword [ecx + 0x24]
mov eax, dword [edx + 8]
sub eax, ecx
cmp dword [ebp - 0x6d88], eax
ja 0x10085136
mov eax, dword [ebp - 0x6d88]
mov al, byte [eax]
cmp al, byte [edx + 0x28]
jne 0x10085136
cmp ecx, 1
je case.0x10083cf8.156
mov eax, dword [ebp - 0x6d88]
mov al, byte [eax + 1]
cmp al, byte [edx + 0x29]
je case.0x10083cf8.156
mov eax, dword [ebp - 0x6d84]
mov ecx, dword [ebp - 0x6da4]
mov al, byte [eax + ecx + 0x340]
and al, byte [ebx + 0x100e12ac]
xor al, byte [ebx + 0x100e129c]
je case.0x10083cf8.156
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov esi, dword [ebp - 0x6d6c]
shl ecx, 8
or ecx, eax
inc edi
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp edi, ecx
jl 0x10085196
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
add eax, 4
jmp 0x10084347
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
mov dword [ecx], eax
mov dword [ecx + 4], edi
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d74]
mov edx, dword [ebp - 0x6d80]
add edx, 4
mov dword [eax], edx
mov dword [eax + 4], 0
mov edi, dword [edi + 4]
add eax, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6db8], edx
mov dword [ebp - 0x6d74], eax
jle case.0x10083cf8.156
cmp ebx, 0xc
jne 0x10085270
mov eax, dword [ebp - 0x6d88]
mov ecx, dword [ebp - 0x6d8c]
inc eax
cmp eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x6d7c]
jb 0x10085270
mov eax, dword [ebp - 0x6d8c]
test dword [eax + 0x18], 0x8000000
je 0x10085270
cmp dword [eax + 0x20], 0
jne 0x10085270
cmp dword [eax + 0x24], 2
jne 0x10085270
movzx eax, byte [eax + 0x28]
cmp dword [ebp - 0x6d84], eax
jne 0x10085270
mov dword [ebp - 0x6dcc], 1
mov dword [ebp - 0x6db0], 1
jmp case.0x10083cf8.156
mov eax, dword [ebp - 0x6d84]
cmp eax, 0x100
jb 0x1008529d
cmp ebx, 7
je case.0x10083cf8.156
cmp ebx, 9
je case.0x10083cf8.156
cmp ebx, 0xb
jne 0x10085352
jmp case.0x10083cf8.156
cmp ebx, 0xc
jne 0x1008532d
mov ecx, dword [ebp - 0x6d8c]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x100852e7
mov ecx, dword [ecx + 8]
cmp dword [ebp - 0x6d88], ecx
jae 0x10085327
push dword [ebp - 0x6d94]
mov eax, dword [ebp - 0x6d8c]
add eax, 0x24
push eax
push ecx
mov ecx, dword [ebp - 0x6d88]
call fcn.100979d0
add esp, 0xc
test eax, eax
jne case.0x10083cf8.156
jmp 0x10085321
mov edx, ecx
mov ecx, dword [edx + 0x24]
mov eax, dword [edx + 8]
sub eax, ecx
cmp dword [ebp - 0x6d88], eax
ja 0x10085321
mov eax, dword [ebp - 0x6d88]
mov al, byte [eax]
cmp al, byte [edx + 0x28]
jne 0x10085321
cmp ecx, 1
je case.0x10083cf8.156
mov eax, dword [ebp - 0x6d88]
mov al, byte [eax + 1]
cmp al, byte [edx + 0x29]
je case.0x10083cf8.156
mov eax, dword [ebp - 0x6d84]
mov ecx, dword [ebp - 0x6d7c]
mov edx, dword [ebp - 0x6da4]
mov al, byte [eax + edx + 0x340]
and al, byte [ebx + 0x100e12ac]
mov edx, dword [ebp - 0x6db8]
xor al, byte [ebx + 0x100e129c]
je case.0x10083cf8.156
cmp ecx, 0x61
jne 0x10085364
dec dword [ebp - 0x6d68]
sub dword [ebp - 0x6d74], 0xc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov esi, dword [ebp - 0x6d6c]
shl ecx, 8
or ecx, eax
inc edi
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp edi, ecx
jl 0x10085196
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
add ecx, 0xc
mov dword [ecx - 0xc], edx
mov dword [ecx - 8], 0
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0x6d68]
test edi, edi
jle 0x100853f6
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 4
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
cmp dword [ebp - 0x6d90], 0
jle 0x10083efd
push dword [ebp - 0x6d84]
call sym.glib_2.dll_g_unichar_type
movzx ecx, byte [esi + 2]
add esp, 4
cmp ecx, 8
ja case.default.0x1008541e
jmp dword [ecx*4 + 0x100888dc]
mov ecx, dword [ebp - 0x6d7c]
mov edx, 1
jmp 0x1008557c
cmp al, 9
je case.0x1008541e.0
cmp al, 5
je case.0x1008541e.0
cmp al, 8
je case.0x1008541e.0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x1008557c
movzx ecx, al
movzx eax, byte [esi + 3]
xor edx, edx
cmp dword [ecx*4 + 0x100e1bf8], eax
mov ecx, dword [ebp - 0x6d7c]
sete dl
jmp 0x1008557c
mov eax, dword [ebp - 0x6d84]
cmp eax, 0x2000
jae 0x10085493
movzx eax, byte [eax + 0x100ab878]
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
cmp al, byte [esi + 3]
sete dl
jmp 0x1008557c
mov ecx, eax
call fcn.1005c3e0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
cmp al, byte [esi + 3]
sete dl
jmp 0x1008557c
movzx eax, al
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je case.0x1008541e.0
cmp eax, 3
je case.0x1008541e.0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x1008557c
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 6
je case.0x1008541e.0
mov eax, dword [ebp - 0x6d84]
cmp eax, 9
je case.0x1008541e.0
cmp eax, 0xa
je case.0x1008541e.0
cmp eax, 0xc
je case.0x1008541e.0
cmp eax, 0xd
je case.0x1008541e.0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x1008557c
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 6
je case.0x1008541e.0
mov eax, dword [ebp - 0x6d84]
cmp eax, 9
je case.0x1008541e.0
cmp eax, 0xa
je case.0x1008541e.0
cmp eax, 0xb
jmp 0x100854f9
movzx eax, al
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je case.0x1008541e.0
cmp eax, 3
je case.0x1008541e.0
cmp dword [ebp - 0x6d84], 0x5f
jmp 0x1008550b
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
cmp ecx, 0x10
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
mov edx, dword [ebp - 0x6d68]
jne 0x10083efd
test edi, edi
jle 0x100855ac
cmp ecx, 0x18b
jne 0x100855ac
dec edx
sub dword [ebp - 0x6d74], 0xc
mov dword [ebp - 0x6d68], edx
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
mov dword [ecx], eax
lea eax, [edi + 1]
mov dword [ecx + 4], eax
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d94
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0x6d68]
mov dword [ebp - 0x6db8], edi
test edi, edi
jle 0x10085632
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ebx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 2
mov dword [ebx], eax
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
mov ebx, dword [ebp - 0x6d90]
test ebx, ebx
jle 0x10083efd
push dword [ebp - 0x6d84]
call sym.glib_2.dll_g_unichar_type
movzx eax, al
add esp, 4
cmp dword [eax*4 + 0x100e1bf8], 2
je case.0x10083cf8.156
mov esi, dword [ebp - 0x6d88]
add esi, ebx
xor ebx, ebx
test edi, edi
jle 0x10085686
cmp dword [ebp - 0x6d7c], 0x19f
jne 0x10085686
dec dword [ebp - 0x6d68]
sub dword [ebp - 0x6d74], 0xc
cmp esi, dword [ebp - 0x6d98]
jae 0x100857e1
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jl 0x1008575c
test dl, 0x20
jne 0x100856bc
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x10085754
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x100856de
and edx, 0xf
shl edx, 6
or edx, ecx
mov edi, 3
jmp 0x10085754
and eax, 0x3f
test dl, 8
jne 0x100856fe
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x10085754
test dl, 4
jne 0x10085727
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
mov edi, 5
jmp 0x10085754
and edx, edi
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov edi, 6
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x2faff
ja 0x10085780
mov eax, edx
shr eax, 8
mov ecx, 0x2710
movzx eax, word [eax*2 + 0x100a2dc8]
cmp ax, cx
jl 0x100857a7
cwde
sub eax, ecx
jmp 0x100857bf
lea eax, [edx - 0xe0000]
cmp eax, 0x2ffff
ja 0x100857ba
shr eax, 8
mov ecx, 0x2710
movzx eax, word [eax*2 + 0x100ad878]
cmp ax, cx
jl 0x100857a7
cwde
sub eax, ecx
jmp 0x100857bf
movsx ecx, ax
movzx eax, dl
shl ecx, 8
movsx eax, byte [ecx + eax + 0x100a33c0]
jmp 0x100857bf
mov eax, 2
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 2
jne 0x100857db
add esi, edi
inc ebx
cmp esi, dword [ebp - 0x6d98]
jb 0x10085692
mov edi, dword [ebp - 0x6db8]
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
neg eax
mov dword [ecx], eax
lea eax, [edi + 1]
mov dword [ecx + 4], eax
mov dword [ecx + 8], ebx
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
mov edx, dword [edi + 4]
test edx, edx
jle 0x10085868
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov edi, dword [ebp - 0x6d74]
mov esi, dword [ebp - 0x6d80]
mov dword [edi + 4], 0
lea eax, [esi + 2]
mov dword [edi], eax
add edi, 0xc
mov dword [ebp - 0x6d74], edi
jmp 0x10085874
mov edi, dword [ebp - 0x6d74]
mov esi, dword [ebp - 0x6d80]
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
xor ecx, ecx
cmp ebx, 0xd
ja 0x100858c0
je 0x100858a5
cmp ebx, 0xa
je 0x100858f3
jbe case.0x10083cf8.156
cmp ebx, 0xc
jbe 0x100858e0
jmp case.0x10083cf8.156
mov eax, dword [ebp - 0x6d88]
inc eax
cmp eax, dword [ebp - 0x6d98]
jae 0x100858f3
cmp byte [eax], 0xa
jne 0x100858f3
mov ecx, 1
jmp 0x100858f3
cmp ebx, 0x85
je 0x100858e0
cmp ebx, 0x2027
jbe case.0x10083cf8.156
cmp ebx, 0x2029
ja case.0x10083cf8.156
mov eax, dword [ebp - 0x6d8c]
test dword [eax + 0x18], 0x800000
jne case.0x10083cf8.156
test edx, edx
jle 0x10085912
cmp dword [ebp - 0x6d7c], 0x1b3
jne 0x10085912
dec dword [ebp - 0x6d68]
sub edi, 0xc
mov dword [ebp - 0x6d74], edi
mov ebx, dword [ebp - 0x6d6c]
mov eax, ebx
inc ebx
mov dword [ebp - 0x6d6c], ebx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov edi, dword [ebp - 0x6d70]
neg esi
mov dword [edi + 8], ecx
mov ecx, edi
lea eax, [edx + 1]
add ecx, 0xc
mov dword [edi], esi
mov dword [edi + 4], eax
mov dword [ebp - 0x6d70], ecx
mov esi, ebx
jmp 0x10083d8e
mov edx, dword [edi + 4]
test edx, edx
jle 0x10085997
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov esi, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 2
mov dword [esi], eax
mov dword [esi + 4], 0
add esi, 0xc
mov dword [ebp - 0x6d74], esi
jmp 0x1008599d
mov esi, dword [ebp - 0x6d74]
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov edi, dword [ebp - 0x6d84]
cmp edi, 0x85
ja 0x10085a47
je 0x10085a56
cmp edi, 0xa
jb 0x100859d0
cmp edi, 0xd
jbe 0x10085a56
xor ecx, ecx
xor eax, eax
cmp ebx, 0x15
sete al
cmp ecx, eax
jne case.0x10083cf8.156
test edx, edx
jle 0x10085a01
cmp dword [ebp - 0x6d7c], 0x1db
jne 0x10085a01
dec dword [ebp - 0x6d68]
sub esi, 0xc
mov dword [ebp - 0x6d74], esi
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
neg eax
mov dword [ecx], eax
lea eax, [edx + 1]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
lea eax, [edi - 0x2028]
cmp eax, 1
ja 0x100859d0
mov ecx, 1
jmp 0x100859d2
mov edx, dword [edi + 4]
test edx, edx
jle 0x10085aa5
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov esi, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 2
mov dword [esi], eax
mov dword [esi + 4], 0
add esi, 0xc
mov dword [ebp - 0x6d74], esi
jmp 0x10085aab
mov esi, dword [ebp - 0x6d74]
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov edi, dword [ebp - 0x6d84]
cmp edi, 0x180e
ja 0x10085ae4
je 0x10085b12
cmp edi, 0xa0
ja 0x10085adc
je 0x10085b12
cmp edi, 9
je 0x10085b12
cmp edi, 0x20
jmp 0x10085b0c
cmp edi, 0x1680
jmp 0x10085b0c
cmp edi, 0x205f
ja 0x10085b06
je 0x10085b12
cmp edi, 0x2000
jb 0x10085b0e
cmp edi, 0x200a
jbe 0x10085b12
cmp edi, 0x202f
jmp 0x10085b0c
cmp edi, 0x3000
je 0x10085b12
xor ecx, ecx
jmp 0x10085b17
mov ecx, 1
xor eax, eax
cmp ebx, 0x13
sete al
cmp ecx, eax
jne case.0x10083cf8.156
test edx, edx
jle 0x10085a01
cmp dword [ebp - 0x6d7c], 0x1c7
jmp 0x100859f0
mov edi, 4
jmp 0x10085b47
xor edi, edi
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 4
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6d74], ecx
jle 0x10083efd
push dword [ebp - 0x6d84]
call sym.glib_2.dll_g_unichar_type
movzx ecx, byte [esi + 2]
add esp, 4
cmp ecx, 8
ja case.default.0x10085bab
jmp dword [ecx*4 + 0x10088900]
mov ecx, dword [ebp - 0x6d7c]
mov edx, 1
jmp 0x10085d09
cmp al, 9
je case.0x10085bab.0
cmp al, 5
je case.0x10085bab.0
cmp al, 8
je case.0x10085bab.0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x10085d09
movzx ecx, al
movzx eax, byte [esi + 3]
xor edx, edx
cmp dword [ecx*4 + 0x100e1bf8], eax
mov ecx, dword [ebp - 0x6d7c]
sete dl
jmp 0x10085d09
mov eax, dword [ebp - 0x6d84]
cmp eax, 0x2000
jae 0x10085c20
movzx eax, byte [eax + 0x100ab878]
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
cmp al, byte [esi + 3]
sete dl
jmp 0x10085d09
mov ecx, eax
call fcn.1005c3e0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
cmp al, byte [esi + 3]
sete dl
jmp 0x10085d09
movzx eax, al
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je case.0x10085bab.0
cmp eax, 3
je case.0x10085bab.0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x10085d09
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 6
je case.0x10085bab.0
mov eax, dword [ebp - 0x6d84]
cmp eax, 9
je case.0x10085bab.0
cmp eax, 0xa
je case.0x10085bab.0
cmp eax, 0xc
je case.0x10085bab.0
cmp eax, 0xd
je case.0x10085bab.0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x10085d09
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 6
je case.0x10085bab.0
mov eax, dword [ebp - 0x6d84]
cmp eax, 9
je case.0x10085bab.0
cmp eax, 0xa
je case.0x10085bab.0
cmp eax, 0xb
jmp 0x10085c86
movzx eax, al
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je case.0x10085bab.0
cmp eax, 3
je case.0x10085bab.0
cmp dword [ebp - 0x6d84], 0x5f
jmp 0x10085c98
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
cmp ecx, 0x10
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jne case.0x10083cf8.156
cmp ecx, 0x18a
je 0x10085d29
cmp ecx, 0x18c
jne 0x10085d3f
mov edx, dword [ebp - 0x6d68]
dec edx
sub dword [ebp - 0x6d74], 0xc
mov dword [ebp - 0x6d68], edx
jmp 0x10085d45
mov edx, dword [ebp - 0x6d68]
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
add eax, edi
mov ecx, dword [ebp - 0x6d70]
add ecx, 0xc
mov dword [ecx - 0xc], eax
mov dword [ecx - 8], 0
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d94
mov ebx, 2
jmp 0x10085d8f
xor ebx, ebx
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6da0], ebx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
mov esi, dword [ebp - 0x6d80]
mov edi, dword [ebp - 0x6d90]
lea eax, [esi + 2]
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
test edi, edi
jle 0x10083efd
push dword [ebp - 0x6d84]
call sym.glib_2.dll_g_unichar_type
movzx eax, al
add esp, 4
cmp dword [eax*4 + 0x100e1bf8], 2
je case.0x10083cf8.156
mov edx, dword [ebp - 0x6d88]
mov eax, dword [ebp - 0x6d7c]
add edx, edi
xor edi, edi
cmp eax, 0x19e
je 0x10085e1c
cmp eax, 0x1a0
jne 0x10085e29
dec dword [ebp - 0x6d68]
sub dword [ebp - 0x6d74], 0xc
cmp edx, dword [ebp - 0x6d98]
jae 0x10085f95
mov ebx, dword [ebp - 0x6d98]
jmp 0x10085e40
movzx eax, byte [edx]
mov esi, 1
cmp eax, 0xc0
jl 0x10085f17
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x10085e6e
and eax, 0x1f
shl eax, 6
mov esi, 2
jmp 0x10085f15
test al, 0x10
jne 0x10085e88
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
mov esi, 3
jmp 0x10085f0f
test al, 8
jne 0x10085eab
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
mov esi, 4
jmp 0x10085f0f
test al, 4
jne 0x10085eda
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
mov esi, 5
jmp 0x10085f0f
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
mov esi, 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x2faff
ja 0x10085f3e
mov ecx, eax
shr ecx, 8
movzx ecx, word [ecx*2 + 0x100a2dc8]
cmp cx, word [ebp - 0x6de4]
jl 0x10085f59
movsx eax, cx
sub eax, 0x2710
jmp 0x10085f71
lea ecx, [eax - 0xe0000]
cmp ecx, 0x2ffff
ja 0x10085f6c
shr ecx, 8
movzx ecx, word [ecx*2 + 0x100ad878]
jmp 0x10085f2b
movsx ecx, cx
movzx eax, al
shl ecx, 8
movsx eax, byte [ecx + eax + 0x100a33c0]
jmp 0x10085f71
mov eax, 2
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 2
jne 0x10085f89
add edx, esi
inc edi
cmp edx, ebx
jb 0x10085e40
mov ebx, dword [ebp - 0x6da0]
mov esi, dword [ebp - 0x6d80]
mov ecx, dword [ebp - 0x6d6c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d6c], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
lea eax, [ebx + esi]
mov esi, dword [ebp - 0x6d6c]
neg eax
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov dword [ecx + 8], edi
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
mov edx, 2
jmp 0x10085fe4
xor edx, edx
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov edi, dword [ebp - 0x6d74]
mov esi, dword [ebp - 0x6d80]
mov dword [edi + 4], 0
lea eax, [esi + 2]
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6d74], edi
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
xor ecx, ecx
cmp ebx, 0xd
ja 0x1008606c
je 0x10086051
cmp ebx, 0xa
je 0x1008609f
jbe case.0x10083cf8.156
cmp ebx, 0xc
jbe 0x1008608c
jmp case.0x10083cf8.156
mov eax, dword [ebp - 0x6d88]
inc eax
cmp eax, dword [ebp - 0x6d98]
jae 0x1008609f
cmp byte [eax], 0xa
jne 0x1008609f
mov ecx, 1
jmp 0x1008609f
cmp ebx, 0x85
je 0x1008608c
cmp ebx, 0x2027
jbe case.0x10083cf8.156
cmp ebx, 0x2029
ja case.0x10083cf8.156
mov eax, dword [ebp - 0x6d8c]
test dword [eax + 0x18], 0x800000
jne case.0x10083cf8.156
mov eax, dword [ebp - 0x6d7c]
cmp eax, 0x1b2
je 0x100860b3
cmp eax, 0x1b4
jne 0x100860c2
dec dword [ebp - 0x6d68]
sub edi, 0xc
mov dword [ebp - 0x6d74], edi
mov ebx, dword [ebp - 0x6d6c]
mov eax, ebx
inc ebx
mov dword [ebp - 0x6d6c], ebx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov edi, dword [ebp - 0x6d70]
lea eax, [edx + esi]
mov dword [edi + 8], ecx
neg eax
mov ecx, edi
add ecx, 0xc
mov dword [edi], eax
mov dword [edi + 4], 0
mov dword [ebp - 0x6d70], ecx
mov esi, ebx
jmp 0x10083d8e
mov edx, 2
jmp 0x1008610f
xor edx, edx
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
mov esi, dword [ebp - 0x6d80]
mov dword [ecx + 4], 0
lea eax, [esi + 2]
mov dword [ecx], eax
add ecx, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6d74], ecx
jle case.0x10083cf8.156
mov edi, dword [ebp - 0x6d84]
cmp edi, 0x85
ja 0x100861fb
je 0x1008620a
cmp edi, 0xa
jb 0x1008617e
cmp edi, 0xd
jbe 0x1008620a
xor ecx, ecx
xor eax, eax
cmp ebx, 0x15
sete al
cmp ecx, eax
jne case.0x10083cf8.156
mov eax, dword [ebp - 0x6d7c]
cmp eax, 0x1da
je 0x100861a4
cmp eax, 0x1dc
jne 0x100861b1
dec dword [ebp - 0x6d68]
sub dword [ebp - 0x6d74], 0xc
mov ecx, dword [ebp - 0x6d6c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d6c], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
lea eax, [edx + esi]
neg eax
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
lea eax, [edi - 0x2028]
cmp eax, 1
ja 0x1008617e
mov ecx, 1
jmp 0x10086180
mov edx, 2
jmp 0x1008621d
xor edx, edx
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
mov esi, dword [ebp - 0x6d80]
mov dword [ecx + 4], 0
lea eax, [esi + 2]
mov dword [ecx], eax
add ecx, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6d74], ecx
jle case.0x10083cf8.156
mov edi, dword [ebp - 0x6d84]
cmp edi, 0x180e
ja 0x10086292
je 0x100862c0
cmp edi, 0xa0
ja 0x1008628a
je 0x100862c0
cmp edi, 9
je 0x100862c0
cmp edi, 0x20
jmp 0x100862ba
cmp edi, 0x1680
jmp 0x100862ba
cmp edi, 0x205f
ja 0x100862b4
je 0x100862c0
cmp edi, 0x2000
jb 0x100862bc
cmp edi, 0x200a
jbe 0x100862c0
cmp edi, 0x202f
jmp 0x100862ba
cmp edi, 0x3000
je 0x100862c0
xor ecx, ecx
jmp 0x100862c5
mov ecx, 1
xor eax, eax
cmp ebx, 0x13
sete al
cmp ecx, eax
jne case.0x10083cf8.156
mov eax, dword [ebp - 0x6d7c]
cmp eax, 0x1c6
je 0x100861a4
cmp eax, 0x1c8
jmp 0x100861a2
mov edx, dword [ebp - 0x6d68]
cmp ecx, 0x189
je 0x10086334
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 6
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
cmp dword [ebp - 0x6d90], 0
mov edi, dword [edi + 4]
jle 0x10083efd
push dword [ebp - 0x6d84]
call sym.glib_2.dll_g_unichar_type
movzx ecx, byte [esi + 4]
add esp, 4
cmp ecx, 8
ja case.default.0x1008635f
jmp dword [ecx*4 + 0x10088924]
mov ecx, dword [ebp - 0x6d7c]
mov edx, 1
jmp 0x100864bd
cmp al, 9
je case.0x1008635f.0
cmp al, 5
je case.0x1008635f.0
cmp al, 8
je case.0x1008635f.0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x100864bd
movzx ecx, al
movzx eax, byte [esi + 5]
xor edx, edx
cmp dword [ecx*4 + 0x100e1bf8], eax
mov ecx, dword [ebp - 0x6d7c]
sete dl
jmp 0x100864bd
mov eax, dword [ebp - 0x6d84]
cmp eax, 0x2000
jae 0x100863d4
movzx eax, byte [eax + 0x100ab878]
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
cmp al, byte [esi + 5]
sete dl
jmp 0x100864bd
mov ecx, eax
call fcn.1005c3e0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
cmp al, byte [esi + 5]
sete dl
jmp 0x100864bd
movzx eax, al
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je case.0x1008635f.0
cmp eax, 3
je case.0x1008635f.0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x100864bd
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 6
je case.0x1008635f.0
mov eax, dword [ebp - 0x6d84]
cmp eax, 9
je case.0x1008635f.0
cmp eax, 0xa
je case.0x1008635f.0
cmp eax, 0xc
je case.0x1008635f.0
cmp eax, 0xd
je case.0x1008635f.0
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
jmp 0x100864bd
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 6
je case.0x1008635f.0
mov eax, dword [ebp - 0x6d84]
cmp eax, 9
je case.0x1008635f.0
cmp eax, 0xa
je case.0x1008635f.0
cmp eax, 0xb
jmp 0x1008643a
movzx eax, al
mov eax, dword [eax*4 + 0x100e1bf8]
cmp eax, 1
je case.0x1008635f.0
cmp eax, 3
je case.0x1008635f.0
cmp dword [ebp - 0x6d84], 0x5f
jmp 0x1008644c
mov ecx, dword [ebp - 0x6d7c]
xor edx, edx
cmp ecx, 0x10
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
mov edx, dword [ebp - 0x6d68]
jne 0x10083efd
cmp ecx, 0x18d
jne 0x100864e9
dec edx
sub dword [ebp - 0x6d74], 0xc
mov dword [ebp - 0x6d68], edx
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov esi, dword [ebp - 0x6d6c]
shl ecx, 8
or ecx, eax
inc edi
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp edi, ecx
jl 0x10086524
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
add eax, 6
jmp 0x10085d68
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
mov dword [ecx], eax
mov dword [ecx + 4], edi
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d94
mov edx, dword [ebp - 0x6d68]
cmp ecx, 0x19d
je 0x10086595
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ebx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 4
mov dword [ebx], eax
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
jmp 0x1008659b
mov ebx, dword [ebp - 0x6d74]
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0x6d90]
mov dword [ebp - 0x6db8], eax
test edi, edi
jle 0x10083efd
push dword [ebp - 0x6d84]
call sym.glib_2.dll_g_unichar_type
movzx eax, al
add esp, 4
cmp dword [eax*4 + 0x100e1bf8], 2
je case.0x10083cf8.156
add edi, dword [ebp - 0x6d88]
xor edx, edx
cmp dword [ebp - 0x6d7c], 0x1a1
mov dword [ebp - 0x6da0], edx
jne 0x100865fa
dec dword [ebp - 0x6d68]
sub ebx, 0xc
mov dword [ebp - 0x6d74], ebx
cmp edi, dword [ebp - 0x6d98]
jae 0x1008676e
jmp 0x10086610
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jl 0x100866da
test dl, 0x20
jne 0x1008663a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x100866d2
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x1008665c
and edx, 0xf
shl edx, 6
or edx, ecx
mov ebx, 3
jmp 0x100866d2
and eax, 0x3f
test dl, 8
jne 0x1008667c
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
mov ebx, 4
jmp 0x100866d2
test dl, 4
jne 0x100866a5
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
mov ebx, 5
jmp 0x100866d2
and edx, ebx
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
mov ebx, 6
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x2faff
ja 0x100866fe
mov eax, edx
shr eax, 8
mov ecx, 0x2710
movzx eax, word [eax*2 + 0x100a2dc8]
cmp ax, cx
jl 0x10086725
cwde
sub eax, ecx
jmp 0x1008673d
lea eax, [edx - 0xe0000]
cmp eax, 0x2ffff
ja 0x10086738
shr eax, 8
mov ecx, 0x2710
movzx eax, word [eax*2 + 0x100ad878]
cmp ax, cx
jl 0x10086725
cwde
sub eax, ecx
jmp 0x1008673d
movsx ecx, ax
movzx eax, dl
shl ecx, 8
movsx eax, byte [ecx + eax + 0x100a33c0]
jmp 0x1008673d
mov eax, 2
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 2
jne 0x10086760
inc dword [ebp - 0x6da0]
add edi, ebx
cmp edi, dword [ebp - 0x6d98]
jb 0x10086610
jmp 0x10086768
cmp edi, dword [ebp - 0x6d98]
jb 0x10086791
mov edx, dword [ebp - 0x6da0]
mov eax, dword [ebp - 0x6d8c]
mov edi, dword [ebp - 0x6dc4]
test dword [eax + 0x18], 0x8000000
mov eax, 1
cmovne edi, eax
mov dword [ebp - 0x6dc4], edi
jmp 0x10086797
mov edx, dword [ebp - 0x6da0]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov esi, dword [ebp - 0x6d6c]
mov ebx, dword [ebp - 0x6db8]
shl ecx, 8
or ecx, eax
inc ebx
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp ebx, ecx
jl 0x100867f5
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, 0xfffffffc
sub eax, dword [ebp - 0x6d80]
mov dword [ecx + 8], edx
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
neg eax
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edx
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
cmp ecx, 0x1b1
je 0x10086869
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ebx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 4
mov dword [ebx], eax
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
cmp dword [ebp - 0x6d90], 0
mov edx, dword [edi + 4]
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
xor edi, edi
cmp ebx, 0xd
ja 0x100868c4
je 0x100868a9
cmp ebx, 0xa
je 0x100868f7
jbe case.0x10083cf8.156
cmp ebx, 0xc
jbe 0x100868e4
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
mov eax, dword [ebp - 0x6d88]
inc eax
cmp eax, dword [ebp - 0x6d98]
jae 0x100868f7
cmp byte [eax], 0xa
jne 0x100868f7
mov edi, 1
jmp 0x100868f7
cmp ebx, 0x85
je 0x100868e4
cmp ebx, 0x2027
jbe case.0x10083cf8.156
cmp ebx, 0x2029
ja case.0x10083cf8.156
mov eax, dword [ebp - 0x6d8c]
test dword [eax + 0x18], 0x800000
jne case.0x10083cf8.156
cmp ecx, 0x1b5
jne 0x1008690c
dec dword [ebp - 0x6d68]
sub dword [ebp - 0x6d74], 0xc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov esi, dword [ebp - 0x6d6c]
shl ecx, 8
or ecx, eax
inc edx
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp edx, ecx
jl 0x10086965
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, 0xfffffffc
mov ecx, dword [ebp - 0x6d70]
sub eax, dword [ebp - 0x6d80]
add ecx, 0xc
mov dword [ecx - 0xc], eax
mov dword [ecx - 8], 0
mov dword [ecx - 4], edi
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
neg eax
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], edi
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
cmp ecx, 0x1d9
je 0x100869d9
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 4
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
cmp dword [ebp - 0x6d90], 0
mov edx, dword [edi + 4]
jle case.0x10083cf8.156
mov edi, dword [ebp - 0x6d84]
cmp edi, 0x85
ja 0x10086a97
je 0x10086aa6
cmp edi, 0xa
jb 0x10086a0f
cmp edi, 0xd
jbe 0x10086aa6
xor ecx, ecx
xor eax, eax
cmp ebx, 0x15
sete al
cmp ecx, eax
jne case.0x10083cf8.156
cmp dword [ebp - 0x6d7c], 0x1dd
jne 0x10086a3a
dec dword [ebp - 0x6d68]
sub dword [ebp - 0x6d74], 0xc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov esi, dword [ebp - 0x6d6c]
shl ecx, 8
or ecx, eax
inc edx
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp edx, ecx
jl 0x10086ab0
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, 0xfffffffc
sub eax, dword [ebp - 0x6d80]
add ecx, 0xc
mov dword [ecx - 0xc], eax
mov dword [ecx - 8], 0
mov dword [ecx - 4], 0
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
lea eax, [edi - 0x2028]
cmp eax, 1
ja 0x10086a0f
mov ecx, 1
jmp 0x10086a11
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
neg eax
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
cmp ecx, 0x1c5
je 0x10086b28
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
add eax, 4
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
cmp dword [ebp - 0x6d90], 0
mov edx, dword [edi + 4]
jle case.0x10083cf8.156
mov edi, dword [ebp - 0x6d84]
cmp edi, 0x180e
ja 0x10086b64
je 0x10086b92
cmp edi, 0xa0
ja 0x10086b5c
je 0x10086b92
cmp edi, 9
je 0x10086b92
cmp edi, 0x20
jmp 0x10086b8c
cmp edi, 0x1680
jmp 0x10086b8c
cmp edi, 0x205f
ja 0x10086b86
je 0x10086b92
cmp edi, 0x2000
jb 0x10086b8e
cmp edi, 0x200a
jbe 0x10086b92
cmp edi, 0x202f
jmp 0x10086b8c
cmp edi, 0x3000
je 0x10086b92
xor ecx, ecx
jmp 0x10086b97
mov ecx, 1
xor eax, eax
cmp ebx, 0x13
sete al
cmp ecx, eax
jne case.0x10083cf8.156
cmp dword [ebp - 0x6d7c], 0x1c9
jmp 0x10086a2b
cmp dword [ebp - 0x6d90], 0
mov esi, dword [ebp - 0x6d6c]
jle 0x10083d88
cmp dword [ebp - 0x6d84], ebx
jne 0x10083d88
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
inc eax
add eax, edx
jmp 0x10084347
cmp dword [ebp - 0x6d90], 0
je case.0x10083cf8.156
cmp dword [ebp - 0x6d94], 0
je 0x10086c5a
mov edi, dword [ebp - 0x6d84]
cmp edi, ebx
jne 0x10086c20
mov esi, dword [ebp - 0x6d6c]
jmp 0x10086bd5
cmp edi, 0x80
jae 0x10086c40
mov eax, dword [ebp - 0x6da4]
mov esi, dword [ebp - 0x6d6c]
movzx eax, byte [edi + eax + 0x100]
cmp ebx, eax
jmp 0x10086bcf
mov ecx, edi
call fcn.10098e80
mov edx, dword [ebp - 0x6db4]
mov esi, dword [ebp - 0x6d6c]
cmp ebx, eax
jmp 0x10086bcf
mov ecx, dword [ebp - 0x6da4]
mov eax, dword [ebp - 0x6d84]
mov esi, dword [ebp - 0x6d6c]
mov al, byte [eax + ecx]
cmp al, byte [ebx + ecx]
jne 0x10083d88
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
add eax, 2
jmp 0x10084347
mov ebx, dword [ebp - 0x6d90]
test ebx, ebx
jle case.0x10083cf8.156
push dword [ebp - 0x6d84]
call sym.glib_2.dll_g_unichar_type
movzx eax, al
add esp, 4
cmp dword [eax*4 + 0x100e1bf8], 2
je case.0x10083cf8.156
mov edx, dword [ebp - 0x6d88]
add edx, ebx
xor edi, edi
cmp edx, dword [ebp - 0x6d98]
jae 0x10086e3f
mov edi, edi
movzx ebx, byte [edx]
mov esi, 1
mov dword [ebp - 0x6d84], ebx
cmp ebx, 0xc0
jb 0x10086db6
test bl, 0x20
jne 0x10086d10
movzx eax, byte [edx + 1]
and ebx, 0x1f
mov esi, 2
jmp 0x10086da8
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x10086d32
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov esi, 3
jmp 0x10086da8
and eax, 0x3f
test bl, 8
jne 0x10086d52
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
mov esi, 4
jmp 0x10086da8
test bl, 4
jne 0x10086d7b
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
mov esi, 5
jmp 0x10086da8
and ebx, esi
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
mov esi, 6
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [ebp - 0x6d84], ebx
cmp ebx, 0x2faff
ja 0x10086dda
mov eax, ebx
shr eax, 8
mov ecx, 0x2710
movzx eax, word [eax*2 + 0x100a2dc8]
cmp ax, cx
jl 0x10086e01
cwde
sub eax, ecx
jmp 0x10086e19
lea eax, [ebx - 0xe0000]
cmp eax, 0x2ffff
ja 0x10086e14
shr eax, 8
mov ecx, 0x2710
movzx eax, word [eax*2 + 0x100ad878]
cmp ax, cx
jl 0x10086e01
cwde
sub eax, ecx
jmp 0x10086e19
movsx ecx, ax
movzx eax, bl
shl ecx, 8
movsx eax, byte [ecx + eax + 0x100a33c0]
jmp 0x10086e19
mov eax, 2
movzx eax, al
cmp dword [eax*4 + 0x100e1bf8], 2
jne 0x10086e37
add edx, esi
inc edi
cmp edx, dword [ebp - 0x6d98]
jb 0x10086ce0
jmp 0x10086e3f
cmp edx, dword [ebp - 0x6d98]
jb 0x10086e60
mov eax, dword [ebp - 0x6d8c]
mov ecx, 1
test dword [eax + 0x18], 0x8000000
mov eax, dword [ebp - 0x6dc4]
cmovne eax, ecx
mov dword [ebp - 0x6dc4], eax
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
or eax, 0xffffffff
jmp 0x1008693e
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
cmp ebx, 0xd
ja 0x10086f45
je 0x10086eca
cmp ebx, 0xa
je 0x10084325
jbe case.0x10083cf8.156
cmp ebx, 0xc
jbe 0x10086f5c
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
mov eax, dword [ebp - 0x6d88]
mov esi, dword [ebp - 0x6d6c]
inc eax
cmp eax, dword [ebp - 0x6d98]
jb 0x10086f35
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
inc eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x6d8c]
mov dword [ecx + 4], 0
add ecx, 0xc
test dword [eax + 0x18], 0x8000000
mov dword [ebp - 0x6d70], ecx
je 0x10083d8e
mov dword [ebp - 0x6dc4], 1
jmp 0x10083d8e
cmp byte [eax], 0xa
mov eax, esi
jne 0x1008432d
jmp 0x100844f8
cmp ebx, 0x85
je 0x10086f5c
lea eax, [ebx - 0x2028]
cmp eax, 1
ja case.0x10083cf8.156
mov eax, dword [ebp - 0x6d8c]
test dword [eax + 0x18], 0x800000
jmp 0x1008431f
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
cmp ebx, 0x85
ja 0x10086fa6
je case.0x10083cf8.156
cmp ebx, 0xa
jb 0x10084325
cmp ebx, 0xd
jbe case.0x10083cf8.156
jmp 0x10084325
lea eax, [ebx - 0x2028]
cmp eax, 1
jbe case.0x10083cf8.156
jmp 0x10084325
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
cmp ebx, 0x85
ja 0x10086ffe
je 0x10084325
cmp ebx, 0xa
jb case.0x10083cf8.156
cmp ebx, 0xd
jbe 0x10084325
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
lea eax, [ebx - 0x2028]
cmp eax, 1
ja case.0x10083cf8.156
jmp 0x10084325
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
cmp ebx, 0x180e
ja 0x10087069
je case.0x10083cf8.156
cmp ebx, 0xa0
ja 0x10087058
je case.0x10083cf8.156
cmp ebx, 9
je case.0x10083cf8.156
cmp ebx, 0x20
je case.0x10083cf8.156
jmp 0x10084325
cmp ebx, 0x1680
je case.0x10083cf8.156
jmp 0x10084325
cmp ebx, 0x205f
ja 0x100870a0
je case.0x10083cf8.156
cmp ebx, 0x2000
jb 0x10084325
cmp ebx, 0x200a
jbe case.0x10083cf8.156
cmp ebx, 0x202f
je case.0x10083cf8.156
jmp 0x10084325
cmp ebx, 0x3000
jmp 0x1008472f
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
mov ebx, dword [ebp - 0x6d84]
cmp ebx, 0x180e
ja 0x1008711a
je 0x10084325
cmp ebx, 0xa0
ja 0x100870fd
je 0x10084325
cmp ebx, 9
je 0x10084325
cmp ebx, 0x20
je 0x10084325
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
cmp ebx, 0x1680
je 0x10084325
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
cmp ebx, 0x205f
ja 0x1008715d
je 0x10084325
cmp ebx, 0x2000
jb case.0x10083cf8.156
cmp ebx, 0x200a
jbe 0x10084325
cmp ebx, 0x202f
je 0x10084325
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
cmp ebx, 0x3000
jmp 0x1008431f
cmp dword [ebp - 0x6d90], 0
mov esi, dword [ebp - 0x6d6c]
jle 0x10083d88
cmp dword [ebp - 0x6d84], ebx
je 0x10083d88
jmp 0x10086bd5
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
cmp dword [ebp - 0x6d94], 0
je 0x100871d9
cmp ebx, 0x80
jb 0x100871d9
push ebx
call sym.glib_2.dll_g_unichar_toupper
mov ecx, eax
add esp, 4
cmp ecx, ebx
je 0x100871c1
mov edx, dword [ebp - 0x6db4]
jmp 0x100871e7
push ebx
call sym.glib_2.dll_g_unichar_tolower
mov edx, dword [ebp - 0x6db4]
add esp, 4
mov ecx, ebx
cmp eax, ebx
cmovne ecx, eax
jmp 0x100871e7
mov eax, dword [ebp - 0x6da4]
movzx ecx, byte [ebx + eax + 0x100]
mov edi, dword [ebp - 0x6d84]
mov esi, dword [ebp - 0x6d6c]
cmp edi, ebx
je 0x10083d88
cmp edi, ecx
je 0x10083d88
jmp 0x10086bd5
sub ecx, 0xd
mov dword [ebp - 0x6da0], 1
mov dword [ebp - 0x6d7c], ecx
mov esi, dword [edi + 4]
test esi, esi
jle 0x1008725e
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
mov ecx, dword [ebp - 0x6d74]
inc eax
add eax, edx
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
cmp dword [ebp - 0x6d90], 0
jle case.0x10083cf8.156
or ecx, 0xffffffff
cmp dword [ebp - 0x6da0], 0
je 0x100872b7
cmp dword [ebp - 0x6d94], 0
je 0x100872a9
cmp ebx, 0x80
jb 0x100872a9
push ebx
call sym.glib_2.dll_g_unichar_toupper
mov ecx, eax
add esp, 4
cmp ecx, ebx
jne 0x100872b7
push ebx
call sym.glib_2.dll_g_unichar_tolower
add esp, 4
mov ecx, ebx
cmp eax, ebx
cmovne ecx, eax
jmp 0x100872b7
mov eax, dword [ebp - 0x6da4]
movzx ecx, byte [ebx + eax + 0x100]
mov edi, dword [ebp - 0x6d84]
cmp edi, ebx
je 0x100872c9
cmp edi, ecx
je 0x100872c9
xor ecx, ecx
jmp 0x100872ce
mov ecx, 1
mov edx, dword [ebp - 0x6d7c]
xor eax, eax
cmp edx, 0x3b
setl al
cmp ecx, eax
jne case.0x10083cf8.156
test esi, esi
jle 0x100872fd
cmp edx, 0x2b
je 0x100872f2
cmp edx, 0x45
jne 0x100872fd
mov edx, dword [ebp - 0x6d68]
jmp 0x10084c1b
mov edx, dword [ebp - 0x6d68]
jmp 0x10084c29
sub ecx, 0xd
mov edi, 1
mov dword [ebp - 0x6d7c], ecx
jmp 0x1008731e
mov edi, dword [ebp - 0x6da0]
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov esi, dword [ebp - 0x6d80]
mov ecx, dword [ebp - 0x6d74]
inc esi
add esi, edx
mov dword [ecx], esi
mov dword [ecx + 4], 0
add ecx, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6d74], ecx
jle case.0x10083cf8.156
or ecx, 0xffffffff
test edi, edi
je 0x100873ae
cmp dword [ebp - 0x6d94], 0
je 0x100873a0
cmp ebx, 0x80
jb 0x100873a0
push ebx
call sym.glib_2.dll_g_unichar_toupper
mov ecx, eax
add esp, 4
cmp ecx, ebx
jne 0x100873ae
push ebx
call sym.glib_2.dll_g_unichar_tolower
add esp, 4
mov ecx, ebx
cmp eax, ebx
cmovne ecx, eax
jmp 0x100873ae
mov eax, dword [ebp - 0x6da4]
movzx ecx, byte [ebx + eax + 0x100]
mov edi, dword [ebp - 0x6d84]
cmp edi, ebx
je 0x100873c0
cmp edi, ecx
je 0x100873c0
xor ecx, ecx
jmp 0x100873c5
mov ecx, 1
mov edx, dword [ebp - 0x6d7c]
xor eax, eax
cmp edx, 0x3b
setl al
cmp ecx, eax
jne case.0x10083cf8.156
cmp edx, 0x2c
je 0x100873e5
cmp edx, 0x46
jne 0x100873fb
mov edx, dword [ebp - 0x6d68]
dec edx
sub dword [ebp - 0x6d74], 0xc
mov dword [ebp - 0x6d68], edx
jmp 0x10087401
mov edx, dword [ebp - 0x6d68]
mov ecx, dword [ebp - 0x6d6c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d6c], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
add ecx, 0xc
mov dword [ecx - 0xc], esi
mov esi, dword [ebp - 0x6d6c]
mov dword [ecx - 8], 0
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d94
sub ecx, 0xd
mov esi, 1
mov dword [ebp - 0x6d7c], ecx
jmp 0x10087456
mov esi, dword [ebp - 0x6da0]
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
mov ecx, dword [ebp - 0x6d74]
inc eax
add eax, edx
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6d74], ecx
jle case.0x10083cf8.156
or ecx, 0xffffffff
test esi, esi
je 0x100874e6
cmp dword [ebp - 0x6d94], 0
je 0x100874d8
cmp ebx, 0x80
jb 0x100874d8
push ebx
call sym.glib_2.dll_g_unichar_toupper
mov ecx, eax
add esp, 4
cmp ecx, ebx
jne 0x100874e6
push ebx
call sym.glib_2.dll_g_unichar_tolower
add esp, 4
mov ecx, ebx
cmp eax, ebx
cmovne ecx, eax
jmp 0x100874e6
mov eax, dword [ebp - 0x6da4]
movzx ecx, byte [ebx + eax + 0x100]
mov edi, dword [ebp - 0x6d84]
cmp edi, ebx
je 0x100874f8
cmp edi, ecx
je 0x100874f8
xor ecx, ecx
jmp 0x100874fd
mov ecx, 1
mov edx, dword [ebp - 0x6d7c]
xor eax, eax
cmp edx, 0x3b
setl al
cmp ecx, eax
jne case.0x10083cf8.156
cmp edx, 0x2a
je 0x1008751d
cmp edx, 0x44
jne 0x10087533
mov edx, dword [ebp - 0x6d68]
dec edx
sub dword [ebp - 0x6d74], 0xc
mov dword [ebp - 0x6d68], edx
jmp 0x10087539
mov edx, dword [ebp - 0x6d68]
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d94
sub ecx, 0xd
mov eax, 1
mov dword [ebp - 0x6d7c], ecx
jmp 0x1008758d
mov eax, dword [ebp - 0x6da0]
cmp dword [ebp - 0x6d90], 0
mov edi, dword [edi + 4]
jle case.0x10083cf8.156
or ecx, 0xffffffff
test eax, eax
je 0x100875f2
cmp dword [ebp - 0x6d94], 0
je 0x100875e4
cmp ebx, 0x80
jb 0x100875e4
push ebx
call sym.glib_2.dll_g_unichar_toupper
mov ecx, eax
add esp, 4
cmp ecx, ebx
je 0x100875cc
mov edx, dword [ebp - 0x6db4]
jmp 0x100875f2
push ebx
call sym.glib_2.dll_g_unichar_tolower
mov edx, dword [ebp - 0x6db4]
add esp, 4
mov ecx, ebx
cmp eax, ebx
cmovne ecx, eax
jmp 0x100875f2
mov eax, dword [ebp - 0x6da4]
movzx ecx, byte [ebx + eax + 0x100]
mov eax, dword [ebp - 0x6d84]
cmp eax, ebx
je 0x10087604
cmp eax, ecx
je 0x10087604
xor ecx, ecx
jmp 0x10087609
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x6d7c], 0x3b
setl al
cmp ecx, eax
jne case.0x10083cf8.156
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov esi, dword [ebp - 0x6d6c]
shl ecx, 8
or ecx, eax
inc edi
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp edi, ecx
jl 0x10085196
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
add eax, 3
add eax, edx
jmp 0x10084347
sub ecx, 0xd
mov dword [ebp - 0x6da0], 1
mov dword [ebp - 0x6d7c], ecx
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
mov ecx, dword [ebp - 0x6d74]
add eax, 3
add edx, eax
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov edi, dword [edi + 4]
add ecx, 0xc
cmp dword [ebp - 0x6d90], 0
mov dword [ebp - 0x6db4], edx
mov dword [ebp - 0x6d74], ecx
jle case.0x10083cf8.156
or ecx, 0xffffffff
cmp dword [ebp - 0x6da0], 0
je 0x1008771f
cmp dword [ebp - 0x6d94], 0
je 0x10087711
cmp ebx, 0x80
jb 0x10087711
push ebx
call sym.glib_2.dll_g_unichar_toupper
mov ecx, eax
add esp, 4
cmp ecx, ebx
je 0x100876f9
mov edx, dword [ebp - 0x6db4]
jmp 0x1008771f
push ebx
call sym.glib_2.dll_g_unichar_tolower
mov edx, dword [ebp - 0x6db4]
add esp, 4
mov ecx, ebx
cmp eax, ebx
cmovne ecx, eax
jmp 0x1008771f
mov eax, dword [ebp - 0x6da4]
movzx ecx, byte [ebx + eax + 0x100]
mov eax, dword [ebp - 0x6d84]
cmp eax, ebx
je 0x10087731
cmp eax, ecx
je 0x10087731
xor ecx, ecx
jmp 0x10087736
mov ecx, 1
mov ebx, dword [ebp - 0x6d7c]
xor eax, eax
cmp ebx, 0x3b
setl al
cmp ecx, eax
jne case.0x10083cf8.156
cmp ebx, 0x2d
je 0x10085357
cmp ebx, 0x47
jmp 0x10085355
xor edx, edx
cmp ecx, 0x6c
je 0x100877a4
lea edi, [esi + 0x21]
cmp dword [ebp - 0x6d90], edx
jle 0x100877cf
mov ebx, dword [ebp - 0x6d84]
cmp ebx, 0xff
jbe 0x10087785
cmp ecx, 0x6b
sete dl
jmp 0x100877cf
mov ecx, ebx
and ecx, 7
mov edx, 1
shl edx, cl
mov eax, ebx
shr eax, 3
test byte [eax + esi + 1], dl
mov edx, 0
setne dl
jmp 0x100877cf
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
add edi, esi
cmp dword [ebp - 0x6d90], edx
jle 0x100877cf
push ecx
mov ecx, dword [ebp - 0x6d84]
lea edx, [esi + 3]
call fcn.100991e0
add esp, 4
mov edx, eax
movzx ecx, byte [edi]
mov esi, edi
sub esi, dword [ebp - 0x6da8]
add ecx, 0xffffff9e
cmp ecx, 7
ja case.default.0x100877e6
jmp dword [ecx*4 + 0x10088948]
mov ecx, dword [ebp - 0x6d68]
mov edi, dword [ebp - 0x6d78]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, edi
jge 0x1008856f
mov ebx, dword [ebp - 0x6d74]
lea eax, [esi + 1]
mov esi, dword [ebp - 0x6d6c]
mov dword [ebx], eax
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
test edx, edx
je 0x10083d88
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, edi
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
jmp 0x10084347
mov ebx, dword [ebp - 0x6db8]
mov edi, dword [ebp - 0x6d78]
mov ecx, dword [ebx + 4]
test ecx, ecx
jle 0x10087894
mov ebx, dword [ebp - 0x6d68]
mov eax, ebx
inc ebx
mov dword [ebp - 0x6d68], ebx
cmp eax, edi
jge 0x1008856f
mov ebx, dword [ebp - 0x6d74]
lea eax, [esi + 1]
mov dword [ebx], eax
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
mov esi, dword [ebp - 0x6d6c]
test edx, edx
je 0x10083d88
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, edi
jge 0x1008856f
mov edi, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
mov dword [edi], eax
lea eax, [ecx + 1]
mov ecx, edi
add ecx, 0xc
mov dword [ecx - 8], eax
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
mov ecx, dword [ebp - 0x6d68]
mov edi, dword [ebp - 0x6d78]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, edi
jge 0x1008856f
mov ebx, dword [ebp - 0x6d74]
inc esi
mov dword [ebx], esi
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
test edx, edx
je case.0x10083cf8.156
mov ecx, dword [ebp - 0x6d6c]
mov eax, ecx
inc ecx
cmp eax, edi
mov dword [ebp - 0x6d6c], ecx
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
add ecx, 0xc
mov dword [ecx - 0xc], esi
mov esi, dword [ebp - 0x6d6c]
mov dword [ecx - 8], 0
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
mov ebx, dword [ebp - 0x6db8]
shl ecx, 8
mov ebx, dword [ebx + 4]
or ecx, eax
cmp ebx, ecx
jl 0x100879a0
mov ecx, dword [ebp - 0x6d68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d68], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
lea eax, [esi + 5]
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
test edx, edx
je case.0x10083cf8.156
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl ecx, 8
or ecx, eax
inc ebx
cmp ebx, ecx
jl 0x100879ff
test ecx, ecx
je 0x100879ff
mov ecx, dword [ebp - 0x6d6c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x6d6c], ecx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
lea eax, [esi + 5]
mov esi, dword [ebp - 0x6d6c]
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6d80]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d8e
test edx, edx
je case.0x10083cf8.156
mov ecx, dword [ebp - 0x6d6c]
mov eax, ecx
inc ecx
cmp eax, dword [ebp - 0x6d78]
jmp 0x10087920
inc dword [ebp - 0x6de0]
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
add edi, esi
cmp byte [edi], 0x71
jne 0x10087a94
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x71
je 0x10087a80
push dword [ebp + 0x20]
mov ebx, dword [ebp - 0x6d88]
mov ecx, dword [ebp - 0x6d8c]
push 0x3e8
lea eax, [ebp - 0xfa4]
push eax
push 2
lea eax, [ebp - 0x6e70]
push eax
mov eax, ebx
sub eax, dword [ebp - 0x6d9c]
mov edx, esi
push eax
push ebx
call fcn.100834d0
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffff0
je case.0x10083cf8.3
mov eax, dword [ebp - 0x6d7c]
cmp eax, 0x77
je 0x10087aeb
cmp eax, 0x79
je 0x10087aeb
xor ecx, ecx
jmp 0x10087af0
mov ecx, 1
xor eax, eax
test edx, edx
setns al
cmp eax, ecx
jne 0x10088456
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
sub edi, dword [ebp - 0x6da8]
mov ebx, dword [ebp - 0x6d74]
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
add edi, 3
mov dword [ebx], edi
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
jmp 0x10083d94
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
cmp byte [esi + 3], 0x70
jne 0x10087c37
mov edx, dword [0x10101400]
test edx, edx
je 0x10087c34
movzx eax, byte [esi + 4]
mov edi, dword [ebp - 0x6d9c]
movzx ecx, byte [esi + 5]
mov dword [ebp - 0x6e30], eax
mov eax, dword [ebp - 0x6dd4]
mov dword [ebp - 0x6e2c], eax
mov eax, dword [ebp - 0x6d98]
sub eax, edi
mov dword [ebp - 0x6e24], eax
mov eax, dword [ebp - 0x6dac]
sub eax, edi
mov dword [ebp - 0x6e20], eax
mov eax, dword [ebp - 0x6d88]
sub eax, edi
mov dword [ebp - 0x6e1c], eax
movzx eax, byte [esi + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 8]
mov dword [ebp - 0x6e0c], ecx
movzx ecx, byte [esi + 7]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x6d8c]
mov dword [ebp - 0x6e34], 1
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x6e10], eax
lea eax, [ebp - 0x6e34]
push eax
mov dword [ebp - 0x6e28], edi
mov dword [ebp - 0x6e08], ecx
mov dword [ebp - 0x6e18], 1
mov dword [ebp - 0x6e14], 0xffffffff
mov dword [ebp - 0x6e04], 0
call edx
add esp, 4
test eax, eax
js 0x10088574
jg 0x10088456
add esi, 6
movzx edi, byte [esi + 3]
lea edx, [esi + 3]
cmp edi, 0x87
je 0x10088474
cmp edi, 0x88
je 0x10088474
cmp edi, 0x8b
jne 0x10087cad
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
add eax, 3
add eax, ebx
mov ebx, dword [ebp - 0x6d74]
mov dword [ebx], eax
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
jmp 0x10083d94
cmp edi, 0x89
je 0x10087d8b
cmp edi, 0x8a
je 0x10087d8b
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
cmp byte [esi], 0x71
jne 0x10087cf4
lea esp, [esp]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x71
je 0x10087ce0
push dword [ebp + 0x20]
mov ecx, dword [ebp - 0x6d88]
push 0x3e8
lea eax, [ebp - 0x2ee4]
push eax
push 0x3e8
lea eax, [ebp - 0x3e84]
push eax
mov eax, ecx
sub eax, dword [ebp - 0x6d9c]
push eax
push ecx
mov ecx, dword [ebp - 0x6d8c]
call fcn.100834d0
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffff0
je case.0x10083cf8.3
cmp edi, 0x77
je 0x10087d46
cmp edi, 0x79
je 0x10087d46
xor ecx, ecx
jmp 0x10087d4b
mov ecx, 1
xor eax, eax
test edx, edx
mov edx, dword [ebp - 0x6d68]
setns al
cmp eax, ecx
mov eax, edx
jne 0x10087c66
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
sub esi, dword [ebp - 0x6da8]
mov ebx, dword [ebp - 0x6d74]
add esi, 3
mov dword [ebx], esi
jmp 0x10087c8c
movzx ecx, byte [esi + 4]
movzx eax, byte [esi + 5]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
jne 0x10088474
mov eax, dword [ebp - 0x6d8c]
mov edx, dword [ebp - 0x6d68]
cmp dword [eax + 0x30], 0
mov eax, edx
je 0x10087c66
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov eax, dword [ebp - 0x6d80]
add eax, 6
jmp 0x10087c84
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebx, dword [ebp - 0x6d8c]
shl edx, 8
or edx, eax
add edx, dword [ebp - 0x6da8]
cmp edx, dword [ebx]
jne 0x10087dfe
xor ecx, ecx
jmp 0x10087e0b
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov esi, dword [ebx + 0x30]
mov eax, esi
test eax, eax
je 0x10087e2e
cmp ecx, dword [eax + 4]
jne 0x10087e28
mov edi, dword [ebp - 0x6d88]
cmp edi, dword [eax + 8]
je 0x1008848a
mov eax, dword [eax]
test eax, eax
jne 0x10087e14
push dword [ebp + 0x20]
mov edi, dword [ebp - 0x6d88]
lea eax, [ebp - 0x6df8]
mov dword [ebx + 0x30], eax
push 0x3e8
lea eax, [ebp - 0x4e24]
push eax
push 0x3e8
lea eax, [ebp - 0x5dc4]
push eax
mov dword [ebp - 0x6df8], esi
mov esi, dword [ebp - 0x6d9c]
mov eax, edi
sub eax, esi
push eax
mov dword [ebp - 0x6df4], ecx
push edi
mov ecx, ebx
mov dword [ebp - 0x6df0], edi
call fcn.100834d0
mov ecx, dword [ebp - 0x6df8]
add esp, 0x1c
mov dword [ebx + 0x30], ecx
test eax, eax
je 0x100884a0
jle 0x10087f96
lea edi, [eax*2 - 2]
test edi, edi
js 0x10088456
mov ebx, dword [ebp - 0x6d80]
jmp 0x10087eb6
mov esi, dword [ebp - 0x6d9c]
mov eax, dword [ebp + edi*4 - 0x5dc0]
mov ecx, dword [ebp + edi*4 - 0x5dc4]
mov edx, eax
sub edx, ecx
cmp dword [ebp - 0x6d94], 0
je 0x10087eee
add ecx, esi
add esi, eax
cmp ecx, esi
jae 0x10087eee
lea esp, [esp]
mov al, byte [ecx]
and al, 0xc0
inc ecx
cmp al, 0x80
jne 0x10087eea
dec edx
cmp ecx, esi
jb 0x10087ee0
test edx, edx
jle 0x10087f3a
mov esi, dword [ebp - 0x6d6c]
mov eax, esi
inc esi
mov dword [ebp - 0x6d6c], esi
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, 0xfffffffd
sub eax, ebx
mov dword [ecx], eax
lea eax, [edx - 1]
mov edx, dword [ebp - 0x6d68]
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
jmp 0x10087f88
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d74]
mov eax, dword [ebp - 0x6d80]
mov ebx, dword [ebp - 0x6d80]
mov esi, dword [ebp - 0x6d6c]
add eax, 3
mov dword [ecx], eax
mov dword [ecx + 4], 0
add ecx, 0xc
mov dword [ebp - 0x6d74], ecx
mov ecx, dword [ebp - 0x6d70]
sub edi, 2
jns 0x10087eb0
jmp 0x10083d94
cmp eax, 0xffffffff
jne 0x10088574
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
mov edx, dword [ebp - 0x6d88]
mov edi, edx
cmp ecx, 0x8e
jne 0x10087fcd
mov dword [ebp - 0x6db8], 1
inc esi
jmp 0x10087fd7
mov dword [ebp - 0x6db8], 0
push dword [ebp + 0x20]
lea ecx, [ebp - 0x1f44]
push 0x3e8
push ecx
mov eax, edx
sub eax, dword [ebp - 0x6d9c]
push 2
lea ecx, [ebp - 0x6dec]
push ecx
mov ecx, dword [ebp - 0x6d8c]
push eax
push edx
mov edx, esi
xor ebx, ebx
mov dword [ebp - 0x6da0], eax
call fcn.100834d0
add esp, 0x1c
test eax, eax
js 0x10088064
jmp 0x10088020
mov eax, dword [ebp - 0x6de8]
sub eax, dword [ebp - 0x6dec]
je 0x1008806d
push dword [ebp + 0x20]
mov ecx, dword [ebp - 0x6d8c]
add edi, eax
push 0x3e8
lea eax, [ebp - 0x1f44]
push eax
push 2
lea eax, [ebp - 0x6dec]
push eax
push dword [ebp - 0x6da0]
mov edx, esi
push edi
inc ebx
call fcn.100834d0
add esp, 0x1c
test eax, eax
jns 0x10088020
cmp eax, 0xffffffff
jne 0x10088574
test ebx, ebx
jg 0x10088080
cmp dword [ebp - 0x6db8], 0
je 0x10088456
mov edi, edi
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x71
je 0x10088080
sub esi, dword [ebp - 0x6da8]
mov eax, dword [ebp - 0x6dd0]
mov edx, dword [ebp - 0x6d68]
mov ebx, dword [ebp - 0x6d6c]
inc eax
add esi, 3
cmp eax, edx
jl 0x100880fc
test ebx, ebx
jne 0x100880fc
mov eax, dword [ebp - 0x6d78]
mov dword [ebp - 0x6d88], edi
mov dword [ebp - 0x6d90], ebx
mov dword [ebp - 0x6d6c], 1
test eax, eax
jle 0x1008856f
mov ecx, dword [ebp - 0x6d70]
add ecx, 0xc
mov dword [ecx - 0xc], esi
mov esi, dword [ebp - 0x6d6c]
mov dword [ecx - 8], ebx
mov dword [ebp - 0x6d70], ecx
jmp 0x10083d94
mov eax, dword [ebp - 0x6d88]
mov edx, edi
sub edx, eax
cmp dword [ebp - 0x6d94], 0
mov ecx, eax
je 0x10088123
cmp eax, edi
jae 0x10088123
mov al, byte [ecx]
and al, 0xc0
inc ecx
cmp al, 0x80
jne 0x1008811f
dec edx
cmp ecx, edi
jb 0x10088115
mov eax, ebx
inc ebx
mov dword [ebp - 0x6d6c], ebx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
neg esi
lea eax, [edx - 1]
mov dword [ecx], esi
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
mov esi, ebx
jmp 0x10083d8e
push dword [ebp + 0x20]
mov ebx, dword [ebp - 0x6d88]
mov ecx, dword [ebp - 0x6d8c]
push 0x3e8
lea eax, [ebp - 0x6d64]
push eax
push 2
lea eax, [ebp - 0x6e00]
push eax
mov eax, ebx
sub eax, dword [ebp - 0x6d9c]
mov edx, esi
push eax
push ebx
call fcn.100834d0
add esp, 0x1c
test eax, eax
js 0x10087f96
mov edi, dword [ebp - 0x6dfc]
mov ebx, dword [ebp - 0x6e00]
mov edx, edi
sub edx, ebx
nop
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x71
je 0x100881b0
mov al, byte [esi]
mov ecx, esi
sub ecx, dword [ebp - 0x6da8]
add ecx, 3
mov dword [ebp - 0x6db8], ecx
cmp al, 0x73
je 0x100881e4
cmp al, 0x74
je 0x100881e4
or esi, 0xffffffff
jmp 0x100881ff
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
sub esi, ecx
sub esi, dword [ebp - 0x6da8]
mov ecx, dword [ebp - 0x6db8]
test edx, edx
jne 0x10088247
mov edx, dword [ebp - 0x6d68]
mov eax, edx
inc edx
mov dword [ebp - 0x6d68], edx
cmp eax, dword [ebp - 0x6d78]
jge 0x1008856f
mov ebx, dword [ebp - 0x6d74]
mov esi, dword [ebp - 0x6d6c]
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x6d70]
mov dword [ebx + 4], 0
add ebx, 0xc
mov dword [ebp - 0x6d74], ebx
jmp 0x10083d94
mov eax, dword [ebp - 0x6dd0]
inc eax
cmp eax, dword [ebp - 0x6d68]
jl 0x100882eb
mov eax, dword [ebp - 0x6d6c]
test eax, eax
jne 0x100882eb
add dword [ebp - 0x6d88], edx
mov dword [ebp - 0x6d90], eax
mov eax, dword [ebp - 0x6d78]
mov dword [ebp - 0x6d6c], 1
test eax, eax
jle 0x1008856f
mov edi, dword [ebp - 0x6d70]
mov dword [edi], ecx
mov ecx, edi
add ecx, 0xc
mov dword [ecx - 8], 0
mov dword [ebp - 0x6d70], ecx
test esi, esi
js 0x100861f0
mov edx, 1
mov dword [ebp - 0x6dd0], 0xffffffff
mov dword [ebp - 0x6d68], edx
test eax, eax
jle 0x1008856f
mov eax, dword [ebp - 0x6dc8]
add eax, 0xc
mov dword [eax - 0xc], esi
mov dword [eax - 8], 0
mov dword [ebp - 0x6d74], eax
mov esi, edx
jmp 0x10083d94
cmp dword [ebp - 0x6d94], 0
je 0x10088311
mov eax, dword [ebp - 0x6d9c]
add edi, eax
lea ecx, [ebx + eax]
cmp ecx, edi
jae 0x10088311
mov al, byte [ecx]
and al, 0xc0
inc ecx
cmp al, 0x80
jne 0x1008830d
dec edx
cmp ecx, edi
jb 0x10088303
mov ebx, dword [ebp - 0x6d6c]
mov edi, dword [ebp - 0x6d78]
mov eax, ebx
inc ebx
mov dword [ebp - 0x6d6c], ebx
cmp eax, edi
jge 0x1008856f
mov ecx, dword [ebp - 0x6d70]
mov eax, dword [ebp - 0x6db8]
neg eax
dec edx
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov dword [ecx + 8], edx
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
test esi, esi
js 0x100861f0
mov eax, ebx
inc ebx
mov dword [ebp - 0x6d6c], ebx
cmp eax, edi
jge 0x1008856f
neg esi
mov dword [ecx], esi
mov dword [ecx + 4], 0
mov dword [ecx + 8], edx
add ecx, 0xc
mov dword [ebp - 0x6d70], ecx
mov esi, ebx
jmp 0x10083d8e
mov edx, dword [0x10101400]
test edx, edx
je 0x10088467
movzx eax, byte [esi + 1]
mov ecx, dword [ebp - 0x6d9c]
mov dword [ebp - 0x6e64], eax
mov eax, dword [ebp - 0x6dd4]
mov dword [ebp - 0x6e60], eax
mov eax, dword [ebp - 0x6d98]
sub eax, ecx
mov dword [ebp - 0x6e58], eax
mov eax, dword [ebp - 0x6dac]
sub eax, ecx
mov dword [ebp - 0x6e54], eax
mov eax, dword [ebp - 0x6d88]
sub eax, ecx
mov dword [ebp - 0x6e5c], ecx
movzx ecx, byte [esi + 2]
mov dword [ebp - 0x6e50], eax
movzx eax, byte [esi + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x6e40], ecx
movzx ecx, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x6d8c]
mov dword [ebp - 0x6e68], 1
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x6e44], eax
lea eax, [ebp - 0x6e68]
push eax
mov dword [ebp - 0x6e3c], ecx
mov dword [ebp - 0x6e4c], 1
mov dword [ebp - 0x6e48], 0xffffffff
mov dword [ebp - 0x6e38], 0
call edx
add esp, 4
test eax, eax
js 0x10088574
je 0x10088467
mov ecx, dword [ebp - 0x6d70]
mov esi, dword [ebp - 0x6d6c]
jmp 0x10083d8e
mov edx, dword [ebp - 0x6d68]
mov eax, edx
jmp 0x10087dbc
pop edi
pop esi
mov eax, 0xffffffef
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffe6
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffec
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffff0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x6d98]
cmp dword [ebp + 0x20], 1
jne 0x10083e96
cmp dword [ebp - 0x6db0], 0
je 0x10083e96
mov ecx, dword [ebp - 0x6ddc]
mov eax, dword [ebp - 0x6de0]
cmp eax, dword [ecx + 4]
je 0x10083e96
mov ecx, dword [ebp - 0x6d8c]
mov eax, dword [ecx + 0x18]
test eax, 0x8000000
jne 0x10088521
test eax, 0x8000
mov eax, dword [ebp - 0x6dc0]
je 0x10088574
test eax, eax
jns 0x10088574
jmp 0x10088527
mov eax, dword [ebp - 0x6dc0]
cmp dword [ebp - 0x6dcc], 0
jne 0x10088539
cmp edi, ebx
jb 0x10088574
cmp edi, dword [ecx + 0xc]
jbe 0x10088574
cmp dword [ebp + 0x14], 2
jl 0x10088559
mov eax, dword [ecx + 0xc]
sub eax, dword [ebp - 0x6d9c]
mov edx, dword [ebp - 0x6dd4]
sub ebx, dword [ebp - 0x6d9c]
mov dword [edx], eax
mov dword [edx + 4], ebx
pop edi
pop esi
mov eax, 0xfffffff4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffed
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1009967c
mov esp, ebp
pop ebp
ret