Function at 0x1008659b
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6108
call fcn.10093340
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x800
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp + 0x2c]
add edx, 1
mov dword [ebp + 0x2c], edx
mov eax, dword [ebp + 0x1c]
and eax, 0xfffffffe
mov dword [ebp + 0x1c], eax
mov ecx, dword [ebp + 0x24]
sub ecx, 2
mov dword [ebp + 0x24], ecx
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 8
div ecx
mov eax, dword [ebp + 0x24]
sub eax, edx
shr eax, 3
mov dword [ebp + 0x24], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
add edx, 0x340
mov dword [ebp - 0x34], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
add eax, 0x100
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0x20]
add ecx, 8
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0x24]
shl edx, 4
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x30], 0
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x5f
je 0x10083c6f
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x62
je 0x10083c6f
mov dword [ebp - 0x5ff0], 0
jmp 0x10083c79
mov dword [ebp - 0x5ff0], 2
mov edx, dword [ebp - 0x5ff0]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + edx + 3]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
cmp eax, 0x5c
jne 0x10083e2d
mov dword [ebp - 0x4c], 0
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx + 4]
shl eax, 8
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx + 5]
or eax, edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x4c]
jle 0x10083cc9
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
cmp ecx, 0x54
je 0x10083ca5
cmp dword [ebp - 0x3c], 0
je 0x10083d4b
mov dword [ebp - 0x50], 0
jmp 0x10083d05
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x4c]
jge 0x10083d49
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x24]
ja 0x10083d17
jmp 0x10083d49
mov edx, dword [ebp + 0x10]
sub edx, 1
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x24]
jbe 0x10083d47
mov ecx, dword [ebp + 0x10]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x10083d47
mov eax, dword [ebp + 0x10]
sub eax, 1
mov dword [ebp + 0x10], eax
jmp 0x10083d20
jmp 0x10083cfc
jmp 0x10083d7f
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x24]
jae 0x10083d64
mov edx, dword [ebp + 0x10]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x5ff4], edx
jmp 0x10083d6d
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x5ff4], eax
mov ecx, dword [ebp - 0x5ff4]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp + 0x10]
sub edx, dword [ebp - 0x50]
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx + 4]
shl edx, 8
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 5]
or edx, ecx
mov dword [ebp - 0x58], edx
mov edx, dword [ebp - 0x58]
cmp edx, dword [ebp - 0x50]
jg 0x10083e00
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x44]
add eax, 6
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10083df6
mov ecx, dword [ebp - 0x5c]
neg ecx
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10083e00
mov eax, 0xffffffed
jmp 0x10089e1e
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x54
je 0x10083d85
jmp 0x10083f44
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
cmp dword [ebp + 0x2c], 1
jne 0x10083e98
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x20000
je 0x10083e98
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x54
je 0x10083e47
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp + 0x20]
cmp dword [edx], 0
jne 0x10083e93
mov eax, dword [ebp - 0x30]
shl eax, 4
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
jmp 0x10083f44
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x5f
je 0x10083eba
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x62
je 0x10083eba
mov dword [ebp - 0x5ff8], 0
jmp 0x10083ec4
mov dword [ebp - 0x5ff8], 2
mov ecx, dword [ebp - 0x5ff8]
add ecx, 3
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10083f0f
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10083f19
mov eax, 0xffffffed
jmp 0x10089e1e
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x60], 3
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
cmp ecx, 0x54
je 0x10083ed0
mov edx, dword [ebp + 0x20]
mov dword [edx], 0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x30], 0
mov edx, dword [ebp + 0x20]
mov eax, dword [edx]
xor eax, 1
mov ecx, dword [ebp + 0x20]
mov dword [ecx], eax
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 8]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 8]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x10]
jae 0x1008405c
mov dword [ebp - 0x64], 1
cmp dword [ebp - 0x3c], 0
je 0x10084051
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx]
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0x74], 0xc0
jb 0x1008404f
mov eax, dword [ebp - 0x74]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x84]
imul edx, edx, 6
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x74]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x80]
shl edx, cl
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x7c], 1
jmp 0x10084016
mov eax, dword [ebp - 0x7c]
add eax, 1
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [ebp - 0x84]
jg 0x10084043
mov edx, dword [ebp - 0x80]
sub edx, 6
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x7c]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x80]
shl edx, cl
or edx, dword [ebp - 0x74]
mov dword [ebp - 0x74], edx
jmp 0x1008400d
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x84]
mov dword [ebp - 0x64], eax
jmp 0x1008405a
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx]
mov dword [ebp - 0x74], edx
jmp 0x1008406a
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0x6c], 0
jmp 0x1008407c
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 8]
jge 0x10089db7
mov edx, dword [ebp - 0x6c]
shl edx, 4
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 8]
mov dword [ebp + 0x28], eax
cmp dword [ebp - 0x90], 0
jge 0x1008414a
mov ecx, dword [ebp - 0x98]
cmp dword [ecx + 0xc], 0
jle 0x1008412e
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x1008411d
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x90]
mov dword [edx], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10084127
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10084073
mov ecx, dword [ebp - 0x90]
neg ecx
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x90]
mov dword [edx], eax
mov dword [ebp - 0x78], 0
jmp 0x1008415c
mov ecx, dword [ebp - 0x78]
add ecx, 1
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x6c]
jge 0x10084197
mov eax, dword [ebp - 0x78]
shl eax, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax]
cmp edx, dword [ebp - 0x90]
jne 0x10084195
mov eax, dword [ebp - 0x78]
shl eax, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x98]
mov eax, dword [ecx + eax + 4]
cmp eax, dword [edx + 4]
jne 0x10084195
jmp 0x10089dad
jmp 0x10084153
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ecx + 0x10094b00]
test edx, edx
jle 0x10084376
mov dword [ebp - 0x68], 1
cmp dword [ebp - 0x3c], 0
je 0x100842b5
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 0x10094b00]
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + ecx]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xc0
jb 0x100842b3
mov ecx, dword [ebp - 0x70]
and ecx, 0x3f
movzx edx, byte [ecx + 0x10094498]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
imul eax, eax, 6
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x70]
and edx, dword [ecx*4 + 0x1009447c]
mov ecx, dword [ebp - 0xa0]
shl edx, cl
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x9c], 1
jmp 0x1008425a
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [ebp - 0xa4]
jg 0x100842a7
mov edx, dword [ebp - 0xa0]
sub edx, 6
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 0x10094b00]
add ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ecx + edx]
and eax, 0x3f
mov ecx, dword [ebp - 0xa0]
shl eax, cl
or eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
jmp 0x1008424b
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x68], ecx
jmp 0x100842cf
mov edx, dword [ebp - 0x8c]
movzx eax, byte [edx + 0x10094b00]
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + eax]
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x8c], 0x39
jl case.default.0x10084303
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x5ffc], eax
mov ecx, dword [ebp - 0x5ffc]
sub ecx, 0xe
mov dword [ebp - 0x5ffc], ecx
cmp dword [ebp - 0x5ffc], 8
ja case.default.0x10084303
mov edx, dword [ebp - 0x5ffc]
jmp dword [edx*4 + 0x10089e24]
mov eax, 0xfffffff0
jmp 0x10089e1e
mov eax, dword [ebp - 0x8c]
add eax, 0x12c
mov dword [ebp - 0x8c], eax
jmp case.default.0x10084303
mov ecx, dword [ebp - 0x8c]
add ecx, 0x154
mov dword [ebp - 0x8c], ecx
jmp case.default.0x10084303
mov edx, dword [ebp - 0x8c]
add edx, 0x140
mov dword [ebp - 0x8c], edx
jmp case.default.0x10084303
mov eax, dword [ebp - 0x8c]
add eax, 0x168
mov dword [ebp - 0x8c], eax
jmp case.default.0x10084303
mov ecx, dword [ebp - 0x8c]
add ecx, 0x17c
mov dword [ebp - 0x8c], ecx
jmp 0x10084384
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x70], 0xffffffff
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x6000], edx
mov eax, dword [ebp - 0x6000]
sub eax, 1
mov dword [ebp - 0x6000], eax
cmp dword [ebp - 0x6000], 0x1c0
ja case.0x100843bc.2
mov ecx, dword [ebp - 0x6000]
movzx edx, byte [ecx + 0x10089f50]
jmp dword [edx*4 + 0x10089e48]
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x28]
je 0x1008448a
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10084411
mov ecx, dword [ebp - 0x90]
add ecx, 3
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x1008441b
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x8c], 0x55
je 0x10084485
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x1008447b
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 2]
or edx, ecx
mov eax, dword [ebp - 0x90]
sub eax, edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10084485
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x1008455d
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp + 0x10]
ja 0x100844a4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x400
jne 0x1008455d
cmp dword [ebp - 4], 0
jge 0x100844b8
xor eax, eax
cmp dword [ebp + 0x1c], 2
setge al
mov dword [ebp - 4], eax
jmp 0x100844d8
cmp dword [ebp - 4], 0
jle 0x100844d8
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
shl edx, 1
cmp edx, dword [ebp + 0x1c]
jl 0x100844d8
mov dword [ebp - 4], 0
cmp dword [ebp - 4], 0
jne 0x100844e9
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x6004], eax
jmp 0x100844f4
mov ecx, dword [ebp - 4]
shl ecx, 1
mov dword [ebp - 0x6004], ecx
mov edx, dword [ebp - 0x6004]
sub edx, 2
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0
jle 0x1008452a
mov eax, dword [ebp - 0x88]
shl eax, 2
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x18]
add edx, 8
push edx
call dword [sym.imp.MSVCR90.dll_memmove]
add esp, 0xc
cmp dword [ebp + 0x1c], 2
jl 0x10084547
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x18]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x10000
je 0x1008455d
mov eax, dword [ebp - 4]
jmp 0x10089e1e
jmp 0x10089dad
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp - 0x94]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx]
cmp edx, 0x54
je case.0x100843bc.83
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x100845d4
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x100845de
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10084625
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x44]
add eax, 3
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x1008462f
mov eax, 0xffffffed
jmp 0x10089e1e
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp - 0x94]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx]
cmp edx, 0x54
je case.0x100843bc.93
jmp 0x10089dad
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x100846a9
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x44]
add eax, 5
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x100846b3
mov eax, 0xffffffed
jmp 0x10089e1e
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp - 0x94]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx]
cmp edx, 0x54
jne 0x1008475c
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10084728
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x44]
add eax, 3
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10084732
mov eax, 0xffffffed
jmp 0x10089e1e
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp - 0x94]
mov dword [ebp - 0x94], ecx
jmp 0x100846d8
jmp 0x10089dad
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x100847a0
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x100847aa
mov eax, 0xffffffed
jmp 0x10089e1e
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 2]
shl edx, 8
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 3]
or edx, ecx
mov eax, dword [ebp - 0x94]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx]
cmp eax, 0x54
jne 0x10084808
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp - 0x94]
mov dword [ebp - 0x94], edx
jmp 0x100847d3
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp edx, eax
jge 0x1008484a
mov edx, dword [ebp - 0x94]
sub edx, dword [ebp - 0x44]
add edx, 3
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x10
mov dword [ebp - 0x38], ecx
jmp 0x10084854
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
shl eax, 8
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 3]
or eax, edx
mov ecx, dword [ebp - 0x94]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax]
cmp ecx, 0x54
jne 0x100848b7
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0x94]
mov dword [ebp - 0x94], eax
jmp 0x10084882
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x100848f9
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x44]
add eax, 3
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10084903
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x24]
jne 0x10084922
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x80
je 0x10084a15
mov eax, dword [ebp + 0x28]
and eax, 2
je 0x10084a5e
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x10]
je 0x10084a5e
mov edx, dword [ebp + 8]
cmp dword [edx + 0x18], 0
je 0x1008499b
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 4]
jbe 0x10084983
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.10002740
add esp, 0x14
test eax, eax
je 0x10084983
mov dword [ebp - 0x6008], 1
jmp 0x1008498d
mov dword [ebp - 0x6008], 0
mov eax, dword [ebp - 0x6008]
mov dword [ebp - 0x600c], eax
jmp 0x10084a0c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x1c]
cmp dword [ebp - 0x18], edx
jb 0x100849f6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
neg edx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + edx]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x20]
cmp ecx, eax
jne 0x100849f6
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1c], 1
je 0x100849ea
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
neg eax
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + eax + 1]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x21]
cmp edx, ecx
jne 0x100849f6
mov dword [ebp - 0x6010], 1
jmp 0x10084a00
mov dword [ebp - 0x6010], 0
mov edx, dword [ebp - 0x6010]
mov dword [ebp - 0x600c], edx
cmp dword [ebp - 0x600c], 0
je 0x10084a5e
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10084a54
mov eax, dword [ebp - 0x90]
add eax, 1
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10084a5e
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x10]
jb 0x10084ab4
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10084aaa
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x10084ab4
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 1]
mov dword [ebp + 0x28], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10084b05
mov eax, dword [ebp - 0x90]
add eax, 2
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10084b0f
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x24]
jne 0x10084b65
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10084b5b
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x10084b65
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp + 0x14]
cmp dword [ebp - 0x18], ecx
jne 0x10084bbe
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp edx, eax
jge 0x10084bb4
mov edx, dword [ebp - 0x90]
add edx, 1
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x10
mov dword [ebp - 0x38], ecx
jmp 0x10084bbe
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x10084cdf
mov edx, dword [ebp + 8]
cmp dword [edx + 0x18], 0
je 0x10084c2e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 8]
jae 0x10084c16
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x10084c16
mov dword [ebp - 0x6014], 1
jmp 0x10084c20
mov dword [ebp - 0x6014], 0
mov eax, dword [ebp - 0x6014]
mov dword [ebp - 0x6018], eax
jmp 0x10084c8d
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 0x1c]
cmp dword [ebp - 0x18], eax
ja 0x10084c77
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x20]
cmp edx, ecx
jne 0x10084c77
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1c], 1
je 0x10084c6b
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x21]
cmp ecx, eax
jne 0x10084c77
mov dword [ebp - 0x601c], 1
jmp 0x10084c81
mov dword [ebp - 0x601c], 0
mov ecx, dword [ebp - 0x601c]
mov dword [ebp - 0x6018], ecx
cmp dword [ebp - 0x6018], 0
jne 0x10084cdf
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10084cd5
mov edx, dword [ebp - 0x90]
add edx, 1
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10084cdf
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x10084d33
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10084d29
mov edx, dword [ebp - 0x90]
add edx, 1
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10084d33
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
je 0x10084e19
mov edx, dword [ebp + 8]
cmp dword [edx + 0x18], 0
je 0x10084da3
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 8]
jae 0x10084d8b
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x10084d8b
mov dword [ebp - 0x6020], 1
jmp 0x10084d95
mov dword [ebp - 0x6020], 0
mov eax, dword [ebp - 0x6020]
mov dword [ebp - 0x6024], eax
jmp 0x10084e02
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 0x1c]
cmp dword [ebp - 0x18], eax
ja 0x10084dec
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x20]
cmp edx, ecx
jne 0x10084dec
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1c], 1
je 0x10084de0
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x21]
cmp ecx, eax
jne 0x10084dec
mov dword [ebp - 0x6028], 1
jmp 0x10084df6
mov dword [ebp - 0x6028], 0
mov ecx, dword [ebp - 0x6028]
mov dword [ebp - 0x6024], ecx
cmp dword [ebp - 0x6024], 0
je 0x10084e62
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
sub eax, dword [edx + 0x1c]
cmp dword [ebp - 0x18], eax
jne 0x10084e62
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10084e58
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x10084e62
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x100
jne 0x10084fb0
cmp dword [ebp - 0x64], 0
je 0x10084f62
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
je 0x10084ee4
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
cmp edx, dword [ecx + 8]
jae 0x10084ecc
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x1c
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x10084ecc
mov dword [ebp - 0x602c], 1
jmp 0x10084ed6
mov dword [ebp - 0x602c], 0
mov ecx, dword [ebp - 0x602c]
mov dword [ebp - 0x6030], ecx
jmp 0x10084f43
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 0x1c]
cmp dword [ebp - 0x18], ecx
ja 0x10084f2d
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x20]
cmp eax, edx
jne 0x10084f2d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1c], 1
je 0x10084f21
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + 1]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x21]
cmp edx, ecx
jne 0x10084f2d
mov dword [ebp - 0x6034], 1
jmp 0x10084f37
mov dword [ebp - 0x6034], 0
mov edx, dword [ebp - 0x6034]
mov dword [ebp - 0x6030], edx
cmp dword [ebp - 0x6030], 0
je 0x10084fab
mov eax, dword [ebp + 0x28]
and eax, 2
jne 0x10084f62
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp - 0x18], edx
jne 0x10084fab
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10084fa1
mov eax, dword [ebp - 0x90]
add eax, 1
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10084fab
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x100850ce
mov eax, dword [ebp + 0x28]
and eax, 2
je 0x100850ce
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x18], 0
je 0x1008501d
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edx + 8]
jae 0x10085005
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x1c
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x10085005
mov dword [ebp - 0x6038], 1
jmp 0x1008500f
mov dword [ebp - 0x6038], 0
mov edx, dword [ebp - 0x6038]
mov dword [ebp - 0x603c], edx
jmp 0x1008507c
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp - 0x18], edx
ja 0x10085066
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x20]
cmp ecx, eax
jne 0x10085066
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1c], 1
je 0x1008505a
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x21]
cmp eax, edx
jne 0x10085066
mov dword [ebp - 0x6040], 1
jmp 0x10085070
mov dword [ebp - 0x6040], 0
mov eax, dword [ebp - 0x6040]
mov dword [ebp - 0x603c], eax
cmp dword [ebp - 0x603c], 0
je 0x100850ce
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x100850c4
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x100850ce
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x10085154
cmp dword [ebp - 0x74], 0x100
jae 0x10085154
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x74]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 0x10094b70]
and edx, ecx
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 0x10094b80]
xor edx, ecx
je 0x10085154
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x1008514a
mov edx, dword [ebp - 0x90]
add edx, 1
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10085154
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x100851da
cmp dword [ebp - 0x74], 0x100
jae 0x10085191
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x74]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ecx + 0x10094b70]
and eax, edx
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ecx + 0x10094b80]
xor eax, edx
je 0x100851da
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x100851d0
mov eax, dword [ebp - 0x90]
add eax, 1
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x100851da
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x24]
jbe 0x10085318
mov ecx, dword [ebp - 0x18]
sub ecx, 1
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0x3c], 0
je 0x10085223
mov edx, dword [ebp - 0xb0]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x10085223
mov ecx, dword [ebp - 0xb0]
sub ecx, 1
mov dword [ebp - 0xb0], ecx
jmp 0x100851fd
mov edx, dword [ebp - 0xb0]
movzx eax, byte [edx]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x3c], 0
je 0x100852dd
cmp dword [ebp - 0x70], 0xc0
jb 0x100852dd
mov ecx, dword [ebp - 0x70]
and ecx, 0x3f
movzx edx, byte [ecx + 0x10094498]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xbc]
imul eax, eax, 6
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x70]
and edx, dword [ecx*4 + 0x1009447c]
mov ecx, dword [ebp - 0xb8]
shl edx, cl
mov dword [ebp - 0x70], edx
mov dword [ebp - 0xb4], 1
jmp 0x1008529e
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0xbc]
jg 0x100852dd
mov edx, dword [ebp - 0xb8]
sub edx, 6
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0xb4]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0xb8]
shl edx, cl
or edx, dword [ebp - 0x70]
mov dword [ebp - 0x70], edx
jmp 0x1008528f
cmp dword [ebp - 0x70], 0x100
jae 0x10085300
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x70]
movzx ecx, byte [eax]
and ecx, 0x10
je 0x10085300
mov dword [ebp - 0x6044], 1
jmp 0x1008530a
mov dword [ebp - 0x6044], 0
mov edx, dword [ebp - 0x6044]
mov dword [ebp - 0xa8], edx
jmp 0x10085322
mov dword [ebp - 0xa8], 0
cmp dword [ebp - 0x64], 0
jle 0x10085363
cmp dword [ebp - 0x74], 0x100
jae 0x1008534b
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x74]
movzx ecx, byte [eax]
and ecx, 0x10
je 0x1008534b
mov dword [ebp - 0x6048], 1
jmp 0x10085355
mov dword [ebp - 0x6048], 0
mov edx, dword [ebp - 0x6048]
mov dword [ebp - 0xac], edx
jmp 0x1008536d
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
cmp eax, dword [ebp - 0xac]
sete cl
xor edx, edx
cmp dword [ebp - 0x8c], 4
sete dl
cmp ecx, edx
jne 0x100853d7
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x100853cd
mov eax, dword [ebp - 0x90]
add eax, 1
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x100853d7
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x10085545
mov eax, dword [ebp - 0x74]
push eax
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 1]
mov dword [ebp - 0x604c], edx
cmp dword [ebp - 0x604c], 4
ja case.default.0x1008541b
mov eax, dword [ebp - 0x604c]
jmp dword [eax*4 + 0x1008a114]
mov dword [ebp - 0xc0], 1
jmp 0x100854e8
cmp dword [ebp - 0xc4], 9
je 0x10085458
cmp dword [ebp - 0xc4], 5
je 0x10085458
cmp dword [ebp - 0xc4], 8
je 0x10085458
mov dword [ebp - 0x6050], 0
jmp 0x10085462
mov dword [ebp - 0x6050], 1
mov ecx, dword [ebp - 0x6050]
mov dword [ebp - 0xc0], ecx
jmp 0x100854e8
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
mov ecx, dword [ebp - 0xc4]
xor edx, edx
cmp dword [ecx*4 + 0x100944d8], eax
sete dl
mov dword [ebp - 0xc0], edx
jmp 0x100854e8
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 2]
xor edx, edx
cmp dword [ebp - 0xc4], ecx
sete dl
mov dword [ebp - 0xc0], edx
jmp 0x100854e8
mov eax, dword [ebp - 0x74]
push eax
call sym.glib_2.0.dll_g_unichar_get_script
add esp, 4
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 2]
xor ecx, ecx
cmp eax, edx
sete cl
mov dword [ebp - 0xc0], ecx
jmp 0x100854e8
xor edx, edx
cmp dword [ebp - 0x8c], 0x10
setne dl
mov dword [ebp - 0xc0], edx
xor eax, eax
cmp dword [ebp - 0x8c], 0x10
sete al
cmp dword [ebp - 0xc0], eax
jne 0x10085545
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x1008553b
mov ecx, dword [ebp - 0x90]
add ecx, 3
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10085545
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0
jle 0x100855ab
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x100855a1
mov eax, dword [ebp - 0x90]
add eax, 2
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x100855ab
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10085756
cmp dword [ebp - 0x74], 0x100
jb 0x100855d4
cmp dword [ebp - 0x70], 7
je 0x100855d4
cmp dword [ebp - 0x70], 9
je 0x100855d4
cmp dword [ebp - 0x70], 0xb
jne 0x100856db
cmp dword [ebp - 0x74], 0x100
jae 0x10085756
cmp dword [ebp - 0x70], 0xc
jne 0x100856b8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
je 0x1008564c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
cmp edx, dword [ecx + 8]
jae 0x10085634
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x1c
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x10085634
mov dword [ebp - 0x6054], 1
jmp 0x1008563e
mov dword [ebp - 0x6054], 0
mov ecx, dword [ebp - 0x6054]
mov dword [ebp - 0x6058], ecx
jmp 0x100856ab
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 8]
sub ecx, dword [eax + 0x1c]
cmp dword [ebp - 0x18], ecx
ja 0x10085695
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x20]
cmp eax, edx
jne 0x10085695
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1c], 1
je 0x10085689
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + 1]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x21]
cmp edx, ecx
jne 0x10085695
mov dword [ebp - 0x605c], 1
jmp 0x1008569f
mov dword [ebp - 0x605c], 0
mov edx, dword [ebp - 0x605c]
mov dword [ebp - 0x6058], edx
cmp dword [ebp - 0x6058], 0
jne 0x10085756
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x74]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x70]
movzx eax, byte [edx + 0x10094b70]
and ecx, eax
mov edx, dword [ebp - 0x70]
movzx eax, byte [edx + 0x10094b80]
xor ecx, eax
je 0x10085756
cmp dword [ebp - 0x88], 0
jle 0x100856ff
cmp dword [ebp - 0x8c], 0x43
jne 0x100856ff
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x10
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x1008574c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x90]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10085756
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp edx, eax
jge 0x1008579a
mov edx, dword [ebp - 0x90]
add edx, 2
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x10
mov dword [ebp - 0x38], ecx
jmp 0x100857a4
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10085938
cmp dword [ebp - 0x74], 0x100
jb 0x100857cd
cmp dword [ebp - 0x70], 7
je 0x100857cd
cmp dword [ebp - 0x70], 9
je 0x100857cd
cmp dword [ebp - 0x70], 0xb
jne 0x100858d4
cmp dword [ebp - 0x74], 0x100
jae 0x10085938
cmp dword [ebp - 0x70], 0xc
jne 0x100858b1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x18], 0
je 0x10085845
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 8]
jae 0x1008582d
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x1008582d
mov dword [ebp - 0x6060], 1
jmp 0x10085837
mov dword [ebp - 0x6060], 0
mov eax, dword [ebp - 0x6060]
mov dword [ebp - 0x6064], eax
jmp 0x100858a4
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 0x1c]
cmp dword [ebp - 0x18], eax
ja 0x1008588e
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x20]
cmp edx, ecx
jne 0x1008588e
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1c], 1
je 0x10085882
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x21]
cmp ecx, eax
jne 0x1008588e
mov dword [ebp - 0x6068], 1
jmp 0x10085898
mov dword [ebp - 0x6068], 0
mov ecx, dword [ebp - 0x6068]
mov dword [ebp - 0x6064], ecx
cmp dword [ebp - 0x6064], 0
jne 0x10085938
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x74]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x70]
movzx edx, byte [ecx + 0x10094b70]
and eax, edx
mov ecx, dword [ebp - 0x70]
movzx edx, byte [ecx + 0x10094b80]
xor eax, edx
je 0x10085938
cmp dword [ebp - 0x8c], 0x44
jne 0x100858ef
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x10
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x1008592e
mov edx, dword [ebp - 0x90]
add edx, 2
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10085938
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp edx, eax
jge 0x1008597c
mov edx, dword [ebp - 0x90]
add edx, 2
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x10
mov dword [ebp - 0x38], ecx
jmp 0x10085986
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10085b17
cmp dword [ebp - 0x74], 0x100
jb 0x100859af
cmp dword [ebp - 0x70], 7
je 0x100859af
cmp dword [ebp - 0x70], 9
je 0x100859af
cmp dword [ebp - 0x70], 0xb
jne 0x10085ab6
cmp dword [ebp - 0x74], 0x100
jae 0x10085b17
cmp dword [ebp - 0x70], 0xc
jne 0x10085a93
mov edx, dword [ebp + 8]
cmp dword [edx + 0x18], 0
je 0x10085a27
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 8]
jae 0x10085a0f
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x10085a0f
mov dword [ebp - 0x606c], 1
jmp 0x10085a19
mov dword [ebp - 0x606c], 0
mov eax, dword [ebp - 0x606c]
mov dword [ebp - 0x6070], eax
jmp 0x10085a86
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 0x1c]
cmp dword [ebp - 0x18], eax
ja 0x10085a70
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x20]
cmp edx, ecx
jne 0x10085a70
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1c], 1
je 0x10085a64
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x21]
cmp ecx, eax
jne 0x10085a70
mov dword [ebp - 0x6074], 1
jmp 0x10085a7a
mov dword [ebp - 0x6074], 0
mov ecx, dword [ebp - 0x6074]
mov dword [ebp - 0x6070], ecx
cmp dword [ebp - 0x6070], 0
jne 0x10085b17
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x74]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x70]
movzx edx, byte [ecx + 0x10094b70]
and eax, edx
mov ecx, dword [ebp - 0x70]
movzx edx, byte [ecx + 0x10094b80]
xor eax, edx
je 0x10085b17
cmp dword [ebp - 0x8c], 0x42
jne 0x10085ad1
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x10
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10085b0d
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x90]
mov dword [edx], eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10085b17
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 4]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x64], 0
jle 0x10085d22
cmp dword [ebp - 0x74], 0x100
jb 0x10085b54
cmp dword [ebp - 0x70], 7
je 0x10085b54
cmp dword [ebp - 0x70], 9
je 0x10085b54
cmp dword [ebp - 0x70], 0xb
jne 0x10085c5f
cmp dword [ebp - 0x74], 0x100
jae 0x10085d22
cmp dword [ebp - 0x70], 0xc
jne 0x10085c38
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x18], 0
je 0x10085bcc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edx + 8]
jae 0x10085bb4
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x1c
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x10085bb4
mov dword [ebp - 0x6078], 1
jmp 0x10085bbe
mov dword [ebp - 0x6078], 0
mov edx, dword [ebp - 0x6078]
mov dword [ebp - 0x607c], edx
jmp 0x10085c2b
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp - 0x18], edx
ja 0x10085c15
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x20]
cmp ecx, eax
jne 0x10085c15
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1c], 1
je 0x10085c09
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x21]
cmp eax, edx
jne 0x10085c15
mov dword [ebp - 0x6080], 1
jmp 0x10085c1f
mov dword [ebp - 0x6080], 0
mov eax, dword [ebp - 0x6080]
mov dword [ebp - 0x607c], eax
cmp dword [ebp - 0x607c], 0
jne 0x10085d22
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x74]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x70]
movzx ecx, byte [eax + 0x10094b70]
and edx, ecx
mov eax, dword [ebp - 0x70]
movzx ecx, byte [eax + 0x10094b80]
xor edx, ecx
je 0x10085d22
mov edx, dword [ebp - 0x88]
add edx, 1
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
or ecx, eax
cmp dword [ebp - 0x88], ecx
jl 0x10085cda
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10085cce
mov ecx, dword [ebp - 0x90]
add ecx, 4
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10085cd8
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10085d22
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10085d18
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x90]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10085d22
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp edx, eax
jge 0x10085d66
mov edx, dword [ebp - 0x90]
add edx, 4
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x10
mov dword [ebp - 0x38], ecx
jmp 0x10085d70
mov eax, 0xffffffed
jmp 0x10089e1e
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 4]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x64], 0
jle 0x10085f91
cmp dword [ebp - 0x74], 0x100
jb 0x10085da8
cmp dword [ebp - 0x70], 7
je 0x10085da8
cmp dword [ebp - 0x70], 9
je 0x10085da8
cmp dword [ebp - 0x70], 0xb
jne 0x10085eb3
cmp dword [ebp - 0x74], 0x100
jae 0x10085f91
cmp dword [ebp - 0x70], 0xc
jne 0x10085e8c
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x18], 0
je 0x10085e20
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edx + 8]
jae 0x10085e08
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x1c
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x10085e08
mov dword [ebp - 0x6084], 1
jmp 0x10085e12
mov dword [ebp - 0x6084], 0
mov edx, dword [ebp - 0x6084]
mov dword [ebp - 0x6088], edx
jmp 0x10085e7f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp - 0x18], edx
ja 0x10085e69
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x20]
cmp ecx, eax
jne 0x10085e69
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1c], 1
je 0x10085e5d
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x21]
cmp eax, edx
jne 0x10085e69
mov dword [ebp - 0x608c], 1
jmp 0x10085e73
mov dword [ebp - 0x608c], 0
mov eax, dword [ebp - 0x608c]
mov dword [ebp - 0x6088], eax
cmp dword [ebp - 0x6088], 0
jne 0x10085f91
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x74]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x70]
movzx ecx, byte [eax + 0x10094b70]
and edx, ecx
mov eax, dword [ebp - 0x70]
movzx ecx, byte [eax + 0x10094b80]
xor edx, ecx
je 0x10085f91
cmp dword [ebp - 0x8c], 0x45
jne 0x10085ece
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x88]
add ecx, 1
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 2]
or eax, edx
cmp dword [ebp - 0x88], eax
jl 0x10085f49
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10085f3d
mov eax, dword [ebp - 0x90]
add eax, 4
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10085f47
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10085f91
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10085f87
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x90]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x88]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10085f91
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0
jle 0x10085ff7
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10085fed
mov eax, dword [ebp - 0x90]
add eax, 4
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10085ff7
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10086192
mov eax, dword [ebp - 0x74]
push eax
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 2]
mov dword [ebp - 0x6090], edx
cmp dword [ebp - 0x6090], 4
ja case.default.0x10086036
mov eax, dword [ebp - 0x6090]
jmp dword [eax*4 + 0x1008a128]
mov dword [ebp - 0xc8], 1
jmp 0x10086103
cmp dword [ebp - 0xcc], 9
je 0x10086073
cmp dword [ebp - 0xcc], 5
je 0x10086073
cmp dword [ebp - 0xcc], 8
je 0x10086073
mov dword [ebp - 0x6094], 0
jmp 0x1008607d
mov dword [ebp - 0x6094], 1
mov ecx, dword [ebp - 0x6094]
mov dword [ebp - 0xc8], ecx
jmp 0x10086103
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 3]
mov ecx, dword [ebp - 0xcc]
xor edx, edx
cmp dword [ecx*4 + 0x100944d8], eax
sete dl
mov dword [ebp - 0xc8], edx
jmp 0x10086103
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 3]
xor edx, edx
cmp dword [ebp - 0xcc], ecx
sete dl
mov dword [ebp - 0xc8], edx
jmp 0x10086103
mov eax, dword [ebp - 0x74]
push eax
call sym.glib_2.0.dll_g_unichar_get_script
add esp, 4
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 3]
xor ecx, ecx
cmp eax, edx
sete cl
mov dword [ebp - 0xc8], ecx
jmp 0x10086103
xor edx, edx
cmp dword [ebp - 0x8c], 0x10
setne dl
mov dword [ebp - 0xc8], edx
xor eax, eax
cmp dword [ebp - 0x70], 0x10
sete al
cmp dword [ebp - 0xc8], eax
jne 0x10086192
cmp dword [ebp - 0x88], 0
jle 0x1008613b
cmp dword [ebp - 0x8c], 0x16f
jne 0x1008613b
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x10
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10086188
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x90]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10086192
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 4]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jle 0x100861f8
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x100861ee
mov ecx, dword [ebp - 0x90]
add ecx, 2
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x100861f8
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x100863ef
mov ecx, dword [ebp - 0x74]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
cmp dword [eax*4 + 0x100944d8], 2
je 0x100863ef
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x64]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd0], 0
cmp dword [ebp - 0x88], 0
jle 0x10086259
cmp dword [ebp - 0x8c], 0x183
jne 0x10086259
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x10
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0x10]
jae 0x1008638a
mov dword [ebp - 0xdc], 1
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0xc0
jl 0x10086349
mov edx, dword [ebp - 0xd8]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe8]
imul ecx, ecx, 6
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd8]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0xe4]
shl eax, cl
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xe0], 1
jmp 0x100862f2
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
cmp edx, dword [ebp - 0xe8]
jg 0x10086337
mov eax, dword [ebp - 0xe4]
sub eax, 6
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xd4]
add ecx, dword [ebp - 0xe0]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0xe4]
shl edx, cl
or edx, dword [ebp - 0xd8]
mov dword [ebp - 0xd8], edx
jmp 0x100862e3
mov eax, dword [ebp - 0xdc]
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xd8]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
cmp dword [eax*4 + 0x100944d8], 2
je 0x10086364
jmp 0x1008638a
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd4]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
jmp 0x10086259
mov ecx, dword [ebp - 0x88]
add ecx, 1
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x100863e5
mov edx, dword [ebp - 0x90]
neg edx
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x88]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x100863ef
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 4]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jle 0x10086455
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x1008644b
mov ecx, dword [ebp - 0x90]
add ecx, 2
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x10086455
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10086596
mov dword [ebp - 0xec], 0
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x6098], ecx
cmp dword [ebp - 0x6098], 0xd
ja 0x100864a8
cmp dword [ebp - 0x6098], 0xd
je 0x100864e9
cmp dword [ebp - 0x6098], 0xa
je 0x1008650a
cmp dword [ebp - 0x6098], 0xa
jbe 0x10086596
cmp dword [ebp - 0x6098], 0xc
jbe 0x100864d5
jmp 0x10086596
cmp dword [ebp - 0x6098], 0x85
je 0x100864d5
cmp dword [ebp - 0x6098], 0x2027
jbe 0x10086596
cmp dword [ebp - 0x6098], 0x2029
jbe 0x100864d5
jmp 0x10086596
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
and eax, 0x800000
je 0x100864e7
jmp 0x10086596
jmp 0x1008650a
mov ecx, dword [ebp - 0x18]
add ecx, 1
cmp ecx, dword [ebp - 0x10]
jae 0x1008650a
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx + 1]
cmp eax, 0xa
jne 0x1008650a
mov dword [ebp - 0xec], 1
cmp dword [ebp - 0x88], 0
jle 0x10086531
cmp dword [ebp - 0x8c], 0x197
jne 0x10086531
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x10
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x1008658c
mov ecx, dword [ebp - 0x90]
neg ecx
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xec]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10086596
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0
jle 0x100865fc
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x100865f2
mov eax, dword [ebp - 0x90]
add eax, 2
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x100865fc
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x1008670a
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x609c], eax
cmp dword [ebp - 0x609c], 0x85
ja 0x1008663b
cmp dword [ebp - 0x609c], 0x85
je 0x10086655
cmp dword [ebp - 0x609c], 0xa
jb 0x10086661
cmp dword [ebp - 0x609c], 0xd
jbe 0x10086655
jmp 0x10086661
cmp dword [ebp - 0x609c], 0x2028
jb 0x10086661
cmp dword [ebp - 0x609c], 0x2029
jbe 0x10086655
jmp 0x10086661
mov dword [ebp - 0xf0], 1
jmp 0x1008666b
mov dword [ebp - 0xf0], 0
xor ecx, ecx
cmp dword [ebp - 0x70], 0x15
sete cl
cmp dword [ebp - 0xf0], ecx
jne 0x1008670a
cmp dword [ebp - 0x88], 0
jle 0x100866a7
cmp dword [ebp - 0x8c], 0x1bf
jne 0x100866a7
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x88]
add ecx, 1
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10086700
mov edx, dword [ebp - 0x90]
neg edx
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x88]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xc], 0
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x1008670a
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0
jle 0x10086770
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10086766
mov eax, dword [ebp - 0x90]
add eax, 2
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10086770
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x100868da
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x60a0], eax
cmp dword [ebp - 0x60a0], 0x180e
ja 0x100867d9
cmp dword [ebp - 0x60a0], 0x180e
je 0x10086825
cmp dword [ebp - 0x60a0], 0xa0
ja 0x100867cb
cmp dword [ebp - 0x60a0], 0xa0
je 0x10086825
cmp dword [ebp - 0x60a0], 9
je 0x10086825
cmp dword [ebp - 0x60a0], 0x20
je 0x10086825
jmp 0x10086831
cmp dword [ebp - 0x60a0], 0x1680
je 0x10086825
jmp 0x10086831
cmp dword [ebp - 0x60a0], 0x205f
ja 0x10086817
cmp dword [ebp - 0x60a0], 0x205f
je 0x10086825
cmp dword [ebp - 0x60a0], 0x2000
jb 0x10086831
cmp dword [ebp - 0x60a0], 0x200a
jbe 0x10086825
cmp dword [ebp - 0x60a0], 0x202f
je 0x10086825
jmp 0x10086831
cmp dword [ebp - 0x60a0], 0x3000
je 0x10086825
jmp 0x10086831
mov dword [ebp - 0xf4], 1
jmp 0x1008683b
mov dword [ebp - 0xf4], 0
xor ecx, ecx
cmp dword [ebp - 0x70], 0x13
sete cl
cmp dword [ebp - 0xf4], ecx
jne 0x100868da
cmp dword [ebp - 0x88], 0
jle 0x10086877
cmp dword [ebp - 0x8c], 0x1ab
jne 0x10086877
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x88]
add ecx, 1
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x100868d0
mov edx, dword [ebp - 0x90]
neg edx
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x88]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xc], 0
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x100868da
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov dword [ebp - 0x88], 4
jmp 0x100868f5
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10086934
mov ecx, dword [ebp - 0x90]
add ecx, 4
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x1008693e
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10086ad1
mov ecx, dword [ebp - 0x74]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
mov dword [ebp - 0x60a4], eax
cmp dword [ebp - 0x60a4], 4
ja case.default.0x1008697d
mov ecx, dword [ebp - 0x60a4]
jmp dword [ecx*4 + 0x1008a13c]
mov dword [ebp - 0xf8], 1
jmp 0x10086a4a
cmp dword [ebp - 0xfc], 9
je 0x100869ba
cmp dword [ebp - 0xfc], 5
je 0x100869ba
cmp dword [ebp - 0xfc], 8
je 0x100869ba
mov dword [ebp - 0x60a8], 0
jmp 0x100869c4
mov dword [ebp - 0x60a8], 1
mov edx, dword [ebp - 0x60a8]
mov dword [ebp - 0xf8], edx
jmp 0x10086a4a
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 3]
mov edx, dword [ebp - 0xfc]
xor eax, eax
cmp dword [edx*4 + 0x100944d8], ecx
sete al
mov dword [ebp - 0xf8], eax
jmp 0x10086a4a
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 3]
xor eax, eax
cmp dword [ebp - 0xfc], edx
sete al
mov dword [ebp - 0xf8], eax
jmp 0x10086a4a
mov ecx, dword [ebp - 0x74]
push ecx
call sym.glib_2.0.dll_g_unichar_get_script
add esp, 4
mov edx, dword [ebp - 0x94]
movzx ecx, byte [edx + 3]
xor edx, edx
cmp eax, ecx
sete dl
mov dword [ebp - 0xf8], edx
jmp 0x10086a4a
xor eax, eax
cmp dword [ebp - 0x8c], 0x10
setne al
mov dword [ebp - 0xf8], eax
xor ecx, ecx
cmp dword [ebp - 0x70], 0x10
sete cl
cmp dword [ebp - 0xf8], ecx
jne 0x10086ad1
cmp dword [ebp - 0x8c], 0x16e
je 0x10086a73
cmp dword [ebp - 0x8c], 0x170
jne 0x10086a85
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10086ac7
mov ecx, dword [ebp - 0x90]
add ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10086ad1
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov dword [ebp - 0x88], 2
jmp 0x10086aec
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10086b2b
mov ecx, dword [ebp - 0x90]
add ecx, 2
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x10086b35
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10086d24
mov ecx, dword [ebp - 0x74]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
cmp dword [eax*4 + 0x100944d8], 2
je 0x10086d24
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x64]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x100], 0
cmp dword [ebp - 0x8c], 0x182
je 0x10086b87
cmp dword [ebp - 0x8c], 0x184
jne 0x10086b99
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x10
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0x10]
jae 0x10086cca
mov dword [ebp - 0x10c], 1
mov eax, dword [ebp - 0x104]
movzx ecx, byte [eax]
mov dword [ebp - 0x108], ecx
cmp dword [ebp - 0x108], 0xc0
jl 0x10086c89
mov edx, dword [ebp - 0x108]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
imul ecx, ecx, 6
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x108]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x114]
shl eax, cl
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x110], 1
jmp 0x10086c32
mov ecx, dword [ebp - 0x110]
add ecx, 1
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x118]
jg 0x10086c77
mov eax, dword [ebp - 0x114]
sub eax, 6
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x104]
add ecx, dword [ebp - 0x110]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x114]
shl edx, cl
or edx, dword [ebp - 0x108]
mov dword [ebp - 0x108], edx
jmp 0x10086c23
mov eax, dword [ebp - 0x10c]
add eax, dword [ebp - 0x118]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x108]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
cmp dword [eax*4 + 0x100944d8], 2
je 0x10086ca4
jmp 0x10086cca
mov edx, dword [ebp - 0x100]
add edx, 1
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x104]
add eax, dword [ebp - 0x10c]
mov dword [ebp - 0x104], eax
jmp 0x10086b99
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10086d1a
mov ecx, dword [ebp - 0x90]
add ecx, dword [ebp - 0x88]
neg ecx
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10086d24
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov dword [ebp - 0x88], 2
jmp 0x10086d3f
mov dword [ebp - 0x88], 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10086d7e
mov eax, dword [ebp - 0x90]
add eax, 2
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10086d88
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10086ec2
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x60ac], eax
cmp dword [ebp - 0x60ac], 0xd
ja 0x10086ddb
cmp dword [ebp - 0x60ac], 0xd
je 0x10086e1d
cmp dword [ebp - 0x60ac], 0xa
je 0x10086e3e
cmp dword [ebp - 0x60ac], 0xa
jbe 0x10086ec2
cmp dword [ebp - 0x60ac], 0xc
jbe 0x10086e08
jmp 0x10086ec2
cmp dword [ebp - 0x60ac], 0x85
je 0x10086e08
cmp dword [ebp - 0x60ac], 0x2027
jbe 0x10086ec2
cmp dword [ebp - 0x60ac], 0x2029
jbe 0x10086e08
jmp 0x10086ec2
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x800000
je 0x10086e1b
jmp 0x10086ec2
jmp 0x10086e3e
mov eax, dword [ebp - 0x18]
add eax, 1
cmp eax, dword [ebp - 0x10]
jae 0x10086e3e
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + 1]
cmp edx, 0xa
jne 0x10086e3e
mov dword [ebp - 0x11c], 1
cmp dword [ebp - 0x8c], 0x196
je 0x10086e56
cmp dword [ebp - 0x8c], 0x198
jne 0x10086e68
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x10
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10086eb8
mov edx, dword [ebp - 0x90]
add edx, dword [ebp - 0x88]
neg edx
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x11c]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10086ec2
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov dword [ebp - 0x88], 2
jmp 0x10086edd
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10086f1c
mov ecx, dword [ebp - 0x90]
add ecx, 2
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x10086f26
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x1008702c
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x60b0], ecx
cmp dword [ebp - 0x60b0], 0x85
ja 0x10086f65
cmp dword [ebp - 0x60b0], 0x85
je 0x10086f7f
cmp dword [ebp - 0x60b0], 0xa
jb 0x10086f8b
cmp dword [ebp - 0x60b0], 0xd
jbe 0x10086f7f
jmp 0x10086f8b
cmp dword [ebp - 0x60b0], 0x2028
jb 0x10086f8b
cmp dword [ebp - 0x60b0], 0x2029
jbe 0x10086f7f
jmp 0x10086f8b
mov dword [ebp - 0x120], 1
jmp 0x10086f95
mov dword [ebp - 0x120], 0
xor edx, edx
cmp dword [ebp - 0x70], 0x15
sete dl
cmp dword [ebp - 0x120], edx
jne 0x1008702c
cmp dword [ebp - 0x8c], 0x1be
je 0x10086fc2
cmp dword [ebp - 0x8c], 0x1c0
jne 0x10086fd4
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x10
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10087022
mov edx, dword [ebp - 0x90]
add edx, dword [ebp - 0x88]
neg edx
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x1008702c
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov dword [ebp - 0x88], 2
jmp 0x10087047
mov dword [ebp - 0x88], 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10087086
mov eax, dword [ebp - 0x90]
add eax, 2
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10087090
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x100871f2
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x60b4], eax
cmp dword [ebp - 0x60b4], 0x180e
ja 0x100870f9
cmp dword [ebp - 0x60b4], 0x180e
je 0x10087145
cmp dword [ebp - 0x60b4], 0xa0
ja 0x100870eb
cmp dword [ebp - 0x60b4], 0xa0
je 0x10087145
cmp dword [ebp - 0x60b4], 9
je 0x10087145
cmp dword [ebp - 0x60b4], 0x20
je 0x10087145
jmp 0x10087151
cmp dword [ebp - 0x60b4], 0x1680
je 0x10087145
jmp 0x10087151
cmp dword [ebp - 0x60b4], 0x205f
ja 0x10087137
cmp dword [ebp - 0x60b4], 0x205f
je 0x10087145
cmp dword [ebp - 0x60b4], 0x2000
jb 0x10087151
cmp dword [ebp - 0x60b4], 0x200a
jbe 0x10087145
cmp dword [ebp - 0x60b4], 0x202f
je 0x10087145
jmp 0x10087151
cmp dword [ebp - 0x60b4], 0x3000
je 0x10087145
jmp 0x10087151
mov dword [ebp - 0x124], 1
jmp 0x1008715b
mov dword [ebp - 0x124], 0
xor ecx, ecx
cmp dword [ebp - 0x70], 0x13
sete cl
cmp dword [ebp - 0x124], ecx
jne 0x100871f2
cmp dword [ebp - 0x8c], 0x1aa
je 0x10087188
cmp dword [ebp - 0x8c], 0x1ac
jne 0x1008719a
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x100871e8
mov ecx, dword [ebp - 0x90]
add ecx, dword [ebp - 0x88]
neg ecx
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
mov dword [eax + 0xc], 0
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x100871f2
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x8c], 0x16d
je 0x1008724c
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp edx, eax
jge 0x10087242
mov edx, dword [ebp - 0x90]
add edx, 6
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x10
mov dword [ebp - 0x38], ecx
jmp 0x1008724c
mov eax, 0xffffffed
jmp 0x10089e1e
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 4]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x64], 0
jle 0x1008745d
mov ecx, dword [ebp - 0x74]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov dword [ebp - 0x12c], eax
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 4]
mov dword [ebp - 0x60b8], eax
cmp dword [ebp - 0x60b8], 4
ja case.default.0x1008729a
mov ecx, dword [ebp - 0x60b8]
jmp dword [ecx*4 + 0x1008a150]
mov dword [ebp - 0x128], 1
jmp 0x10087367
cmp dword [ebp - 0x12c], 9
je 0x100872d7
cmp dword [ebp - 0x12c], 5
je 0x100872d7
cmp dword [ebp - 0x12c], 8
je 0x100872d7
mov dword [ebp - 0x60bc], 0
jmp 0x100872e1
mov dword [ebp - 0x60bc], 1
mov edx, dword [ebp - 0x60bc]
mov dword [ebp - 0x128], edx
jmp 0x10087367
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 5]
mov edx, dword [ebp - 0x12c]
xor eax, eax
cmp dword [edx*4 + 0x100944d8], ecx
sete al
mov dword [ebp - 0x128], eax
jmp 0x10087367
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 5]
xor eax, eax
cmp dword [ebp - 0x12c], edx
sete al
mov dword [ebp - 0x128], eax
jmp 0x10087367
mov ecx, dword [ebp - 0x74]
push ecx
call sym.glib_2.0.dll_g_unichar_get_script
add esp, 4
mov edx, dword [ebp - 0x94]
movzx ecx, byte [edx + 5]
xor edx, edx
cmp eax, ecx
sete dl
mov dword [ebp - 0x128], edx
jmp 0x10087367
xor eax, eax
cmp dword [ebp - 0x8c], 0x10
setne al
mov dword [ebp - 0x128], eax
xor ecx, ecx
cmp dword [ebp - 0x70], 0x10
sete cl
cmp dword [ebp - 0x128], ecx
jne 0x1008745d
cmp dword [ebp - 0x8c], 0x171
jne 0x1008739a
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x88]
add ecx, 1
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 2]
or eax, edx
cmp dword [ebp - 0x88], eax
jl 0x10087415
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10087409
mov eax, dword [ebp - 0x90]
add eax, 6
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10087413
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x1008745d
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10087453
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x90]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x88]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x1008745d
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x8c], 0x181
je 0x100874b7
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x100874ad
mov ecx, dword [ebp - 0x90]
add ecx, 4
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x100874b7
mov eax, 0xffffffed
jmp 0x10089e1e
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x64], 0
jle 0x1008772e
mov eax, dword [ebp - 0x74]
push eax
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
cmp dword [eax*4 + 0x100944d8], 2
je 0x1008772e
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x64]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], 0
cmp dword [ebp - 0x8c], 0x185
jne 0x1008751e
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x134]
cmp ecx, dword [ebp - 0x10]
jae 0x1008764f
mov dword [ebp - 0x13c], 1
mov edx, dword [ebp - 0x134]
movzx eax, byte [edx]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0xc0
jl 0x1008760e
mov ecx, dword [ebp - 0x138]
and ecx, 0x3f
movzx edx, byte [ecx + 0x10094498]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x148]
imul eax, eax, 6
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x138]
and edx, dword [ecx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x144]
shl edx, cl
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x140], 1
jmp 0x100875b7
mov eax, dword [ebp - 0x140]
add eax, 1
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
cmp ecx, dword [ebp - 0x148]
jg 0x100875fc
mov edx, dword [ebp - 0x144]
sub edx, 6
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x140]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x144]
shl edx, cl
or edx, dword [ebp - 0x138]
mov dword [ebp - 0x138], edx
jmp 0x100875a8
mov eax, dword [ebp - 0x13c]
add eax, dword [ebp - 0x148]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x138]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
cmp dword [eax*4 + 0x100944d8], 2
je 0x10087629
jmp 0x1008764f
mov edx, dword [ebp - 0x130]
add edx, 1
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x13c]
mov dword [ebp - 0x134], eax
jmp 0x1008751e
mov ecx, dword [ebp - 0x88]
add ecx, 1
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 2]
or eax, edx
cmp dword [ebp - 0x88], eax
jl 0x100876d8
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x100876cc
mov eax, dword [ebp - 0x90]
add eax, 4
neg eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x130]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x100876d6
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x1008772e
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10087724
mov edx, dword [ebp - 0x90]
neg edx
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x88]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x130]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x1008772e
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x8c], 0x195
je 0x10087788
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp edx, eax
jge 0x1008777e
mov edx, dword [ebp - 0x90]
add edx, 4
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x10
mov dword [ebp - 0x38], ecx
jmp 0x10087788
mov eax, 0xffffffed
jmp 0x10089e1e
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 4]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x64], 0
jle 0x10087949
mov dword [ebp - 0x14c], 0
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x60c0], ecx
cmp dword [ebp - 0x60c0], 0xd
ja 0x100877ea
cmp dword [ebp - 0x60c0], 0xd
je 0x1008782b
cmp dword [ebp - 0x60c0], 0xa
je 0x1008784c
cmp dword [ebp - 0x60c0], 0xa
jbe 0x10087949
cmp dword [ebp - 0x60c0], 0xc
jbe 0x10087817
jmp 0x10087949
cmp dword [ebp - 0x60c0], 0x85
je 0x10087817
cmp dword [ebp - 0x60c0], 0x2027
jbe 0x10087949
cmp dword [ebp - 0x60c0], 0x2029
jbe 0x10087817
jmp 0x10087949
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
and eax, 0x800000
je 0x10087829
jmp 0x10087949
jmp 0x1008784c
mov ecx, dword [ebp - 0x18]
add ecx, 1
cmp ecx, dword [ebp - 0x10]
jae 0x1008784c
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx + 1]
cmp eax, 0xa
jne 0x1008784c
mov dword [ebp - 0x14c], 1
cmp dword [ebp - 0x8c], 0x199
jne 0x1008786a
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x10
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 2]
or edx, ecx
cmp dword [ebp - 0x88], edx
jl 0x100878f3
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x100878e7
mov edx, dword [ebp - 0x90]
add edx, 4
neg edx
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14c]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x100878f1
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10087949
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x1008793f
mov ecx, dword [ebp - 0x90]
neg ecx
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14c]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10087949
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x8c], 0x1bd
je 0x100879a3
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10087999
mov ecx, dword [ebp - 0x90]
add ecx, 4
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x100879a3
mov eax, 0xffffffed
jmp 0x10089e1e
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x64], 0
jle 0x10087b2f
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x60c4], eax
cmp dword [ebp - 0x60c4], 0x85
ja 0x100879f1
cmp dword [ebp - 0x60c4], 0x85
je 0x10087a0b
cmp dword [ebp - 0x60c4], 0xa
jb 0x10087a17
cmp dword [ebp - 0x60c4], 0xd
jbe 0x10087a0b
jmp 0x10087a17
cmp dword [ebp - 0x60c4], 0x2028
jb 0x10087a17
cmp dword [ebp - 0x60c4], 0x2029
jbe 0x10087a0b
jmp 0x10087a17
mov dword [ebp - 0x150], 1
jmp 0x10087a21
mov dword [ebp - 0x150], 0
xor ecx, ecx
cmp dword [ebp - 0x70], 0x15
sete cl
cmp dword [ebp - 0x150], ecx
jne 0x10087b2f
cmp dword [ebp - 0x8c], 0x1c1
jne 0x10087a54
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x88]
add ecx, 1
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 2]
or eax, edx
cmp dword [ebp - 0x88], eax
jl 0x10087adb
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10087acf
mov eax, dword [ebp - 0x90]
add eax, 4
neg eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xc], 0
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10087ad9
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10087b2f
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10087b25
mov ecx, dword [ebp - 0x90]
neg ecx
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10087b2f
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x8c], 0x1a9
je 0x10087b89
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10087b7f
mov eax, dword [ebp - 0x90]
add eax, 4
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10087b89
mov eax, 0xffffffed
jmp 0x10089e1e
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x88], ecx
cmp dword [ebp - 0x64], 0
jle 0x10087d71
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x60c8], edx
cmp dword [ebp - 0x60c8], 0x180e
ja 0x10087c01
cmp dword [ebp - 0x60c8], 0x180e
je 0x10087c4d
cmp dword [ebp - 0x60c8], 0xa0
ja 0x10087bf3
cmp dword [ebp - 0x60c8], 0xa0
je 0x10087c4d
cmp dword [ebp - 0x60c8], 9
je 0x10087c4d
cmp dword [ebp - 0x60c8], 0x20
je 0x10087c4d
jmp 0x10087c59
cmp dword [ebp - 0x60c8], 0x1680
je 0x10087c4d
jmp 0x10087c59
cmp dword [ebp - 0x60c8], 0x205f
ja 0x10087c3f
cmp dword [ebp - 0x60c8], 0x205f
je 0x10087c4d
cmp dword [ebp - 0x60c8], 0x2000
jb 0x10087c59
cmp dword [ebp - 0x60c8], 0x200a
jbe 0x10087c4d
cmp dword [ebp - 0x60c8], 0x202f
je 0x10087c4d
jmp 0x10087c59
cmp dword [ebp - 0x60c8], 0x3000
je 0x10087c4d
jmp 0x10087c59
mov dword [ebp - 0x154], 1
jmp 0x10087c63
mov dword [ebp - 0x154], 0
xor eax, eax
cmp dword [ebp - 0x70], 0x13
sete al
cmp dword [ebp - 0x154], eax
jne 0x10087d71
cmp dword [ebp - 0x8c], 0x1ad
jne 0x10087c96
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x10
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 2]
or edx, ecx
cmp dword [ebp - 0x88], edx
jl 0x10087d1d
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10087d11
mov edx, dword [ebp - 0x90]
add edx, 4
neg edx
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10087d1b
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10087d71
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10087d67
mov eax, dword [ebp - 0x90]
neg eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x88]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
mov dword [eax + 0xc], 0
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10087d71
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x10087dd1
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp - 0x70]
jne 0x10087dd1
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10087dc7
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x90]
lea edx, [ecx + eax + 1]
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10087dd1
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jne 0x10087de1
jmp 0x10089dad
cmp dword [ebp - 0x3c], 0
je 0x10087ecb
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp - 0x70]
jne 0x10087e45
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10087e36
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x90]
lea edx, [ecx + eax + 1]
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10087e40
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10087ec9
cmp dword [ebp - 0x74], 0x80
jae 0x10087e5f
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x74]
movzx eax, byte [edx]
mov dword [ebp - 0x158], eax
jmp 0x10087e71
mov ecx, dword [ebp - 0x74]
push ecx
call fcn.10076490
add esp, 4
mov dword [ebp - 0x158], eax
mov edx, dword [ebp - 0x70]
cmp edx, dword [ebp - 0x158]
jne 0x10087ec9
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10087ebf
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x90]
lea edx, [ecx + eax + 1]
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10087ec9
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10087f2a
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x74]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x70]
movzx edx, byte [ecx]
cmp eax, edx
jne 0x10087f2a
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10087f20
mov eax, dword [ebp - 0x90]
add eax, 2
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10087f2a
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x100880d9
mov eax, dword [ebp - 0x74]
push eax
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
cmp dword [eax*4 + 0x100944d8], 2
je 0x100880d9
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x64]
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x15c], 0
mov edx, dword [ebp - 0x160]
cmp edx, dword [ebp - 0x10]
jae 0x10088082
mov dword [ebp - 0x164], 1
mov eax, dword [ebp - 0x160]
movzx ecx, byte [eax]
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x74], 0xc0
jb 0x10088044
mov edx, dword [ebp - 0x74]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
imul ecx, ecx, 6
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x74]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x16c]
shl eax, cl
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x168], 1
jmp 0x10087ff3
mov ecx, dword [ebp - 0x168]
add ecx, 1
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x168]
cmp edx, dword [ebp - 0x170]
jg 0x10088032
mov eax, dword [ebp - 0x16c]
sub eax, 6
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x160]
add ecx, dword [ebp - 0x168]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x16c]
shl edx, cl
or edx, dword [ebp - 0x74]
mov dword [ebp - 0x74], edx
jmp 0x10087fe4
mov eax, dword [ebp - 0x164]
add eax, dword [ebp - 0x170]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x74]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
cmp dword [eax*4 + 0x100944d8], 2
je 0x1008805c
jmp 0x10088082
mov edx, dword [ebp - 0x15c]
add edx, 1
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x160]
add eax, dword [ebp - 0x164]
mov dword [ebp - 0x160], eax
jmp 0x10087f69
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x100880cf
mov ecx, dword [ebp - 0x90]
add ecx, 1
neg ecx
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x15c]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x100880d9
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x10088270
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x60cc], eax
cmp dword [ebp - 0x60cc], 0xd
ja 0x1008812b
cmp dword [ebp - 0x60cc], 0xd
je 0x100881b9
cmp dword [ebp - 0x60cc], 0xa
je 0x1008816b
cmp dword [ebp - 0x60cc], 0xa
jbe 0x10088270
cmp dword [ebp - 0x60cc], 0xc
jbe 0x10088158
jmp 0x10088270
cmp dword [ebp - 0x60cc], 0x85
je 0x10088158
cmp dword [ebp - 0x60cc], 0x2027
jbe 0x10088270
cmp dword [ebp - 0x60cc], 0x2029
jbe 0x10088158
jmp 0x10088270
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x800000
je 0x1008816b
jmp 0x10088270
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x100881aa
mov eax, dword [ebp - 0x90]
add eax, 1
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x100881b4
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10088270
mov eax, dword [ebp - 0x18]
add eax, 1
cmp eax, dword [ebp - 0x10]
jae 0x10088227
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + 1]
cmp edx, 0xa
jne 0x10088227
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x1008821b
mov eax, dword [ebp - 0x90]
add eax, 1
neg eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xc], 1
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10088225
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10088270
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10088266
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10088270
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x10088319
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x60d0], ecx
cmp dword [ebp - 0x60d0], 0x85
ja 0x100882b4
cmp dword [ebp - 0x60d0], 0x85
je 0x100882ce
cmp dword [ebp - 0x60d0], 0xa
jb 0x100882d0
cmp dword [ebp - 0x60d0], 0xd
jbe 0x100882ce
jmp 0x100882d0
cmp dword [ebp - 0x60d0], 0x2028
jb 0x100882d0
cmp dword [ebp - 0x60d0], 0x2029
jbe 0x100882ce
jmp 0x100882d0
jmp 0x10088319
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x1008830f
mov edx, dword [ebp - 0x90]
add edx, 1
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10088319
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x100883c0
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x60d4], edx
cmp dword [ebp - 0x60d4], 0x85
ja 0x1008835d
cmp dword [ebp - 0x60d4], 0x85
je 0x10088377
cmp dword [ebp - 0x60d4], 0xa
jb 0x100883c0
cmp dword [ebp - 0x60d4], 0xd
jbe 0x10088377
jmp 0x100883c0
cmp dword [ebp - 0x60d4], 0x2028
jb 0x100883c0
cmp dword [ebp - 0x60d4], 0x2029
jbe 0x10088377
jmp 0x100883c0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x100883b6
mov eax, dword [ebp - 0x90]
add eax, 1
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x100883c0
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x100884c5
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x60d8], eax
cmp dword [ebp - 0x60d8], 0x180e
ja 0x1008842e
cmp dword [ebp - 0x60d8], 0x180e
je 0x1008847a
cmp dword [ebp - 0x60d8], 0xa0
ja 0x10088420
cmp dword [ebp - 0x60d8], 0xa0
je 0x1008847a
cmp dword [ebp - 0x60d8], 9
je 0x1008847a
cmp dword [ebp - 0x60d8], 0x20
je 0x1008847a
jmp 0x1008847c
cmp dword [ebp - 0x60d8], 0x1680
je 0x1008847a
jmp 0x1008847c
cmp dword [ebp - 0x60d8], 0x205f
ja 0x1008846c
cmp dword [ebp - 0x60d8], 0x205f
je 0x1008847a
cmp dword [ebp - 0x60d8], 0x2000
jb 0x1008847c
cmp dword [ebp - 0x60d8], 0x200a
jbe 0x1008847a
cmp dword [ebp - 0x60d8], 0x202f
je 0x1008847a
jmp 0x1008847c
cmp dword [ebp - 0x60d8], 0x3000
je 0x1008847a
jmp 0x1008847c
jmp 0x100884c5
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x100884bb
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov edx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x100884c5
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x100885ce
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x60dc], ecx
cmp dword [ebp - 0x60dc], 0x180e
ja 0x10088539
cmp dword [ebp - 0x60dc], 0x180e
je 0x10088585
cmp dword [ebp - 0x60dc], 0xa0
ja 0x10088528
cmp dword [ebp - 0x60dc], 0xa0
je 0x10088585
cmp dword [ebp - 0x60dc], 9
je 0x10088585
cmp dword [ebp - 0x60dc], 0x20
je 0x10088585
jmp 0x100885ce
cmp dword [ebp - 0x60dc], 0x1680
je 0x10088585
jmp 0x100885ce
cmp dword [ebp - 0x60dc], 0x205f
ja 0x10088577
cmp dword [ebp - 0x60dc], 0x205f
je 0x10088585
cmp dword [ebp - 0x60dc], 0x2000
jb 0x100885ce
cmp dword [ebp - 0x60dc], 0x200a
jbe 0x10088585
cmp dword [ebp - 0x60dc], 0x202f
je 0x10088585
jmp 0x100885ce
cmp dword [ebp - 0x60dc], 0x3000
je 0x10088585
jmp 0x100885ce
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x100885c4
mov edx, dword [ebp - 0x90]
add edx, 1
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x100885ce
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
cmp dword [ebp - 0x64], 0
jle 0x1008866b
mov edx, dword [ebp + 0x28]
and edx, 1
je 0x100885f6
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x70]
movzx ecx, byte [eax]
mov dword [ebp - 0x60e0], ecx
jmp 0x100885ff
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x60e0], edx
mov eax, dword [ebp - 0x60e0]
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x1008866b
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp - 0x174]
je 0x1008866b
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10088661
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x90]
lea edx, [ecx + eax + 1]
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x1008866b
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 4]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jle 0x100886d5
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x100886cb
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x90]
lea eax, [edx + ecx + 1]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x100886d5
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x100887e8
mov dword [ebp - 0x178], 0xffffffff
mov eax, dword [ebp + 0x28]
and eax, 1
je 0x10088723
cmp dword [ebp - 0x3c], 0
je 0x10088714
cmp dword [ebp - 0x70], 0x80
jb 0x10088714
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.10076490
add esp, 4
mov dword [ebp - 0x178], eax
jmp 0x10088723
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x70]
movzx eax, byte [edx]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x10088742
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp - 0x178]
je 0x10088742
mov dword [ebp - 0x60e4], 0
jmp 0x1008874c
mov dword [ebp - 0x60e4], 1
xor eax, eax
cmp dword [ebp - 0x8c], 0x2c
setl al
cmp dword [ebp - 0x60e4], eax
jne 0x100887e8
cmp dword [ebp - 0x88], 0
jle 0x10088791
cmp dword [ebp - 0x8c], 0x29
je 0x1008877f
cmp dword [ebp - 0x8c], 0x36
jne 0x10088791
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x10
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x100887de
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x90]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x100887e8
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp edx, eax
jge 0x10088830
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x90]
lea ecx, [eax + edx + 1]
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x1008883a
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10088936
mov dword [ebp - 0x17c], 0xffffffff
mov ecx, dword [ebp + 0x28]
and ecx, 1
je 0x10088888
cmp dword [ebp - 0x3c], 0
je 0x10088879
cmp dword [ebp - 0x70], 0x80
jb 0x10088879
mov edx, dword [ebp - 0x70]
push edx
call fcn.10076490
add esp, 4
mov dword [ebp - 0x17c], eax
jmp 0x10088888
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x70]
movzx ecx, byte [eax]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp - 0x70]
je 0x100888a7
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x17c]
je 0x100888a7
mov dword [ebp - 0x60e8], 0
jmp 0x100888b1
mov dword [ebp - 0x60e8], 1
xor ecx, ecx
cmp dword [ebp - 0x8c], 0x2c
setl cl
cmp dword [ebp - 0x60e8], ecx
jne 0x10088936
cmp dword [ebp - 0x8c], 0x2a
je 0x100888d7
cmp dword [ebp - 0x8c], 0x37
jne 0x100888e9
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x1008892c
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x90]
lea eax, [edx + ecx + 1]
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10088936
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x1008897e
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x90]
lea edx, [ecx + eax + 1]
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x10
mov dword [ebp - 0x38], ecx
jmp 0x10088988
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x64], 0
jle 0x10088a7d
mov dword [ebp - 0x180], 0xffffffff
mov edx, dword [ebp + 0x28]
and edx, 1
je 0x100889d6
cmp dword [ebp - 0x3c], 0
je 0x100889c7
cmp dword [ebp - 0x70], 0x80
jb 0x100889c7
mov eax, dword [ebp - 0x70]
push eax
call fcn.10076490
add esp, 4
mov dword [ebp - 0x180], eax
jmp 0x100889d6
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x70]
movzx edx, byte [ecx]
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x70]
je 0x100889f5
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x180]
je 0x100889f5
mov dword [ebp - 0x60ec], 0
jmp 0x100889ff
mov dword [ebp - 0x60ec], 1
xor edx, edx
cmp dword [ebp - 0x8c], 0x2c
setl dl
cmp dword [ebp - 0x60ec], edx
jne 0x10088a7d
cmp dword [ebp - 0x8c], 0x28
je 0x10088a25
cmp dword [ebp - 0x8c], 0x35
jne 0x10088a37
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x10
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp edx, eax
jge 0x10088a73
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x90]
mov dword [edx], eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [ebp - 0xc], ecx
jmp 0x10088a7d
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 4]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x64], 0
jle 0x10088be7
mov dword [ebp - 0x184], 0xffffffff
mov ecx, dword [ebp + 0x28]
and ecx, 1
je 0x10088adf
cmp dword [ebp - 0x3c], 0
je 0x10088ad0
cmp dword [ebp - 0x70], 0x80
jb 0x10088ad0
mov edx, dword [ebp - 0x70]
push edx
call fcn.10076490
add esp, 4
mov dword [ebp - 0x184], eax
jmp 0x10088adf
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x70]
movzx ecx, byte [eax]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp - 0x70]
je 0x10088afe
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x184]
je 0x10088afe
mov dword [ebp - 0x60f0], 0
jmp 0x10088b08
mov dword [ebp - 0x60f0], 1
xor ecx, ecx
cmp dword [ebp - 0x8c], 0x2c
setl cl
cmp dword [ebp - 0x60f0], ecx
jne 0x10088be7
mov edx, dword [ebp - 0x88]
add edx, 1
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
or ecx, eax
cmp dword [ebp - 0x88], ecx
jl 0x10088b9f
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10088b93
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x90]
lea eax, [edx + ecx + 3]
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10088b9d
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10088be7
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10088bdd
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x90]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x88]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10088be7
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10088c2f
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x90]
lea eax, [edx + ecx + 3]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10088c39
mov eax, 0xffffffed
jmp 0x10089e1e
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x88], ecx
cmp dword [ebp - 0x64], 0
jle 0x10088dc2
mov dword [ebp - 0x188], 0xffffffff
mov edx, dword [ebp + 0x28]
and edx, 1
je 0x10088c96
cmp dword [ebp - 0x3c], 0
je 0x10088c87
cmp dword [ebp - 0x70], 0x80
jb 0x10088c87
mov eax, dword [ebp - 0x70]
push eax
call fcn.10076490
add esp, 4
mov dword [ebp - 0x188], eax
jmp 0x10088c96
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x70]
movzx edx, byte [ecx]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x70]
je 0x10088cb5
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x188]
je 0x10088cb5
mov dword [ebp - 0x60f4], 0
jmp 0x10088cbf
mov dword [ebp - 0x60f4], 1
xor edx, edx
cmp dword [ebp - 0x8c], 0x2c
setl dl
cmp dword [ebp - 0x60f4], edx
jne 0x10088dc2
cmp dword [ebp - 0x8c], 0x2b
je 0x10088ce9
cmp dword [ebp - 0x8c], 0x38
jne 0x10088cfb
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x10
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x88]
add edx, 1
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
or ecx, eax
cmp dword [ebp - 0x88], ecx
jl 0x10088d7a
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10088d6e
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x90]
lea eax, [edx + ecx + 3]
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x10
mov dword [ebp - 0xc], edx
jmp 0x10088d78
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10088dc2
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp eax, ecx
jge 0x10088db8
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x90]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x88]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10088dc2
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov dword [ebp - 0x194], 0
cmp dword [ebp - 0x8c], 0x50
je 0x10088e46
mov ecx, dword [ebp - 0x94]
add ecx, 0x21
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x64], 0
jle 0x10088e44
cmp dword [ebp - 0x74], 0xff
jbe 0x10088e0c
xor edx, edx
cmp dword [ebp - 0x8c], 0x4f
sete dl
mov dword [ebp - 0x60f8], edx
jmp 0x10088e38
mov eax, dword [ebp - 0x74]
shr eax, 3
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + eax + 1]
mov ecx, dword [ebp - 0x74]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x60f8], edx
mov ecx, dword [ebp - 0x60f8]
mov dword [ebp - 0x194], ecx
jmp 0x10088e8d
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0x94]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x64], 0
jle 0x10088e8d
mov eax, dword [ebp - 0x94]
add eax, 3
push eax
mov ecx, dword [ebp - 0x74]
push ecx
call fcn.10083540
add esp, 8
mov dword [ebp - 0x194], eax
mov edx, dword [ebp - 0x190]
sub edx, dword [ebp - 0x44]
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x190]
movzx ecx, byte [eax]
mov dword [ebp - 0x60fc], ecx
mov edx, dword [ebp - 0x60fc]
sub edx, 0x46
mov dword [ebp - 0x60fc], edx
cmp dword [ebp - 0x60fc], 7
ja case.default.0x10088ecd
mov eax, dword [ebp - 0x60fc]
jmp dword [eax*4 + 0x1008a164]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10088f13
mov ecx, dword [ebp - 0x18c]
add ecx, 1
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x10088f1d
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x194], 0
je 0x10088f6c
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10088f62
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x90]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
jmp 0x10088f6c
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089286
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0
jle 0x10088fd2
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp eax, ecx
jge 0x10088fc8
mov eax, dword [ebp - 0x18c]
add eax, 1
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov dword [ebp - 0x38], edx
jmp 0x10088fd2
mov eax, 0xffffffed
jmp 0x10089e1e
cmp dword [ebp - 0x194], 0
je 0x10089032
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp ecx, edx
jge 0x10089028
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x5553ff70]
push ebx
push ebp
add byte [eax], al
push ss
add byte [eax], al
add byte [ebx], bh
mov bh, 0xe4
push cs
add byte [eax], al
or al, 0xeb
ror dword [ebx - 0x1a7407bb], cl
invalid
inc esp
and al, 0x5c
push eax
push dword [esp + 0xa8]
mov ah, 0x24
test al, 0
add byte [eax], al
invalid
mov ah, 0x24
test al, 0
add byte [eax], al
invalid
add byte [edi - 0x18], dl
dec edx
invalid
push edi
call fcn.100890e1
mov dword [esp + 0x58], eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x10c]
push esi
call fcn.100890e1
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x10c]
push edi
call fcn.100890e1
mov ebx, eax
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x19c]
push edi
call fcn.100890e1
mov ebp, eax
lea eax, [esp + 0x8c]
push eax
push dword [esp + 0x190]
push edi
call fcn.100890e1
add esp, 0x48
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x50]
push eax
push dword [esp + 0xec]
push edi
call fcn.100890e1
mov edi, eax
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x98]
push dword [esp + 0x28]
call fcn.100890e1
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x198]
push esi
call fcn.100890e1
add esp, 0x24
mov esi, eax
push 0x80
push 0x40
call dword [esp + 0x24]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x118]
push dword [esp + 0x1c]
call fcn.100890e1
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x68], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 0x48]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x24], eax
lea eax, [esp + 0x5c]
mov dword [ecx + 0x34], ebx
mov ebx, dword [esp + 0x3c]
mov dword [ecx + 0x3c], esi
mov esi, dword [esp + 0x28]
push eax
mov dword [ecx + 0x78], ebx
mov dword [ecx + 0x64], esi
mov dword [ecx + 0x6c], ebp
mov dword [ecx + 0x54], edi
push dword [esp + 0x1a0]
and al, 0xa0
add dword [eax], eax
add byte [ebx - 0x18], dl
sbb bh, ch
invalid
dec dword [ebx - 0x76d7db84]
inc edi
pop eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x188]
push ebx
call fcn.100890e1
mov dword [edi + 0x5c], eax
lea eax, [esp + 0x74]
push eax
push dword [esp + 0xfc]
push dword [esp + 0x40]
call fcn.100890e1
mov edx, dword [esp + 0x1bc]
add esp, 0x30
mov ebp, dword [esp + 0x20]
and dword [esp + 0x10], 0
and dword [esp + 0x18], 0
mov dword [esp + 0x24], eax
mov eax, dword [edx + ebp + 4]
mov ebx, dword [edx + ebp]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x80]
xor ecx, ecx
xor eax, dword [esp + 0xe0]
mov dword [esp + 0x14], ecx
cmp ebx, eax
je 0x100894db
and al, 0xa0
add dword [eax], eax
add byte [ebx - 0x18], dl
sbb bh, ch
invalid
push ebx
push 0x40
call esi
mov ecx, dword [esp + 0x2c]
mov esi, eax
add ecx, 8
push ebx
add ecx, ebp
push ecx
push esi
call fcn.100890a2
add esp, 0xc
xor eax, eax
test ebx, ebx
je 0x1008946e
mov ecx, dword [esp + 0x20]
xor dword [eax + esi], ecx
add eax, 4
cmp eax, ebx
jb 0x10089464
push 0x20a
push 0x40
call dword [esp + 0x24]
mov cl, byte [esi]
mov ebx, eax
test cl, cl
je 0x10089494
mov edx, ebx
movsx ax, cl
inc esi
mov word [edx], ax
lea edx, [edx + 2]
mov cl, byte [esi]
test cl, cl
jne 0x10089483
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x1c]
push eax
push ebx
push edi
call fcn.10089a88
add esp, 0x10
test al, al
je 0x10089602
lea eax, [esp + 0x50]
push eax
push edi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x28]
call fcn.1008969f
add esp, 0x14
test al, al
je 0x10089602
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
and dword [esp + 0x10], 0
lea eax, [esp + 0x10]
push edi
push eax
push dword [ecx + 0xc]
lea eax, [ecx + 0x10]
push dword [ecx + 8]
push eax
call fcn.10089664
add esp, 0x14
test al, al
je 0x10089602
mov ebx, dword [esp + 0x10]
xor ebp, ebp
lea eax, [ebx + 0x90]
push eax
call fcn.10089a19
pop ecx
test eax, eax
jne 0x1008951d
mov ebp, dword [ebx + 0x160]
mov eax, dword [ebx + 8]
lea ecx, [esp + 0x50]
and dword [esp + 0x18], 0
add eax, 0x3dd
push ecx
push dword [esp + 0xc4]
add eax, ebp
lea ecx, [esp + 0x20]
add eax, ebx
push ecx
push eax
push edi
mov dword [esp + 0x34], eax
call fcn.10089004
add esp, 0x14
mov ebp, eax
push 0x20a
push 0x40
call esi
mov esi, eax
lea ecx, [ebx + 0xf4]
push esi
push ecx
call fcn.1008960d
push esi
call fcn.100899a0
push eax
push edi
call fcn.1008990f
mov edi, dword [esp + 0x2c]
add esp, 0x14
mov ecx, dword [eax + 0x3c]
push edi
push 0x40
mov ebx, dword [ecx + eax + 0x2c]
add ebx, eax
call dword [esp + 0x24]
push edi
mov esi, eax
push ebx
push esi
call fcn.100890a2
mov eax, esi
add esp, 0xc
mov esi, dword [esp + 0x20]
cdq
mov dword [esi + 0xcc0], eax
lea eax, [esp + 0x28]
push eax
mov dword [esi + 0xcc4], edx
push dword [esp + 0xa8]
and dword [esp + 0x30], 0
push edi
push ebx
call dword [esp + 0x34]
push edi
push ebp
push ebx
call fcn.100890a2
add esp, 0xc
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x2c]
push edi
push ebx
call dword [esp + 0x34]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x50], ebx
push esi
push dword [esp + 0x1c]
mov dword [esp + 0x5c], edi
call ebx
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1ec
ret
add byte [ecx + 0xf], bl
mov bh, 0xc8
cmp dword [0x100fe990], 0
je 0x10089da4
mov dword [ebp - 0x5fec], 1
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 1]
mov dword [ebp - 0x5fe8], edx
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x5fe4], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x5fe0], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x5fdc], edx
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x5fd8], eax
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x5fd4], ecx
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 2]
shl eax, 8
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx + 3]
or eax, edx
mov dword [ebp - 0x5fc4], eax
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 4]
shl ecx, 8
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 5]
or ecx, eax
mov dword [ebp - 0x5fc0], ecx
mov dword [ebp - 0x5fd0], 1
mov dword [ebp - 0x5fcc], 0xffffffff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x5fc8], edx
lea eax, [ebp - 0x5fec]
push eax
call dword [0x100fe990]
add esp, 4
mov dword [ebp - 0x5fbc], eax
cmp dword [ebp - 0x5fbc], 0
jge 0x10089d55
mov eax, dword [ebp - 0x5fbc]
jmp 0x10089e1e
cmp dword [ebp - 0x5fbc], 0
jne 0x10089da4
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp ecx, edx
jge 0x10089d9d
mov ecx, dword [ebp - 0x90]
add ecx, 6
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x28]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x10089da4
mov eax, 0xffffffed
jmp 0x10089e1e
jmp 0x10089dad
mov eax, 0xfffffff0
jmp 0x10089e1e
jmp 0x10084073
cmp dword [ebp - 0x30], 0
jg 0x10089e0d
cmp dword [ebp - 4], 0
jge 0x10089e0b
cmp dword [ebp + 0x2c], 1
jne 0x10089e0b
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x8000
je 0x10089e0b
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x10]
jb 0x10089e0b
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp + 0x10]
jbe 0x10089e0b
cmp dword [ebp + 0x1c], 2
jl 0x10089e04
mov edx, dword [ebp + 0x10]
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x18]
mov dword [eax], edx
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0x18]
mov dword [edx + 4], ecx
mov dword [ebp - 4], 0xfffffff4
jmp 0x10089e1b
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], eax
jmp 0x10083f53
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret