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

Disassembly:
sub esp, 0x3e4
mov eax, dword [0x100b4368]
push ebx
push ebp
mov ebp, dword [esp + 0x3f0]
mov dword [esp + 0x3e8], eax
mov eax, dword [ebp + 0x2f8]
push esi
push edi
and dword [eax + 0x32c], 0xfffffffc
mov eax, dword [ebp + 0x2f8]
and dword [eax + 0x32c], 0xffffffe7
mov eax, dword [ebp + 0x2f8]
mov ecx, dword [eax + 0x32c]
xor esi, esi
and ecx, 0xfffffffb
mov dword [eax + 0x32c], ecx
mov ecx, dword [esp + 0x404]
cmp ecx, 7
mov byte [esp + 0x15], 0
mov dword [esp + 0x58], esi
mov dword [0x100b2278], 0xf42400
mov dword [0x100ba76c], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x28], esi
mov dword [0x100ba75c], esi
mov dword [esp + 0x44], esi
mov byte [esp + 0x4b], 0
mov dword [esp + 0xa0], esi
jne 0x10078b37
mov ecx, 3
mov dword [esp + 0x404], ecx
mov dword [esp + 0x44], 1
jmp 0x10078b3c
cmp ecx, 2
je 0x10078b43
mov byte [0x100ba76a], 0
cmp ecx, 4
mov edi, dword [esp + 0x40c]
jne 0x10078c58
mov bl, byte [0x100ba760]
cmp bl, 2
mov byte [esp + 0x11], 0
jne 0x10078b76
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10078b68
mov byte [esp + 0x11], 0x60
jmp 0x10078b8c
cmp bl, 3
jne 0x10078b92
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10078b80
mov byte [esp + 0x11], 0x40
sub eax, edx
mov dword [esp + 0x18], eax
cmp bl, 1
mov al, byte [esp + 0x408]
mov esi, dword [0x100ba764]
mov dword [esp + 0x3c], 3
mov byte [esp + 0x13], al
mov dword [esp + 0x38], esi
jb 0x10078bbc
mov dword [esp + 0x3c], 4
cmp bl, 4
jne 0x10078c36
mov dword [esp + 0x3c], 8
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x400]
test al, 0xc
jne 0x10078be2
or eax, 8
mov dword [esp + 0x400], eax
mov cl, al
and cl, 0xc0
and al, 0xc
cmp esi, 0xffff
mov byte [esp + 0x12], cl
mov byte [esp + 0x10], al
mov dword [esp + 0x2c], 0
jle 0x1007cf93
cmp esi, 0x989680
jge 0x1007cf93
cmp esi, 0x400000
jl 0x1007ce4a
cmp esi, 0x40a410
jg 0x1007ce4a
mov dword [esp + 0x2c], 0x40
jmp 0x1007cf93
cmp bl, 5
jne 0x10078bc9
mov ecx, dword [ebp + 0x2f8]
push 0xffffffffffffffff
push edi
push ecx
call fcn.100a5245
mov esi, eax
add esp, 0xc
mov dword [esp + 0x38], esi
jmp 0x10078bc9
cmp ecx, 1
mov edx, dword [ebp + 0x44]
mov eax, dword [esp + 0x3fc]
movzx dx, byte [edx + eax]
mov word [esp + 0x3c], dx
jne 0x10078db3
mov eax, dword [ebp + 0x40]
mov ebx, dword [esp + 0x3fc]
mov ecx, dword [eax + ebx*4]
lea edx, [esp + 0x38]
push edx
push ebp
mov dword [esp + 0x40], ecx
call fcn.10078760
add esp, 8
cmp word [esp + 0x3c], 5
je 0x10078cb9
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 0x10]
push eax
push 0xffffffffffffffff
push edi
call fcn.100839e0
add esp, 0xc
mov esi, dword [esp + 0x38]
cmp esi, 0x989680
je 0x1007b09a
jg 0x1007b09a
cmp esi, 0xfbf4
jl 0x10078ce3
cmp esi, 0x10000
jle 0x1007b09a
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10078ce8
mov ecx, dword [esp + 0x3c]
sub eax, edx
cmp cx, 3
mov dword [esp + 0x18], eax
je 0x10078d05
cmp cx, 4
jne 0x10078d24
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + ebx*2]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
mov edx, dword [ebp + 0x14]
test byte [eax + edx + 2], 2
jne 0x1007b09a
cmp cx, 3
jne 0x10078d54
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
add eax, ecx
test byte [eax + 2], 1
jne 0x1007b09a
test byte [eax + 3], 3
jne 0x1007b09a
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + ebx*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
lea ecx, [edx + eax]
mov al, byte [ecx + 3]
mov cl, byte [ecx + 2]
mov dl, al
and dl, 0xc0
and al, 0xc
and cl, 0x60
cmp esi, 0x989681
mov byte [esp + 0x13], dl
mov byte [esp + 0x14], al
mov byte [esp + 0x11], cl
jne 0x10078d99
mov byte [esp + 0x11], 0x40
jmp 0x10078bc9
cmp esi, 0x989682
mov ebx, dword [esp + 0x4c]
jne 0x10078bcd
mov byte [esp + 0x11], 0x60
jmp 0x10078bcd
cmp ecx, 2
je 0x10079d61
cmp ecx, 6
je 0x10079d61
cmp ecx, 3
je 0x10078dd3
cmp ecx, 5
jne case.0x1007d117.33
mov edx, dword [esp + 0x418]
mov eax, edi
mov byte [edx], 0
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10078de2
sub eax, ebx
cmp ax, si
movsx ebx, ax
movzx dx, byte [ebx + edi - 1]
mov dword [esp + 0x18], eax
mov word [esp + 0x40], dx
jle 0x10078e42
movzx eax, ax
mov dword [esp + 0x20], esi
mov esi, edi
mov dword [esp + 0x54], eax
nop
cmp byte [esi], 0x2d
jne 0x10078e32
mov eax, dword [esp + 0x20]
mov ecx, ebx
sub ecx, eax
push ecx
lea edx, [esi + 1]
push edx
push esi
call fcn.100a5245
mov ecx, dword [esp + 0x410]
add esp, 0xc
inc dword [esp + 0x20]
mov eax, dword [esp + 0x54]
inc esi
dec eax
mov dword [esp + 0x54], eax
jne 0x10078e10
mov al, byte [ebx + edi - 1]
cmp al, 0x84
jbe 0x10078e8e
movzx eax, al
add eax, 0xffffff20
cmp eax, 0x19
ja case.0x10078e5e.225
movzx eax, byte [eax + 0x1007f4e8]
jmp dword [eax*4 + 0x1007f4d0]
mov byte [esp + 0x10], 0x7b
jmp case.0x10078e5e.225
mov byte [esp + 0x10], 0x7c
jmp case.0x10078e5e.225
mov byte [esp + 0x10], 0x7d
jmp case.0x10078e5e.225
mov byte [esp + 0x10], 0x7e
jmp case.0x10078e5e.225
mov byte [esp + 0x10], 0x7f
mov dl, byte [esp + 0x10]
mov byte [ebx + edi - 1], dl
mov edx, dword [ebp + 0x2f8]
xor eax, eax
add edx, 0x10
cmp ecx, 5
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
jne 0x10078ec8
mov ecx, dword [ebp + 0x2f8]
lea eax, [esp + 0x420]
push eax
push 0
push edi
push ecx
call fcn.100649e0
add esp, 0x10
jmp 0x10078ed8
mov edx, dword [ebp + 0x2f8]
push edi
push edx
call fcn.100a5245
add esp, 8
mov esi, eax
cmp esi, 0xf42400
mov dword [esp + 0x38], esi
je 0x10078ef5
mov eax, dword [ebp + 0x2f8]
push eax
call fcn.1005bcf0
add esp, 4
mov ecx, dword [ebp + 0x2f8]
xor eax, eax
cmp esi, 0xf42400
mov dword [ecx + 0x320], eax
je 0x10079bd4
cmp esi, 0x30000
mov ecx, dword [esp + 0x404]
jle 0x10078f27
cmp ecx, 3
je 0x10079bd4
cmp ecx, 5
jne 0x10079190
mov edx, dword [ebp + 0x2f8]
mov dword [esp + 0x420], 0xf42400
mov al, byte [edx + 0x10]
and al, 0xe0
cmp al, 0x80
mov byte [esp + 0x11], 0
jne 0x10078f5c
mov dword [esp + 0x3c], 4
jmp 0x10079156
cmp al, 0xc0
jne 0x10079105
cmp word [esp + 0x408], 4
jne 0x1007914e
mov eax, dword [esp + 0x40c]
push eax
lea ecx, [esp + 0xd4]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov eax, dword [ebp + 0x2f8]
mov byte [esp + ebx + 0xdb], 0x6f
movsx ebx, word [eax + 0xc]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
lea esi, [eax + 0x10]
lea edi, [esp + 0xb4]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 0x320]
push ecx
lea edx, [esp + 0x30]
push edx
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0xe4]
push ecx
push 0
push edx
push ecx
push eax
call fcn.1005ef70
add esp, 0x28
test ax, ax
jne 0x10079065
mov eax, dword [ebp + 0x2f8]
push 0xffffffffffffffff
lea edx, [esp + 0xd4]
push edx
push eax
call fcn.100a5245
mov esi, eax
add esp, 0xc
cmp esi, 0xf42400
mov dword [esp + 0x20], esi
je 0x1007902c
mov ecx, dword [ebp + 0x2f8]
mov dl, byte [ecx + 0x10]
and dl, 0xe0
cmp dl, 0x80
jne 0x1007902c
mov cl, byte [ecx + 0x11]
test cl, 0x10
jne 0x1007902c
and cl, 0xf
cmp cl, 7
je 0x10079069
mov eax, dword [ebp + 0x2f8]
mov dword [eax + 0xc], ebx
mov edi, dword [ebp + 0x2f8]
mov ecx, ebx
mov edx, ecx
add edi, 0x10
shr ecx, 2
lea esi, [esp + 0xa8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x40c]
jmp 0x1007914e
mov esi, dword [esp + 0x20]
mov dword [esp + 0x420], esi
mov ecx, dword [esp + 0x40c]
lea eax, [esp + 0xd0]
push eax
push 0xffffffffffffffff
push ecx
call fcn.100839e0
add esp, 0xc
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0x40c]
cmp byte [eax + 2], 0x60
jne 0x100790a3
mov byte [eax + 2], 0
cmp dword [esp + 0x404], 2
jne 0x100790ea
mov eax, dword [0x100ba76c]
test eax, eax
jne 0x100790ea
movzx edx, word [0x100ba768]
cmp edx, dword [esp + 0x3fc]
jge 0x100790ea
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x418]
push eax
push 0xffffffffffffffff
push ecx
mov dword [0x100ba76c], 1
call fcn.100839e0
add esp, 0xc
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3e0]
call fcn.1009d15f
add esp, 0x3e4
ret
push 0
push ebp
call fcn.10078640
add esp, 8
cmp ax, 1
jne 0x10079143
cmp byte [ebx + edi - 1], 0x65
mov byte [esp + 0x11], 0x60
mov dword [esp + 0x3c], 4
jne 0x1007912f
mov byte [ebx + edi - 1], 0x61
cmp byte [ebx + edi - 1], 0x61
je case.0x1007d117.33
mov edi, dword [esp + 0x40c]
jmp 0x10079156
cmp ax, 2
jne 0x10079156
mov byte [esp + 0x11], 0x40
mov dword [esp + 0x3c], 3
cmp esi, 0xffff
mov dword [esp + 0x400], 0x88
jle 0x10079174
mov dword [esp + 0x400], 0x48
mov cl, byte [esp + 0x400]
mov al, cl
and al, 0xc0
mov byte [esp + 0x13], al
mov al, cl
and al, 0xc
mov byte [esp + 0x14], al
jmp 0x10078bc9
cmp esi, 0xffff
mov dword [esp + 0x2c], eax
jle 0x100791a8
cmp esi, 0x989680
jl 0x10079bf9
mov eax, dword [ebp + 0x2f8]
mov dl, byte [eax + 0x10]
and dl, 0xe0
cmp ecx, 3
mov byte [esp + 0x10], dl
jne 0x1007926c
cmp word [esp + 0x408], 1
jne 0x10079264
cmp dl, 0x80
jne 0x1007927b
test byte [eax + 0x11], 0x10
je 0x1007927b
movzx eax, byte [eax + 0x15]
and eax, 0xe0
cmp eax, 0x80
mov dword [esp + 0x2c], 5
je 0x10079202
cmp eax, 0xc0
jne 0x1007920a
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x1007927b
mov eax, dword [ebp + 0x2f8]
mov cl, byte [eax + 0x12]
movzx eax, byte [eax + 0x13]
xor ebx, ebx
mov bl, cl
and ebx, 7
shl ebx, 8
add eax, ebx
test cl, 8
je 0x1007922a
neg eax
test eax, eax
je 0x1007927b
push 0xffffffffffffffff
push edi
add eax, esi
push eax
call fcn.10064f10
mov ecx, dword [ebp + 0x2f8]
push edi
push ecx
call fcn.100a5245
mov esi, eax
mov eax, dword [ebp + 0x2f8]
mov dl, byte [eax + 0x10]
add esp, 8
mov dword [esp + 0x2c], 0
and dl, 0xe0
jmp 0x100791c1
mov byte [esp + 0x10], dl
mov dword [esp + 0x38], esi
cmp dl, 0x80
jne 0x10079283
mov dword [esp + 0x2c], 5
jmp 0x10079283
mov byte [esp + 0x10], dl
mov dword [esp + 0x38], esi
cmp dl, 0x60
mov byte [esp + 0x16], 0
jne 0x10079292
add dword [esp + 0x2c], 2
cmp dword [esp + 0x44], 1
jne 0x100792f3
cmp dl, 0x80
jne 0x100792f3
mov eax, dword [ebp + 0x2f8]
cmp dword [eax + 0xc], 5
jbe 0x100792f3
mov al, byte [eax + 0x15]
and al, 0xe0
cmp al, 0xc0
jne 0x100792f3
mov dl, al
mov eax, dword [ebp + 0x2f8]
add dword [eax + 0xc], 0xfffffffb
mov eax, dword [ebp + 0x2f8]
mov ecx, dword [eax + 0xc]
lea esi, [eax + 0x15]
lea edi, [eax + 0x10]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x40c]
mov byte [esp + 0x10], dl
mov dword [esp + 0x2c], 0
mov ecx, dword [ebp + 0x2f8]
mov al, byte [ecx + 0x10]
and al, 1
dec al
neg al
sbb al, al
inc al
shl al, 1
add al, 5
cmp dl, 0xc0
jne 0x1007933f
mov ebx, dword [ecx + 0xc]
movzx eax, al
cmp ebx, eax
jbe 0x10079334
mov bl, byte [eax + ecx + 0x10]
and bl, 0xe0
cmp bl, 0x40
jne 0x10079334
mov al, byte [eax + ecx + 0x11]
and al, 0xf8
cmp al, 0x88
jne 0x10079334
mov byte [esp + 0x16], 1
test byte [ecx + 0x13], 0x20
je 0x1007933f
mov byte [esp + 0x16], 1
cmp dword [esp + 0x404], 3
jne 0x100793ab
mov al, byte [esp + 0x16]
test al, al
jne 0x100793ab
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100793ab
cmp dl, 0xc0
jne 0x10079364
test byte [ecx + 0x10], 2
je 0x100793ab
mov cl, byte [ecx + 0x11]
and cl, 0xf
cmp cl, 0xb
je 0x100793ab
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10079374
push 0
sub eax, edx
lea edx, [esp + 0x54]
push edx
push 0
push 0x1f4
push eax
mov eax, dword [0x100bba98]
mov ecx, dword [eax + 0x2f8]
push edi
push ecx
call fcn.1005ef70
add esp, 0x1c
test ax, ax
je 0x100793ab
mov byte [esp + 0x16], 1
mov edi, dword [ebp + 0x2f8]
movsx ebx, word [esp + 0x2c]
cmp dword [edi + 0xc], ebx
jle 0x100799dc
mov al, byte [esp + 0x16]
test al, al
jne 0x100799dc
mov cl, byte [ebx + edi + 0x10]
lea eax, [ebx + edi]
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
mov byte [esp + 0x17], cl
jne 0x100799dc
mov dl, byte [eax + 0x12]
and cl, 1
dec cl
neg cl
sbb ecx, ecx
inc ecx
and dl, 0x1c
cmp dl, 0x18
lea ecx, [ecx + ecx + 5]
mov dword [esp + 0xa0], ecx
jae 0x10079529
mov edx, dword [edi + 0xc]
add ecx, ebx
cmp edx, ecx
jle 0x10079434
mov ecx, dword [esp + 0xa0]
mov dl, byte [ecx + eax + 0x10]
and dl, 0xe0
cmp dl, 0xc0
jne 0x10079434
mov dl, byte [ecx + eax + 0x12]
and dl, 0x1c
cmp dl, 0x18
jae 0x1007954c
mov cl, byte [esp + 0x17]
and cl, 0xe0
cmp cl, 0xc0
jne 0x1007944f
mov dl, byte [eax + 0x12]
and dl, 0x1d
cmp dl, 1
je 0x100799a9
mov eax, dword [ebp + 0x2f8]
mov al, byte [ebx + eax + 0x10]
mov cl, al
and al, 1
and cl, 0xc
dec al
neg al
mov byte [esp + 0x10], cl
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
movsx edx, ax
add edx, ebx
cmp dword [edi + 0xc], edx
mov dword [esp + 0x40], eax
jle 0x100794fe
movsx edx, ax
add edx, ebx
mov dl, byte [edx + edi + 0x10]
and dl, 0xe0
cmp dl, 0xc0
jne 0x100794fe
cmp byte [edi], 0
jne 0x100794d8
mov dl, byte [esp + 0x17]
and dl, 0xc
cmp dl, 4
jne 0x100794d8
mov eax, dword [esp + 0x40c]
mov edi, dword [esp + 0x418]
push eax
lea ecx, [edi + 1]
push 0xffffffffffffffff
push ecx
mov byte [edi], 0x50
call fcn.100839e0
push 0x100a8dc0
push 0xffffffffffffffff
push edi
call fcn.10083990
mov cl, byte [esp + 0x28]
mov eax, dword [esp + 0x58]
add esp, 0x18
mov edi, dword [ebp + 0x2f8]
movsx edx, ax
add edx, ebx
mov dl, byte [edx + edi + 0x10]
and dl, 0xc
cmp dl, 0xc
jne 0x100794fe
mov ecx, dword [esp + 0x2c]
add ecx, eax
movsx ebx, cx
mov cl, byte [ebx + edi + 0x10]
and cl, dl
cmp cl, 8
jne 0x1007963e
test byte [ebx + edi + 0x10], 1
jne 0x1007964f
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x28], 0
mov byte [eax], 0x50
jmp case.0x1007d117.33
cmp ecx, 5
jle 0x10079550
lea edx, [ecx + ebx]
cmp dword [edi + 0xc], edx
jle 0x10079550
mov dl, byte [ecx + eax + 0x10]
and dl, 0xe0
cmp dl, 0xc0
jne 0x10079550
mov al, byte [ecx + eax + 0x12]
and al, 0x1c
cmp al, 0x18
jb 0x10079550
add dword [esp + 0x2c], ecx
movsx ebx, word [esp + 0x2c]
test byte [ebx + edi + 0x12], 1
jne 0x100799a9
mov ecx, dword [esp + 0x40c]
push 0
push esi
push ecx
push ebp
call fcn.10077f10
mov edx, dword [0x100bb5bc]
lea ecx, [edx + eax*2]
mov edx, dword [0x100bb6c4]
add esp, 0xc
add ecx, eax
push ecx
push edx
call fcn.10083e20
mov ecx, dword [0x100bb6c4]
push 3
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.10083dc0
mov al, byte [esp + 0x74]
add esp, 0x18
cmp al, 0x6d
je 0x100799a9
mov edi, dword [ebp + 0x2f8]
mov cl, byte [ebx + edi + 0x10]
mov edx, dword [edi + 0xc]
mov byte [esp + 0x17], cl
and cl, 1
lea eax, [ebx + edi]
dec cl
neg cl
sbb ecx, ecx
inc ecx
lea ecx, [ecx + ecx + 5]
movsx ecx, cx
mov dword [esp + 0x64], ecx
add ecx, ebx
cmp edx, ecx
jle 0x100795f1
mov edx, dword [esp + 0x64]
mov cl, byte [edx + eax + 0x10]
and cl, 0xe0
cmp cl, 0xc0
je 0x100799a9
cmp byte [edi], 0
js 0x100799a9
mov edx, dword [ebp + 0x2f8]
lea ecx, [ebx + edx]
mov edx, dword [esp + 0x64]
mov dl, byte [ecx + edx + 0x10]
xor dl, byte [ecx + 0x10]
test dl, 0xc
jne 0x10079434
mov cl, byte [esp + 0x17]
and cl, 0xc
cmp cl, 4
jne 0x10079434
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x28], 0
mov byte [edx], 0x49
jmp case.0x1007d117.33
cmp cl, 4
je 0x100798e5
test cl, cl
je 0x100798e5
mov al, byte [ebx + edi + 0x11]
and al, 0xf
cmp al, 8
je 0x1007965d
cmp al, 0xb
jne 0x100796a9
cmp cl, 8
je 0x100796ae
mov ecx, dword [esp + 0x40c]
push 0
push esi
push ecx
push ebp
call fcn.10077f10
mov edx, dword [0x100bb5bc]
lea ecx, [edx + eax*2]
mov edx, dword [0x100bb6c4]
add esp, 0xc
add ecx, eax
push ecx
push edx
call fcn.10083e20
mov ecx, dword [0x100bb6c4]
push 3
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.10083dc0
add esp, 0x18
jmp 0x1007992e
cmp cl, 8
jne 0x100796be
mov dx, word [ebx + edi + 0x15]
mov word [esp + 0x38], dx
mov esi, dword [esp + 0x38]
jmp 0x100796c8
mov al, byte [edi]
test al, al
je 0x100796ea
cmp al, 0x80
je 0x100796ea
push 0
push 0xffffffffffffffff
lea eax, [esp + 0xd8]
push eax
push esi
push edi
call fcn.100780a0
mov eax, dword [esp + 0x42c]
mov byte [eax], 0x53
jmp 0x10079962
mov edi, dword [esp + 0x40c]
push edi
lea edx, [esp + 0x1d4]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov eax, dword [ebp + 0x2f8]
xor ecx, ecx
mov cl, byte [ebx + eax + 0x11]
and ecx, 0xf
push ecx
push 0xffffffffffffffff
push edi
call fcn.1005a8c0
mov edx, dword [esp + 0x430]
push 0x100aa6d4
push 0xffffffffffffffff
push edx
call fcn.10083990
mov eax, dword [esp + 0x43c]
push edi
push 0xffffffffffffffff
push eax
call fcn.10083990
add esp, 0x30
cmp esi, 0xfbf4
jge case.0x1007f494.69
push 0
push esi
push edi
push ebp
call fcn.10077f10
mov ecx, dword [0x100bb5bc]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
add esp, 0xc
push edx
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 3
lea ecx, [esp + 0x6c]
push ecx
push edx
call fcn.10083dc0
movzx eax, byte [esp + 0x76]
movzx ecx, byte [esp + 0x75]
shl eax, 8
add esp, 0x18
add eax, ecx
je 0x10079829
push 0
push 0xffffffffffffffff
lea edx, [esp + 0xd8]
push edx
push eax
mov eax, dword [ebp + 0x2f8]
push eax
call fcn.100780a0
add esp, 0x14
lea eax, [esp + 0xd0]
mov edi, edi
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x100797e8
test cl, cl
je 0x100797e4
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x100797e8
add eax, 2
add edi, 2
test cl, cl
jne 0x100797c0
xor eax, eax
jmp 0x100797ed
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je case.0x1007f494.69
mov esi, dword [esp + 0x418]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10079801
sub eax, edx
movsx eax, ax
add eax, esi
lea ecx, [esp + 0xd0]
mov byte [eax + 1], 0x50
push ecx
mov byte [eax], 0x7c
add eax, 2
push 0xffffffffffffffff
push eax
jmp 0x10079082
mov ebp, dword [ebp + 0x2f8]
mov al, byte [ebx + ebp + 0x10]
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
movsx edx, ax
add edx, ebx
mov al, byte [edx + ebp + 0x10]
lea ecx, [edx + ebp]
and al, 0xe0
cmp al, 0xc0
jne case.0x1007f494.69
mov ebp, dword [esp + 0x418]
mov eax, ebp
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10079862
movzx ecx, byte [ecx + 0x11]
and ecx, 0xf
push ecx
lea edx, [esp + 0x1d4]
sub eax, esi
push 0xffffffffffffffff
push edx
mov edi, eax
call fcn.1005a8c0
add esp, 0xc
lea esi, [esp + 0x1d0]
lea eax, [ebp + 1]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x100798b9
test cl, cl
je 0x100798b5
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x100798b9
add eax, 2
add esi, 2
test cl, cl
jne 0x10079891
xor eax, eax
jmp 0x100798be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je case.0x1007f494.69
movsx eax, di
add eax, ebp
lea ecx, [esp + 0x1d0]
mov byte [eax + 1], 0x50
push ecx
mov byte [eax], 0x7c
add eax, 2
push 0xffffffffffffffff
push eax
jmp 0x10079082
mov edx, dword [esp + 0x40c]
push 0
push esi
push edx
push ebp
call fcn.10077f10
mov ecx, dword [0x100bb5bc]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
add esp, 0xc
push edx
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 3
lea ecx, [esp + 0x6c]
push ecx
push edx
call fcn.10083dc0
mov al, byte [esp + 0x74]
add esp, 0x18
cmp al, 0x62
jne 0x10079992
movzx eax, byte [esp + 0x5e]
movzx ecx, byte [esp + 0x5d]
shl eax, 8
add eax, ecx
je 0x1007997b
push 0
push 0xffffffffffffffff
lea edx, [esp + 0xd8]
push edx
push eax
mov eax, dword [ebp + 0x2f8]
push eax
call fcn.100780a0
mov eax, dword [esp + 0x42c]
mov byte [eax], 0x50
lea ecx, [esp + 0xe4]
push ecx
inc eax
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0x20
jmp case.0x1007f494.69
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x28], 0
mov byte [edx], 0x53
jmp case.0x1007d117.33
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x28], 0
mov byte [eax], 0x49
jmp case.0x1007d117.33
mov byte [0x100ba760], 0
mov dword [0x100ba764], esi
mov ecx, dword [ebp + 0x2f8]
mov dl, byte [ebx + ecx + 0x10]
and dl, 0x10
sub dl, 0x10
neg dl
sbb edx, edx
and edx, 0xffffffc0
add edx, 0x80
mov dword [esp + 0x2c], edx
jmp 0x10079c07
cmp byte [esp + 0x10], 0x80
jne 0x10079a45
mov al, byte [edi + 0x11]
and al, 0x10
je 0x10079bf2
cmp al, 0x10
jne 0x10079a45
mov ecx, dword [ebp + 0x2f8]
mov al, byte [ecx + 0x12]
movzx cx, byte [ecx + 0x13]
and al, 7
movzx ax, al
mov dword [esp + 0x2c], 0x80
shl eax, 8
add eax, ecx
test ax, ax
je 0x10079b00
test byte [edi + 0x12], 8
je 0x10079a24
neg eax
movsx edx, ax
mov eax, dword [esp + 0x40c]
push 0xffffffffffffffff
add esi, edx
push eax
push esi
call fcn.10064f10
mov byte [0x100ba760], 5
jmp 0x10079c07
cmp byte [esp + 0x16], 1
je 0x10079b64
mov eax, dword [ebp + 0x2f8]
mov ecx, dword [eax + 0x320]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x414]
push 0
push 0x1f4
push ecx
push edx
push eax
call fcn.1005ef70
add esp, 0x1c
test ax, ax
jne 0x10079b64
cmp dword [esp + 0x404], 3
jne 0x10079b00
cmp byte [esp + 0x10], 0x20
jne 0x10079b00
mov dword [0x100ba764], esi
mov byte [0x100ba760], 2
mov eax, dword [ebp + 0x2f8]
cmp byte [eax + 1], 0x30
mov dword [esp + 0x2c], 0x80
jne 0x10079ac1
mov byte [0x100ba760], 3
mov edi, dword [esp + 0x40c]
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10079ad0
sub eax, edx
movsx ecx, ax
lea eax, [ecx + edi]
mov byte [eax - 2], 0x74
mov byte [eax - 1], 0x6f
mov edx, dword [ebp + 0x2f8]
mov al, byte [edx + 1]
cmp al, 0x30
je 0x10079c07
cmp al, 0x20
je 0x10079c07
cmp dword [esp + 0x404], 3
mov eax, dword [esp + 0x40c]
mov byte [eax], 0x4e
jne 0x10079b26
cmp byte [esp + 0x10], 0xe0
jne 0x10079b26
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x10079b58
mov byte [eax], 0x49
cmp byte [esp + 0x10], 0x80
mov dword [esp + 0x28], 0
jne case.0x1007d117.33
mov eax, dword [ebp + 0x2f8]
test byte [eax + 0x11], 0xf
jne case.0x1007d117.33
mov ecx, dword [esp + 0x40c]
mov byte [ecx], 0x49
jmp case.0x1007d117.33
mov byte [0x100ba760], 4
jmp 0x10079bf9
cmp byte [esp + 0x16], 1
mov dword [esp + 0x2c], 0x80
jne 0x10079bc2
mov eax, dword [ebp + 0x2f8]
mov edx, dword [eax + 0x320]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x414]
push 0
push 0x1f4
push edx
push ecx
push eax
call fcn.1005ef70
add esp, 0x1c
test ax, ax
je 0x10079bb2
mov eax, dword [esp + 0x20]
cmp eax, 0x10000
jle 0x10079bc6
mov eax, esi
mov dword [0x100ba764], eax
mov byte [0x100ba760], 2
jmp 0x10079c07
mov eax, dword [esp + 0x20]
mov dword [0x100ba764], eax
mov byte [0x100ba760], 2
jmp 0x10079c07
cmp esi, 0x30000
jle 0x10079d14
lea edx, [esi - 0x30000]
cmp edx, 0xfbf4
jge 0x10079d08
mov byte [0x100ba760], 1
mov dword [esp + 0x2c], 0x80
mov dword [0x100ba764], esi
mov edi, dword [esp + 0x40c]
push edi
lea eax, [esp + 0x1f4]
push 0xffffffffffffffff
push eax
xor esi, esi
call fcn.100839e0
mov ebx, dword [esp + 0x424]
add esp, 0xc
mov dword [esp + 0x40], esi
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x20]
cmp eax, 3
ja case.default.0x10079c3b
jmp dword [eax*4 + 0x1007f504]
mov byte [esp + 0x10], 0x88
jmp case.default.0x10079c3b
mov byte [esp + 0x10], 0x84
jmp case.default.0x10079c3b
mov byte [esp + 0x10], 0x48
jmp case.default.0x10079c3b
mov byte [esp + 0x10], 0x44
lea ecx, [esp + 0x1f0]
push ecx
push 0xffffffffffffffff
push edi
call fcn.100839e0
mov edx, dword [esp + 0x42c]
mov eax, dword [esp + 0x420]
mov ecx, dword [esp + 0x38]
push edx
movzx edx, byte [esp + 0x20]
push 0xffffffffffffffff
push ebx
push 0xffffffffffffffff
push eax
push edi
push ecx
push 4
push edx
push 0
push ebp
call fcn.10078a90
add esp, 0x38
test eax, eax
je 0x10079cde
mov eax, dword [esp + 0x40]
test ax, ax
je 0x10079cb4
test si, si
je 0x10079cb4
movsx ecx, si
mov byte [ecx + ebx], 0x7c
inc esi
inc al
movsx edx, si
mov byte [edx + ebx], al
inc esi
movsx eax, si
push edi
add eax, ebx
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov eax, edi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10079cd3
sub eax, edx
add esi, eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
inc eax
inc edx
cmp ax, 4
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], edx
jl 0x10079c32
test si, si
je case.0x1007d117.33
jmp case.0x1007f494.69
mov dword [esp + 0x28], eax
mov byte [edi], 0x4e
jmp case.0x1007d117.33
mov cl, byte [esp + 0x40]
push 0xffffffffffffffff
mov byte [ebx + edi - 1], cl
mov edx, dword [ebp + 0x2f8]
push edi
push edx
call fcn.100583c0
add esp, 0xc
cmp eax, 0xf42400
je 0x10079d51
mov eax, dword [ebp + 0x2f8]
cmp byte [eax + 0x10], 0x73
jne 0x10079d51
mov byte [edi], 0x49
mov dword [esp + 0x28], 0
jmp case.0x1007d117.33
mov byte [edi], 0x45
mov dword [esp + 0x28], 0
jmp case.0x1007d117.33
mov ebx, dword [esp + 0x3fc]
xor esi, esi
push 0x100a745c
lea ecx, [esp + 0x64]
push 0xffffffffffffffff
push ecx
mov byte [esp + 0x33], 0
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x58], esi
mov word [0x100ba768], bx
mov dword [esp + 0x38], esi
call fcn.100839e0
push 0x100a7440
lea edx, [esp + 0x78]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov al, byte [edi]
add esp, 0x18
cmp al, 0x26
mov ecx, 1
mov dword [esp + 0x28], ecx
jne 0x10079dc9
xor edx, edx
mov dword [esp + 0x408], edx
jmp 0x10079dd0
mov edx, dword [esp + 0x408]
cmp byte [0x100ba76a], 2
je 0x1007b09a
cmp dx, 0xfbf4
jb 0x1007a1a6
cmp dx, 0xfde8
ja 0x1007a1a6
movzx ebx, byte [edi + 2]
movzx esi, word [esp + 0x408]
mov edx, dword [0x100bba84]
lea eax, [edi + 2]
mov dword [esp + 0x44], eax
lea eax, [esi - 0xfbf4]
imul eax, eax, 0xd
add eax, edx
push eax
push 0xffffffffffffffff
push edi
mov dword [esp + 0x4c], ebx
call fcn.100839e0
mov eax, dword [esp + 0x410]
add esp, 0xc
cmp eax, 2
mov byte [0x100ba76a], 0
jne case.0x1007d117.33
test ebx, ebx
jne case.0x1007d117.33
mov edx, dword [ebp + 0x48]
mov ecx, dword [esp + 0x3fc]
movzx eax, word [edx + ecx*2]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
mov edx, dword [ebp + 0x14]
mov al, byte [eax + edx + 3]
mov edx, dword [0x100bba84]
mov bl, al
and al, 0xc0
mov byte [esp + 0x12], al
mov eax, esi
imul eax, eax, 0xd
mov ax, word [eax + edx - 0xccb59]
mov word [esp + 0x40], ax
mov eax, dword [ebp + 0x44]
and bl, 0xc
cmp byte [ecx + eax], 8
jne 0x10079ec9
mov eax, dword [ebp + 0x48]
movzx ecx, word [eax + ecx*2]
mov eax, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
mov ecx, dword [eax + ecx*4 + 8]
mov eax, dword [ebp + 0x14]
mov cl, byte [ecx + eax + 3]
and cl, 0xc0
cmp cl, 0x40
jne 0x10079ec9
mov ecx, dword [0x100bba90]
cmp esi, dword [ecx + 0x14]
jne 0x10079ecf
mov edx, dword [esp + 0x44]
mov byte [edx], 0x61
mov edx, dword [0x100bba84]
mov ecx, dword [0x100bba90]
mov edi, dword [esp + 0x40]
mov al, byte [edi + edx]
cmp al, 0x61
jne 0x1007a01a
cmp byte [esp + 0x12], 0x40
jne 0x10079f1a
cmp esi, dword [ecx + 0xd4]
je 0x10079f03
cmp esi, dword [ecx + 0xd8]
je 0x10079f03
cmp esi, dword [ecx + 0x14]
jne 0x10079f1a
mov eax, dword [esp + 0x44]
mov byte [eax], 0x61
jmp 0x10079f1a
mov ecx, dword [esp + 0x40c]
push 0x100a7440
push 0xffffffffffffffff
push ecx
call fcn.100839e0
add esp, 0xc
cmp bl, 4
jne case.0x1007d117.33
mov eax, dword [esp + 0x40c]
mov edi, 0x100a6814
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10079f44
mov byte [eax + 1], dl
jmp case.0x1007d117.33
mov edi, 0x100a6390
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10079f6b
push 0x100a7774
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
jmp case.0x1007d117.33
mov edi, 0x100a6824
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10079f92
push str.gli
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
jmp case.0x1007d117.33
mov edi, 0x100a7440
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10079fad
mov byte [eax + 1], 0x65
jmp case.0x1007d117.33
mov edi, 0x100a71fc
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10079fd4
push 0x100a6630
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
jmp case.0x1007d117.33
mov esi, eax
mov edi, 0x100a7c18
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne case.0x1007d117.33
mov ecx, dword [ebp + 0x44]
mov edx, dword [esp + 0x3fc]
cmp byte [edx + ecx], 8
je case.0x1007d117.33
mov eax, dword [esp + 0x40c]
push 0x100a6628
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
jmp case.0x1007d117.33
cmp bl, 4
jne 0x1007a12c
cmp byte [esp + 0x12], 0x40
je 0x1007a0c2
cmp al, 0x6f
jne 0x1007a0c2
mov cl, byte [edi + edx + 1]
test cl, cl
je 0x1007a0c2
mov ecx, dword [esp + 0x40c]
cmp byte [ecx + 1], 0x69
je 0x1007a0c9
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1007a058
sub eax, esi
movsx edx, ax
lea eax, [edx + ecx - 1]
mov cl, byte [eax]
movzx edx, cl
cmp byte [edx + 0x100bb5c0], 3
jne 0x1007a092
cmp cl, 0x61
jne 0x1007a083
mov byte [eax], 0x65
jmp case.0x1007d117.33
mov eax, dword [esp + 0x44]
mov dword [eax], 0x696c67
jmp case.0x1007d117.33
cmp cl, 0x6c
jne 0x1007a09f
mov byte [eax], 0x69
jmp case.0x1007d117.33
cmp cl, 0x27
jne case.0x1007d117.33
mov ecx, dword [str.gli]
mov eax, dword [esp + 0x44]
mov dword [eax], ecx
mov dl, byte [0x100aa6d0]
mov byte [eax + 4], dl
jmp case.0x1007d117.33
mov ecx, dword [esp + 0x40c]
cmp al, 0x76
jne 0x1007a12c
cmp byte [ecx + 1], 0xe0
jne 0x1007a0ed
cmp byte [ecx], 0x64
jne 0x1007a0ed
push str.danno
push 0xffffffffffffffff
push ecx
call fcn.100839e0
add esp, 0xc
jmp case.0x1007d117.33
mov al, byte [ecx]
cmp al, 0x70
jne 0x1007a108
push str.possono
push 0xffffffffffffffff
push ecx
call fcn.100839e0
add esp, 0xc
jmp case.0x1007d117.33
cmp al, 0xe8
jne case.0x1007d117.33
mov eax, dword [esp + 0x40c]
push str.sono
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
jmp case.0x1007d117.33
cmp byte [esp + 0x12], 0x40
jne case.0x1007d117.33
cmp al, 0x6f
jne case.0x1007d117.33
mov ecx, dword [esp + 0x44]
cmp byte [ecx], 0x6c
jne case.0x1007d117.33
mov eax, dword [esp + 0x40c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007a156
sub eax, edx
cmp ax, 3
jne case.0x1007d117.33
cmp bl, 8
jne 0x1007a18a
mov edx, dword [esp + 0x40c]
push 0x100a7440
push 0xffffffffffffffff
push edx
call fcn.10083990
add esp, 0xc
jmp case.0x1007d117.33
mov eax, dword [esp + 0x40c]
push 0x100a6494
push 0xffffffffffffffff
push eax
call fcn.10083990
add esp, 0xc
jmp case.0x1007d117.33
cmp dword [esp + 0x404], 2
jne 0x1007a82e
cmp al, 0x26
mov dword [esp + 0x40], esi
mov dword [esp + 0x58], esi
jne 0x1007a5a2
mov eax, edi
mov dword [esp + 0x40], 0x3e8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007a1d1
sub eax, edx
movsx esi, ax
mov cl, byte [esi + edi - 1]
cmp cl, 0x24
mov dword [esp + 0x18], eax
lea eax, [esi + edi - 1]
mov dword [esp + 0x54], esi
mov dword [esp + 0x1c], eax
jne 0x1007a20e
push esi
lea ecx, [edi + 1]
push ecx
push edi
call fcn.100a5245
add esp, 0xc
mov byte [esi + edi - 2], 0
jmp case.0x1007d117.33
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 0x3fc]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
mov al, byte [eax + ecx + 3]
lea edx, [esp + 0x420]
push edx
and al, 0xc
push 0
mov byte [esp + 0x1c], al
mov byte [esp + 0x18], al
mov eax, dword [ebp + 0x2f8]
lea ebx, [edi + 1]
push ebx
push eax
call fcn.100649e0
movzx ecx, byte [ebx]
mov esi, eax
push ecx
mov dword [esp + 0x4c], esi
call fcn.1009d52e
add esp, 0x14
test eax, eax
jne 0x1007a563
cmp esi, 0x10000
jg 0x1007a563
cmp esi, 0xf42400
jne 0x1007a288
mov dword [esp + 0x28], eax
jmp case.0x1007d117.33
mov edx, dword [ebp + 0x2f8]
mov al, byte [edx + 2]
cmp al, 2
jne 0x1007a2c0
push 0x100a7454
lea edx, [esp + 0x64]
push 0xffffffffffffffff
push edx
mov dword [esp + 0x48], 5
mov byte [edi], 1
mov dword [esp + 0x414], esi
call fcn.100839e0
add esp, 0xc
jmp 0x1007a75a
cmp al, 4
jne 0x1007a311
mov eax, dword [esp + 0x54]
mov byte [edi], 5
cmp byte [eax + edi - 4], 0x63
mov dword [esp + 0x3c], 5
mov dword [esp + 0x408], esi
jne 0x1007a2fa
push 0x100a7454
lea ecx, [esp + 0x64]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
add esp, 0xc
jmp 0x1007a75a
mov edx, dword [esp + 0x1c]
cmp byte [edx], 0x65
jne 0x1007a75a
mov byte [esp + 0x69], 0x65
jmp 0x1007a75a
mov al, byte [edx + 0x10]
mov cl, al
and cl, 0xe0
cmp cl, 0x80
je 0x1007a35d
cmp cl, 0x20
je 0x1007a35d
mov dword [esp + 0x3c], 3
cmp cl, 0x20
mov byte [esp + 0x12], 0x80
mov byte [esp + 0x13], 0x80
jne 0x1007a3c9
mov eax, dword [esp + 0x54]
lea eax, [eax + edi - 1]
mov al, byte [eax]
cmp al, 0x61
je 0x1007a4c7
cmp al, 0x65
jne case.default.0x1007a3fd
jmp 0x1007a4c7
cmp cl, 0x20
mov dword [esp + 0x3c], 4
jne 0x1007a32b
mov eax, dword [esp + 0x54]
inc eax
push eax
lea eax, [edi + 1]
push eax
push edi
call fcn.100a5245
mov eax, dword [esp + 0x24]
add esp, 0xc
dec eax
movsx ecx, ax
add edi, ecx
mov dword [esp + 0x18], eax
cmp byte [edi - 2], 0x65
mov byte [esp + 0x12], 0x80
jne 0x1007a39d
mov byte [esp + 0x11], 0x40
jmp 0x1007a3ad
cmp byte [edi - 1], 0x61
jne 0x1007a3a8
mov byte [esp + 0x12], 0x40
mov byte [esp + 0x11], 0x60
movzx eax, byte [esp + 0x12]
movzx edx, byte [esp + 0x14]
mov ebx, dword [esp + 0x4c]
add eax, edx
mov dword [esp + 0x400], eax
jmp case.0x1007cfa4.3
mov bl, byte [edx]
cmp bl, 2
mov byte [esp + 0x4b], bl
je 0x1007a4c7
cmp bl, 3
je 0x1007a4c7
cmp cl, 0x80
jne 0x1007a412
xor ebx, ebx
mov bl, byte [edx + 0x11]
test bl, 0x10
je 0x1007a40e
and ebx, 7
dec ebx
cmp ebx, 3
ja case.default.0x1007a3fd
jmp dword [ebx*4 + 0x1007f514]
mov byte [esp + 0x12], 0x80
jmp case.default.0x1007a3fd
mov bl, byte [esp + 0x4b]
cmp cl, 0xc0
jne 0x1007a49f
test al, 0x10
jne 0x1007a49f
mov ecx, dword [edx + 0xc]
cmp ecx, 7
ja 0x1007a47b
cmp bl, 0x80
mov byte [esp + 0x12], 0x40
mov byte [esp + 0x13], 0x40
jne case.default.0x1007a3fd
test al, 1
jne case.default.0x1007a3fd
mov ecx, dword [ebp + 0x48]
mov edx, dword [esp + 0x3fc]
movzx eax, word [ecx + edx*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
mov cl, byte [edx + eax + 3]
and cl, 0xc0
cmp cl, 0x40
jne case.default.0x1007a3fd
mov byte [esp + 0x12], bl
mov byte [esp + 0x13], bl
jmp case.default.0x1007a3fd
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
mov dl, byte [eax + edx + 0x10]
and dl, 0xe0
cmp dl, 0x40
jne case.default.0x1007a3fd
cmp ecx, eax
jle case.default.0x1007a3fd
cmp bl, 0x80
je case.default.0x1007a3fd
jmp 0x1007a4c7
cmp cl, 0x40
jne case.default.0x1007a3fd
mov al, byte [edx + 0x11]
and al, 0xf0
cmp al, 0x80
jne case.default.0x1007a3fd
mov ecx, dword [esp + 0x54]
lea eax, [ecx + edi - 1]
mov al, byte [eax]
cmp al, 0x61
je 0x1007a4bf
cmp al, 0x65
jne case.default.0x1007a3fd
mov dword [esp + 0x3c], 4
mov byte [esp + 0x13], 0x40
mov byte [esp + 0x12], 0x40
mov al, byte [esp + 0x14]
test al, al
jne 0x1007a4e1
mov cl, 8
mov byte [esp + 0x10], cl
jmp 0x1007a4f5
cmp al, 4
je 0x1007a4f1
cmp al, 8
je 0x1007a4f1
mov cl, 8
mov byte [esp + 0x10], cl
jmp 0x1007a4f5
mov cl, byte [esp + 0x10]
movzx edx, byte [esp + 0x12]
movzx eax, cl
add eax, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x400], eax
lea eax, [edx + edi - 1]
movzx eax, byte [eax]
mov bl, byte [eax + 0x100bb5c0]
test bl, bl
jne 0x1007a534
cmp cl, 8
jne 0x1007a534
inc edx
push edx
lea eax, [edi + 1]
push eax
push edi
call fcn.100a5245
add esp, 0xc
jmp case.0x1007d117.33
mov eax, dword [0x100bba90]
cmp esi, dword [eax + 4]
jne 0x1007a75a
cmp cl, 4
jne 0x1007a75a
inc edx
push edx
lea eax, [edi + 1]
push eax
push edi
call fcn.100a5245
add esp, 0xc
mov byte [edi + 4], 0x65
jmp case.0x1007d117.33
mov ecx, dword [esp + 0x54]
inc ecx
push ecx
push ebx
push edi
call fcn.100a5245
mov al, byte [edi]
add esp, 0xc
cmp al, 0x54
jne case.0x1007d117.33
mov edx, dword [esp + 0x40c]
cmp byte [edx + 2], 0x68
jne case.0x1007d117.33
push 1
push 0x2d
push 0xffffffffffffffff
mov eax, edx
push eax
push eax
call fcn.10057ec0
jmp case.0x1007d117.33
mov al, byte [edi + 2]
test al, al
jne 0x1007a72b
mov eax, dword [ebp + 0x44]
cmp byte [ebx + eax], 5
mov ecx, dword [ebp + 4]
jne 0x1007a6d2
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
mov esi, dword [ebp + 0x14]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 + 8]
mov cl, byte [eax + esi + 8]
add eax, esi
cmp cl, 0x50
jne 0x1007a6a1
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + ebx*2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
movzx ecx, byte [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [eax + 0x10]
mov cl, byte [edx + ecx - 1]
mov eax, dword [eax + 8]
mov dl, byte [eax + esi + 9]
test dl, dl
mov byte [esp + 0x54], cl
jne 0x1007a622
xor eax, eax
cmp cl, 0x65
sete al
lea eax, [eax*4 + 4]
mov dword [esp + 0x400], eax
jmp 0x1007a756
dec ebx
push ebx
push ebp
call fcn.10078700
add esp, 8
test eax, eax
mov dword [esp + 0x40], eax
jl 0x1007a685
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + eax*2]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov edx, dword [eax + ecx*4 + 8]
mov al, byte [esi + edx + 4]
add esi, edx
cmp al, 0x61
jne 0x1007a685
movzx ax, byte [esi + 3]
cmp ax, 0x33
mov cl, 8
mov byte [esp + 0x10], cl
mov dword [esp + 0x18], eax
jle 0x1007a671
cmp ax, 0x37
jge 0x1007a671
mov cl, 4
mov byte [esp + 0x10], cl
movzx eax, cl
add eax, 0x80
mov dword [esp + 0x400], eax
jmp 0x1007a756
mov eax, dword [esp + 0x54]
push eax
call fcn.1005a380
movzx ecx, al
add esp, 4
mov dword [esp + 0x400], ecx
jmp 0x1007a756
movzx ax, byte [eax + 3]
cmp ax, 0x33
mov dword [esp + 0x18], eax
jle 0x1007a6b8
cmp ax, 0x37
mov al, 4
jl 0x1007a6ba
mov al, 8
mov byte [esp + 0x10], al
movzx eax, al
add eax, 0x80
mov dword [esp + 0x400], eax
jmp 0x1007a756
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + ebx*2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
mov al, byte [edx + eax + 3]
mov cl, al
and cl, 0xc0
and al, 0xc
test cl, cl
mov byte [esp + 0x13], cl
mov byte [esp + 0x12], cl
mov byte [esp + 0x14], al
mov byte [esp + 0x10], al
jne 0x1007a70c
mov cl, 0x80
mov byte [esp + 0x13], cl
mov byte [esp + 0x12], cl
test al, al
jne 0x1007a71a
mov al, 8
mov byte [esp + 0x14], al
mov byte [esp + 0x10], al
movzx eax, al
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x400], eax
jmp 0x1007a756
mov dword [esp + 0x58], ecx
mov cl, byte [esp + 0x400]
mov al, cl
and al, 0xc0
mov byte [esp + 0x13], al
mov byte [esp + 0x12], al
mov al, cl
and al, 0xc
mov byte [esp + 0x14], al
mov byte [esp + 0x10], al
mov dword [esp + 0x3c], 3
mov esi, dword [esp + 0x38]
cmp byte [edi + 3], 1
mov byte [esp + 0x17], 0
jne 0x1007a774
mov byte [esp + 0x17], 1
mov dword [esp + 0x3c], 7
jmp 0x1007a787
mov al, byte [edi + 1]
cmp al, 1
jb 0x1007a787
cmp al, 3
ja 0x1007a787
mov dword [esp + 0x3c], 4
cmp byte [edi + 4], 1
mov byte [esp + 0x4b], 0
jne 0x1007a870
mov al, byte [edi + 2]
test al, al
mov byte [esp + 0x4b], 1
mov dword [esp + 0x3c], 3
jne 0x1007a7d5
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 0x3fc]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
mov al, byte [eax + ecx + 3]
and al, 0xc
mov byte [esp + 0x14], al
mov byte [esp + 0x10], al
jmp 0x1007a7df
mov byte [esp + 0x14], 4
mov byte [esp + 0x10], 4
mov byte [esp + 0x13], 0x80
mov byte [esp + 0x12], 0x80
cmp dword [esp + 0x40], 0x3e8
mov dword [esp + 0x20], 0
je 0x1007cc5b
cmp dword [esp + 0x404], 6
jne 0x1007cc4f
mov eax, dword [ebp + 0x2f8]
lea edx, [esp + 0x420]
push edx
push 0
push edi
push eax
call fcn.100649e0
add esp, 0x10
mov esi, eax
jmp 0x1007cc57
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + ebx*2]
mov ecx, dword [ebp + 4]
mov esi, dword [esp + 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
mov al, byte [edx + eax + 3]
mov cl, al
and cl, 0xc0
and al, 0xc
mov byte [esp + 0x14], al
mov byte [esp + 0x10], al
mov byte [esp + 0x13], cl
mov byte [esp + 0x12], cl
movzx eax, al
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3c]
cmp ax, 3
je 0x1007a7e9
cmp ax, 4
je 0x1007a7e9
cmp ax, 5
jne 0x1007c84e
mov edx, dword [ebp + 0x48]
mov ebx, dword [esp + 0x3fc]
movzx eax, word [edx + ebx*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
mov cl, byte [eax + edx + 3]
add eax, edx
mov al, byte [eax + 8]
sub cl, 0x30
test al, al
mov byte [esp + 0x17], 1
mov byte [esp + 0x14], 0
mov byte [esp + 0x11], 0
mov byte [esp + 0x40], cl
mov byte [esp + 0x18], al
jne 0x1007a8d9
mov byte [esp + 0x18], 0x46
mov ecx, dword [esp + 0x18]
push ecx
call fcn.1005bc30
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 4]
mov byte [esp + 0x1c], al
movzx eax, word [edx + ebx*2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
mov cl, byte [eax + edx + 9]
add eax, edx
mov dl, byte [eax + 7]
add esp, 4
cmp dl, 0x43
mov byte [esp + 0x54], cl
jne 0x1007a91a
test cl, cl
jbe 0x1007a91a
dec cl
mov byte [esp + 0x54], cl
mov ecx, dword [esp + 0x54]
push ecx
call fcn.1005bca0
mov edx, dword [ebp + 0x44]
movzx esi, word [esp + 0x40c]
mov byte [esp + 0x58], al
mov al, byte [ebx + edx]
add esp, 4
cmp al, 3
mov dword [esp + 0x38], esi
jne 0x1007a96b
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
test byte [eax + ecx + 2], 1
je 0x1007a96b
mov byte [esp + 0x18], 4
mov byte [esp + 0x54], 0
mov byte [esp + 0x40], 1
cmp dword [0x100b2278], esi
je 0x1007aa93
xor ebx, ebx
push ebx
push esi
push edi
push ebp
call fcn.10077f10
mov edx, dword [0x100bbc10]
lea ecx, [edx + eax*2]
mov edx, dword [0x100bb6c4]
add esp, 0xc
add ecx, eax
push ecx
push edx
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 6
lea ecx, [esp + 0x88]
xor eax, eax
push ecx
mov dword [esp + 0x8c], eax
push edx
mov word [esp + 0x94], ax
call fcn.10083dc0
mov ax, word [esp + 0x90]
mov cl, byte [esp + 0x92]
mov dx, word [esp + 0x93]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], ebx
mov word [esp + 0x34], ax
mov al, byte [esp + 0x95]
mov byte [esp + 0x4a], al
mov byte [esp + 0x36], cl
mov eax, dword [esp + 0x34]
mov word [esp + 0x48], dx
mov ebx, dword [esp + 0x48]
sub ebx, eax
add esp, 0x18
test ebx, ebx
jle 0x1007aa49
cmp ebx, 0x20
jge 0x1007aa49
mov ecx, dword [0x100bba9c]
mov edx, dword [0x100bb6c4]
push 0
add eax, ecx
push eax
push edx
call fcn.10083e20
mov ecx, dword [0x100bb6c4]
push ebx
lea eax, [esp + 0x88]
push eax
push ecx
call fcn.10083dc0
add esp, 0x18
mov dword [0x100b2278], esi
jmp 0x1007aa97
xor edx, edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [0x100b2278], esi
jmp 0x1007aa97
mov ebx, dword [esp + 0x4c]
mov al, byte [esp + 0x78]
and al, 0xe0
xor cl, cl
cmp al, 0x80
mov byte [esp + 0x1c], 0
mov byte [esp + 0x16], 0x61
mov byte [esp + 0x37], al
jne 0x1007aab3
mov cl, 5
movzx eax, cl
mov al, byte [esp + eax + 0x78]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x1007aad4
and al, 1
dec al
neg al
sbb al, al
inc al
shl al, 1
add al, 5
add cl, al
movzx eax, cl
cmp eax, ebx
mov dword [esp + 0x50], eax
jge 0x1007aaf5
lea ecx, [esp + eax + 0x78]
mov dword [esp + 0x30], ecx
mov cl, byte [ecx]
and cl, 0xe0
cmp cl, 0x20
je 0x1007adbc
mov cl, byte [esp + 0x37]
cmp cl, 0x80
jne 0x1007accf
mov al, byte [esp + 0x18]
cmp al, 6
je 0x1007acb5
cmp al, 4
je 0x1007acb5
cmp al, 5
jne 0x1007ac20
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 0x3fc]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
movzx ecx, byte [eax]
mov edx, dword [eax + 0x10]
mov cl, byte [edx + ecx - 1]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x14]
mov byte [esp + 0x1c], cl
cmp byte [edx + eax + 7], 0x56
jne 0x1007ac04
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x1007ac04
mov ecx, dword [esp + 0x3fc]
mov edi, dword [ebp + 0x48]
dec ecx
push ecx
push ebp
call fcn.10078700
movsx edx, ax
movzx eax, word [edi + edx*2]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov edx, dword [eax + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
movzx dx, byte [edx + ecx + 3]
add esp, 8
mov dword [esp + 0x18], edx
movsx edx, dx
movzx edx, word [edi + edx*2]
lea edx, [edx + edx*4]
mov eax, dword [eax + edx*4 + 8]
cmp byte [eax + ecx + 4], 0x65
je 0x1007abe8
cmp byte [esp + 0x1c], 0x6f
jne 0x1007abe8
cmp byte [0x100ba76b], 0x74
je 0x1007ac87
mov eax, dword [esp + 0x18]
cmp ax, 0x33
jle 0x1007abce
cmp ax, 0x37
mov al, 4
jl 0x1007abd0
mov al, 8
mov byte [esp + 0x10], al
movzx eax, al
add eax, 0x80
mov dword [esp + 0x400], eax
jmp 0x1007ac87
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.1005a380
movzx edx, al
add esp, 4
mov dword [esp + 0x400], edx
jmp 0x1007ac87
mov eax, dword [esp + 0x1c]
push eax
call fcn.1005a380
movzx ecx, al
add esp, 4
mov dword [esp + 0x400], ecx
jmp 0x1007ac87
cmp byte [0x100ba76b], 0x74
jne 0x1007ac87
mov eax, dword [esp + 0x3fc]
test eax, eax
jle 0x1007ac6f
mov edx, dword [ebp + 0x44]
cmp byte [edx + eax - 1], 8
jne 0x1007ac6f
mov ecx, dword [ebp + 0x50]
cmp byte [ecx + eax - 1], 1
jne 0x1007ac6f
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + eax*2 - 2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
movzx ecx, byte [edx + eax + 3]
mov dword [esp + 0x400], ecx
jmp 0x1007ac87
mov eax, dword [esp + 0x58]
test eax, eax
je 0x1007ac87
mov byte [esp + 0x10], 8
mov dword [esp + 0x400], 0x88
cmp byte [0x100ba76a], 1
jne case.0x1007cfd8.0
mov edx, dword [esp + 0x400]
and edx, 0xf3
add edx, 4
mov byte [esp + 0x10], 4
mov dword [esp + 0x400], edx
jmp case.0x1007cfd8.0
mov eax, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push edi
push esi
push eax
call fcn.100780a0
add esp, 0x14
jmp case.0x1007f494.69
cmp cl, 0xc0
jne 0x1007acea
mov al, byte [esp + 0x400]
and al, cl
mov byte [esp + 0x13], al
mov byte [esp + 0x12], al
jmp case.0x1007e5c7.0
mov cl, byte [esp + eax + 0x78]
lea eax, [esp + eax + 0x78]
and cl, 0xe0
cmp cl, 0x40
mov dword [esp + 0x30], eax
jne 0x1007adbc
mov edx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push edi
push esi
push edx
call fcn.100780a0
mov al, byte [esp + 0x2c]
add esp, 0x14
cmp al, 5
jne 0x1007ad7c
mov ecx, dword [esp + 0x3fc]
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
movzx ecx, byte [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [eax + 0x10]
cmp byte [0x100ba76a], 1
mov dl, byte [edx + ecx - 1]
jne 0x1007ad4c
mov dl, 0x69
mov eax, edi
lea ecx, [eax + 1]
mov dword [esp + 0x20], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007ad55
sub eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
movsx eax, ax
mov byte [eax + edi - 1], dl
mov eax, dword [esp + 0x58]
test eax, eax
jne case.0x1007f494.69
jmp 0x1007e5ad
mov ecx, dword [esp + 0x50]
mov dl, byte [esp + ecx + 0x79]
and dl, 0xf0
cmp dl, 0x80
jne case.0x1007f494.69
mov al, byte [esp + 0x400]
and al, 0xc
cmp al, 4
jne case.0x1007f494.69
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007ada6
sub eax, edx
movsx eax, ax
mov byte [eax + edi - 1], 0x69
jmp case.0x1007f494.69
mov edx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0xb0]
push ecx
push esi
push edx
call fcn.100780a0
mov ecx, 1
mov dword [0x100ba75c], ecx
mov al, byte [edi]
add esp, 0x14
test cl, al
mov byte [esp + 0x15], 0
je 0x1007adf2
mov dword [esp + 0x4c], ecx
test al, 2
je 0x1007adfa
mov dword [esp + 0x20], ecx
test al, 4
je 0x1007ae03
mov byte [esp + 0x11], 1
test al, 8
je 0x1007ae19
mov ecx, dword [esp + 0x4c]
test ecx, ecx
mov byte [esp + 0x14], 1
jne 0x1007ae19
mov byte [esp + 0x15], 1
test al, 0x10
je 0x1007ae25
mov dword [esp + 0x20], 0
mov al, byte [esp + 0x18]
cmp al, 3
jne 0x1007af0f
mov al, byte [esp + 0x40]
cmp al, 2
jne 0x1007aee7
mov eax, dword [ebp + 0x48]
mov ebx, dword [esp + 0x3fc]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
add eax, ecx
cmp byte [eax + 0xa], 0x4e
jne 0x1007af40
add eax, 0xb
push eax
lea edx, [esp + 0xd4]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov eax, dword [esp + 0x60]
add esp, 0xc
push 0
push 2
push eax
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0xe4]
push ecx
mov edx, ecx
push edx
call fcn.10082100
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 0x10]
lea esi, [esp + 0xd0]
nop
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1007aed4
test cl, cl
je 0x1007aed0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1007aed4
add eax, 2
add esi, 2
test cl, cl
jne 0x1007aeb0
xor eax, eax
jmp 0x1007aed9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1007af40
mov byte [esp + 0x18], al
jmp 0x1007af40
cmp al, 4
jne 0x1007af39
mov eax, dword [esp + 0x54]
push 0
push 4
push eax
push 0
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0xc0]
push ecx
call fcn.10082100
mov ebx, dword [esp + 0x3fc]
jmp 0x1007af61
cmp al, 4
jne 0x1007af39
lea edx, [esp + 0xa8]
push edx
push 0xffffffffffffffff
push edi
mov dword [0x100ba75c], 2
call fcn.100839e0
mov ebx, dword [esp + 0x408]
add esp, 0xc
jmp 0x1007af61
mov ebx, dword [esp + 0x3fc]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x18]
push 0
push eax
push ecx
push edx
push 0xffffffffffffffff
push edi
lea eax, [esp + 0xc0]
push eax
call fcn.10082100
cmp byte [edi], 0
jne 0x1007af73
mov dword [esp + 0x28], 0
jmp case.0x1007d117.33
cmp byte [0x100ba76a], 1
jne 0x1007af9e
cmp byte [esp + 0x18], 5
jne 0x1007af9e
cmp byte [esp + 0x54], 5
jne 0x1007af9e
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007af90
sub eax, edx
mov byte [eax + edi - 1], 0x69
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + ebx*2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 8]
mov edx, dword [ebp + 0x14]
cmp byte [ecx + edx + 7], 0x53
jne 0x1007aff7
cmp byte [esp + 0x18], 5
jne 0x1007aff7
cmp byte [esp + 0x54], 5
jne 0x1007aff7
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007afd0
mov ecx, dword [ebp + 0x48]
movzx ecx, word [ecx + ebx*2]
sub eax, edx
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
lea ecx, [ecx + edx*4]
movzx edx, byte [ecx]
mov ecx, dword [ecx + 0x10]
mov dl, byte [ecx + edx - 1]
mov byte [eax + edi - 1], dl
test ebx, ebx
lea esi, [ebx - 1]
mov byte [0x100ba76a], 0
mov dword [esp + 0x2c], esi
jle 0x1007b407
mov ebx, dword [ebp + 0x48]
mov eax, dword [esp + 0x3fc]
movzx eax, word [ebx + eax*2]
mov edi, dword [ebp + 4]
mov ecx, dword [ebp + 0x14]
lea edx, [eax + eax*4]
mov eax, dword [edi + edx*4 + 8]
cmp byte [eax + ecx + 7], 0x56
mov dword [esp + 0x3c], ecx
jne 0x1007b390
mov eax, dword [esp + 0x3fc]
dec eax
push eax
push ebp
call fcn.10078700
mov esi, eax
movzx eax, word [ebx + esi*2]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x44]
mov edx, dword [edi + ecx*4 + 8]
mov cl, byte [edx + eax + 0xb]
add esp, 8
cmp cl, 0x61
setne al
inc al
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x4c]
dec esi
cmp eax, 1
jne 0x1007b0b3
movzx eax, word [ebx + esi*2 + 2]
lea ecx, [eax + eax*4]
mov edx, dword [edi + ecx*4 + 8]
mov ecx, dword [esp + 0x3c]
lea eax, [edx + ecx]
test byte [eax + 6], 0x10
jne 0x1007b093
cmp byte [eax + 0xb], 0x76
jne 0x1007b0b7
mov byte [0x100ba76a], 2
mov ecx, dword [esp + 0x3f0]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
call fcn.1009d15f
add esp, 0x3e4
ret
mov ecx, dword [esp + 0x3c]
movzx eax, word [ebx + esi*2 + 2]
lea eax, [eax + eax*4]
mov edx, dword [edi + eax*4 + 8]
lea eax, [edx + ecx]
test byte [eax + 6], 0x10
mov dword [esp + 0x50], eax
je 0x1007b142
mov edx, dword [ebp + 0x44]
mov eax, dword [esp + 0x3fc]
cmp byte [edx + eax - 1], 5
jne 0x1007b142
lea edx, [esi + 1]
dec eax
cmp eax, edx
je 0x1007b142
mov eax, dword [0x100b2080]
mov dword [esp + 0x58], eax
lea eax, [esp + 0xa8]
mov cl, byte [eax]
mov edx, dword [esp + 0x58]
mov byte [esp + 0x37], cl
cmp cl, byte [edx]
jne 0x1007b131
test cl, cl
je 0x1007b12d
mov cl, byte [eax + 1]
mov byte [esp + 0x37], cl
cmp cl, byte [edx + 1]
jne 0x1007b131
add edx, 2
add eax, 2
test cl, cl
mov dword [esp + 0x58], edx
jne 0x1007b101
xor eax, eax
jmp 0x1007b136
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007b09a
mov ecx, dword [esp + 0x3c]
test esi, esi
jl 0x1007b1bd
mov eax, dword [ebp + 0x44]
mov dl, byte [eax + esi]
add eax, esi
cmp dl, 8
mov dword [esp + 0x58], eax
jne 0x1007b17d
movzx eax, word [ebx + esi*2]
lea edx, [eax + eax*4]
mov eax, dword [edi + edx*4 + 8]
mov dl, byte [eax + ecx + 5]
add eax, ecx
cmp dl, 0x70
jne 0x1007b17d
cmp byte [eax + 6], 0x72
jne 0x1007b17d
mov dword [esp + 0x2c], esi
jmp 0x1007b1b5
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + esi*4]
mov edx, dword [0x100bba90]
cmp eax, dword [edx + 0x80]
jne 0x1007b1bd
mov eax, dword [esp + 0x58]
cmp byte [eax - 1], 8
jne 0x1007b1bd
movzx eax, word [ebx + esi*2 - 2]
lea edx, [eax + eax*4]
mov eax, dword [edi + edx*4 + 8]
cmp byte [eax + ecx + 6], 0x72
jne 0x1007b1bd
lea ecx, [esi - 1]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], 1
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 0x3fc]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
movzx ecx, byte [eax]
mov edx, dword [eax + 0x10]
mov al, byte [edx + ecx - 1]
mov ecx, dword [esp + 0x30]
mov cl, byte [ecx]
mov byte [esp + 0x1c], al
mov al, cl
and al, 0xc
cmp al, 4
je 0x1007b1ff
cmp al, 8
je 0x1007b20e
cmp al, 0xc
jne 0x1007b232
mov byte [esp + 0x16], 0x65
jmp 0x1007b23a
cmp byte [esp + 0xa8], 0x70
jne 0x1007b218
test cl, 1
je 0x1007b218
mov byte [esp + 0x16], 0x61
jmp 0x1007b407
cmp byte [0x100ba76b], 0x69
jne 0x1007b228
mov byte [esp + 0x16], 0x65
jmp 0x1007b23a
mov byte [esp + 0x16], 0x74
jmp 0x1007b407
cmp al, 0x65
jne 0x1007b407
cmp byte [esp + 0x27], 1
jne 0x1007b407
mov edx, dword [esp + 0x50]
xor eax, eax
mov al, byte [edx + 8]
push eax
call fcn.1005bc30
mov ecx, dword [ebp + 0x48]
mov byte [esp + 0xa4], al
movzx eax, word [ecx + esi*2 + 2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 8]
mov edx, dword [ebp + 0x14]
xor eax, eax
mov al, byte [ecx + edx + 9]
dec al
push eax
call fcn.1005bca0
mov ecx, dword [ebp + 0x48]
mov byte [esp + 0x58], al
movzx eax, word [ecx + esi*2 + 2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 8]
mov edx, dword [ebp + 0x14]
xor eax, eax
mov al, byte [ecx + edx + 3]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xa8]
add esp, 8
sub al, 0x30
push 0
push eax
push ecx
mov ecx, dword [0x100b2080]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xbc]
push eax
push ecx
call fcn.10082100
mov edi, dword [esp + 0x418]
lea edx, [esp + 0xa8]
push edx
push 0xffffffffffffffff
push edi
call fcn.100839e0
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
mov ecx, dword [esp + 0x414]
lea eax, [esi + 2]
add esp, 0x18
cmp eax, ecx
je 0x1007b327
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 0x10]
push ecx
push 0xffffffffffffffff
push edi
call fcn.10083990
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0x18
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + esi*2 + 2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
mov al, byte [edx + eax + 3]
cmp al, 0x33
jbe 0x1007b364
cmp al, 0x37
jae 0x1007b364
mov ecx, dword [esp + 0x40c]
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1007b354
sub eax, ebx
mov byte [eax + ecx - 1], 0x69
jmp 0x1007b36b
mov ecx, dword [esp + 0x40c]
push ecx
push 0xffffffffffffffff
push edi
call fcn.10083990
lea ecx, [esi + 1]
add esp, 0xc
mov dword [0x100ba76c], 1
mov word [0x100ba768], cx
jmp 0x1007b407
mov edx, dword [ebp + 0x44]
lea eax, [esi + edx]
cmp byte [eax], 8
mov dword [esp + 0x58], eax
jne 0x1007b3bf
movzx eax, word [ebx + esi*2]
lea eax, [eax + eax*4]
mov edx, dword [edi + eax*4 + 8]
lea eax, [edx + ecx]
cmp byte [eax + 5], 0x70
jne 0x1007b3bf
cmp byte [eax + 6], 0x72
jne 0x1007b3bf
mov dword [esp + 0x2c], esi
jmp 0x1007b3ff
mov eax, dword [ebp + 0x40]
mov edx, dword [eax + esi*4]
mov eax, dword [0x100bba90]
cmp edx, dword [eax + 0x80]
je 0x1007b3db
mov edx, dword [esp + 0x58]
cmp byte [edx], 8
jne 0x1007b407
mov eax, dword [esp + 0x58]
cmp byte [eax - 1], 8
jne 0x1007b407
movzx eax, word [ebx + esi*2 - 2]
lea edx, [eax + eax*4]
mov eax, dword [edi + edx*4 + 8]
cmp byte [eax + ecx + 6], 0x72
jne 0x1007b407
lea ecx, [esi - 1]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], 1
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 0x3fc]
movzx eax, word [edx + eax*2]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 + 8]
cmp byte [ecx + edi + 4], 0x61
jne 0x1007b5a1
cmp byte [esp + 0x27], 1
jne 0x1007b5a1
mov edi, dword [0x100b2080]
lea eax, [esp + 0xa8]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x1007b469
test cl, cl
je 0x1007b465
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x1007b469
add eax, 2
add edi, 2
test cl, cl
jne 0x1007b445
xor eax, eax
jmp 0x1007b46e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1007b5a1
movzx eax, word [edx + esi*2 + 2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 8]
mov eax, dword [ebp + 0x14]
xor edx, edx
mov dl, byte [ecx + eax + 8]
push edx
call fcn.1005bc30
mov edx, dword [ebp + 4]
mov byte [esp + 0xa4], al
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + esi*2 + 2]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
xor edx, edx
mov dl, byte [eax + ecx + 9]
push edx
call fcn.1005bca0
mov edx, dword [ebp + 4]
mov byte [esp + 0x58], al
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + esi*2 + 2]
mov edi, dword [esp + 0x414]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
xor edx, edx
mov dl, byte [eax + ecx + 3]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xa8]
add esp, 8
sub dl, 0x30
push 0
push edx
push eax
push ecx
push 0xffffffffffffffff
push edi
lea edx, [esp + 0xc0]
push edx
call fcn.10082100
push edi
mov edi, dword [esp + 0x41c]
push 0xffffffffffffffff
push edi
call fcn.100839e0
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + esi*2 + 2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
mov al, byte [eax + ecx + 3]
add esp, 0xc
cmp al, 0x33
jbe 0x1007b556
cmp al, 0x37
jae 0x1007b556
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007b541
sub eax, edx
mov byte [eax + edi - 1], 0x69
mov byte [0x100ba76a], 1
mov eax, dword [esp + 0x3fc]
lea ebx, [esi + 2]
cmp ebx, eax
je 0x1007b58e
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + ebx*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x10]
push edx
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0x18
lea eax, [esi + 1]
mov dword [0x100ba76c], 1
mov word [0x100ba768], ax
mov eax, dword [ebp + 0x48]
mov edx, dword [esp + 0x3fc]
movzx edx, word [eax + edx*2]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x14]
lea edx, [edx + edx*4]
mov edx, dword [ecx + edx*4 + 8]
add edx, edi
mov dword [esp + 0x50], edx
mov dl, byte [edx + 0xa]
cmp dl, 0x53
jne 0x1007b7d0
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x1007b5e1
cmp dword [esp + 0x4c], 1
jne 0x1007b7d0
mov ecx, dword [ebp + 0x2f8]
push 0xffffffffffffffff
lea eax, [esp + 0xac]
push eax
push ecx
call fcn.100a5245
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 0x408]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
add ecx, eax
movzx ax, byte [ecx + 6]
mov dl, al
and dl, 0x80
add esp, 0xc
cmp dl, 0x80
mov byte [esp + 0x17], 1
jne 0x1007b630
mov byte [esp + 0x17], 2
test al, 1
je 0x1007b639
mov byte [esp + 0x17], 1
cmp byte [esp + 0x60], 0x63
jne 0x1007b64e
lea eax, [esp + 0x60]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x74]
push ecx
jmp 0x1007b669
lea eax, [ecx + 0xb]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1007b654
sub eax, esi
lea edx, [ecx + eax + 0xc]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0x74]
push eax
call fcn.100839e0
lea eax, [esp + 0x78]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007b678
sub eax, edx
mov edx, eax
cmp dx, 4
jne 0x1007b69a
cmp byte [esp + 0x6d], 0x69
jne 0x1007b69a
mov ecx, dword [ebp + 0x2f8]
mov byte [ecx + 3], 1
mov cl, byte [esp + 0x6c]
mov al, 0x6c
cmp cl, al
je 0x1007b6ba
cmp dx, 3
jle 0x1007b6b3
movsx ecx, dx
cmp byte [esp + ecx + 0x6a], al
je 0x1007b6ba
mov edi, 4
jmp 0x1007b6bf
mov edi, 3
mov ecx, dword [ebp + 0x2f8]
mov al, byte [ecx + 0x10]
and al, 0xe0
xor esi, esi
cmp al, 0x80
jne 0x1007b6d5
mov esi, 5
movsx eax, si
mov al, byte [eax + ecx + 0x10]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x1007b6f3
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [esi + eax*2 + 5]
mov byte [ecx + 2], dl
lea ecx, [esp + 0xa8]
push ecx
lea edx, [esp + 0x2f4]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov eax, dword [ebp + 0x2f8]
push 0xffffffffffffffff
lea ecx, [esp + 0x300]
push ecx
push edi
movsx edx, si
push 0xffffffffffffffff
lea ecx, [edx + eax + 0x10]
push ecx
push 0
push eax
call fcn.1005ea90
add esp, 0x28
cmp ax, 1
je 0x1007b74f
cmp byte [esp + 0x6c], 0x6c
jne case.0x1007d117.33
cmp dword [esp + 0x4c], 1
jne case.0x1007d117.33
mov bl, byte [esp + 0x18]
mov edi, dword [esp + 0x40c]
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007b760
sub eax, edx
mov edx, eax
movzx eax, bl
sub eax, 3
je 0x1007c5df
dec eax
je 0x1007c5bf
dec eax
jne 0x1007c689
mov al, byte [esp + 0x54]
test al, al
je 0x1007b093
lea eax, [esp + 0x6c]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007b798
mov ecx, dword [ebp + 0x48]
sub eax, esi
mov esi, dword [esp + 0x3fc]
movzx ecx, word [ecx + esi*2]
mov esi, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*4]
mov esi, dword [ecx + 0x10]
sub esi, eax
movzx eax, byte [ecx]
movsx ecx, dx
mov dl, byte [esi + eax - 1]
mov byte [ecx + edi - 1], dl
jmp 0x1007c689
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x1007bc0c
cmp byte [esp + 0x14], 1
je 0x1007bc0c
cmp byte [esp + 0x11], 1
je 0x1007bc0c
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x1007ba6a
cmp dl, 0x53
je 0x1007ba6a
mov dl, byte [esp + 0x27]
test dl, dl
je 0x1007b99a
movzx eax, word [eax + esi*2 + 2]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 + 8]
xor ecx, ecx
mov cl, byte [eax + edi + 8]
push ecx
call fcn.1005bc30
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 4]
mov byte [esp + 0x24], al
movzx eax, word [edx + esi*2 + 2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov cl, byte [edx + eax + 9]
dec cl
push ecx
call fcn.1005bca0
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 4]
mov bl, byte [esp + 0x1e]
mov byte [esp + 0x6c], al
movzx eax, word [edx + esi*2 + 2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
mov cl, byte [edx + eax + 3]
add esp, 8
sub cl, 0x30
cmp bl, 0x61
mov byte [esp + 0x40], cl
push 0
jne 0x1007b8a5
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x24]
push edx
push eax
mov eax, dword [str.avere]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xbc]
push edx
push eax
jmp 0x1007b8c5
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x24]
push ecx
push edx
mov edx, dword [0x100b2080]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0xbc]
push ecx
push edx
call fcn.10082100
mov edi, dword [esp + 0x418]
lea eax, [esp + 0xa8]
push eax
push 0xffffffffffffffff
push edi
call fcn.100839e0
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
mov ecx, dword [esp + 0x414]
lea eax, [esi + 2]
add esp, 0x18
cmp eax, ecx
je 0x1007b929
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 0x10]
push ecx
push 0xffffffffffffffff
push edi
call fcn.10083990
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0x18
mov edx, dword [esp + 0x40c]
push edx
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0xc
cmp bl, 0x61
je 0x1007b981
mov eax, dword [esp + 0x400]
sub eax, 0x44
je 0x1007b965
sub eax, 4
je 0x1007b95e
sub eax, 0x3c
jne 0x1007b96a
mov byte [esp + 0x1c], 0x69
jmp 0x1007b96a
mov byte [esp + 0x1c], 0x61
jmp 0x1007b96a
mov byte [esp + 0x1c], 0x65
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007b970
mov cl, byte [esp + 0x1c]
sub eax, edx
mov byte [eax + edi - 1], cl
lea edx, [esi + 1]
mov dword [0x100ba76c], 1
mov word [0x100ba768], dx
jmp 0x1007ba29
mov edx, dword [esp + 0x50]
cmp byte [edx + 8], 0x47
jne 0x1007ba22
mov edi, dword [ebp + 0x44]
mov edx, dword [esp + 0x3fc]
cmp byte [edi + edx - 1], 5
jne 0x1007ba22
mov edi, dword [ebp + 0x40]
mov edi, dword [edi + edx*4 - 4]
mov ebx, dword [0x100bba90]
cmp edi, dword [ebx + 0x68]
jne 0x1007ba22
movzx eax, word [eax + edx*2 - 2]
mov edi, dword [esp + 0x418]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 + 0x10]
push ecx
push 0xffffffffffffffff
push edi
call fcn.100839e0
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
mov edx, dword [esp + 0x424]
push edx
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0x24
dec word [0x100ba768]
mov dword [0x100ba76c], 1
jmp 0x1007ba29
mov edi, dword [esp + 0x418]
mov ecx, dword [esp + 0x2c]
lea eax, [esi - 1]
cmp ecx, eax
jne 0x1007ba61
mov eax, dword [0x100ba76c]
test eax, eax
jne 0x1007ba5a
mov ecx, dword [esp + 0x40c]
push ecx
push 0xffffffffffffffff
push edi
call fcn.100839e0
add esp, 0xc
mov dword [0x100ba76c], 1
dec word [0x100ba768]
dec word [0x100ba768]
jmp 0x1007ba71
mov edi, dword [esp + 0x418]
cmp byte [esp + 0x16], 0x61
jne 0x1007bbde
cmp byte [esp + 0x27], 2
jne 0x1007bbde
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x1007bbea
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + esi*2 + 2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
mov cl, byte [eax + edx + 6]
add eax, edx
test cl, 0x10
jne 0x1007bbea
cmp byte [eax + 0xb], 0x76
je 0x1007bbea
xor ecx, ecx
mov cl, byte [eax + 8]
push ecx
call fcn.1005bc30
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 4]
mov byte [esp + 0xa4], al
movzx eax, word [edx + esi*2 + 2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov cl, byte [edx + eax + 9]
dec cl
push ecx
call fcn.1005bca0
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 4]
mov byte [esp + 0x58], al
movzx eax, word [edx + esi*2 + 2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov cl, byte [edx + eax + 3]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0xa8]
add esp, 8
sub cl, 0x30
push 0
push ecx
push edx
mov edx, dword [str.avere]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0xbc]
push ecx
push edx
call fcn.10082100
lea eax, [esp + 0xa8]
push eax
push 0xffffffffffffffff
push edi
call fcn.100839e0
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
mov ecx, dword [esp + 0x414]
lea ebx, [esi + 2]
movsx eax, bx
add esp, 0x18
cmp eax, ecx
jge 0x1007bbb4
mov ecx, dword [ebp + 0x44]
cmp byte [eax + ecx], 5
je 0x1007bba5
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + eax*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x10]
push edx
push 0xffffffffffffffff
push edi
call fcn.10083990
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0x18
mov ecx, dword [esp + 0x3fc]
inc ebx
movsx eax, bx
cmp eax, ecx
jl 0x1007bb72
mov eax, dword [esp + 0x40c]
push eax
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0xc
inc esi
mov dword [0x100ba76c], 1
mov word [0x100ba768], si
jmp case.0x1007d117.33
mov al, byte [esp + 0x27]
test al, al
je case.0x1007d117.33
mov edx, dword [esp + 0x40c]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007bbf6
mov cl, byte [esp + 0x1c]
sub eax, esi
mov byte [eax + edx - 1], cl
jmp case.0x1007d117.33
mov edi, dword [esp + 0x4c]
test edi, edi
mov byte [esp + 0x6c], 0
je 0x1007bc63
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x70]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov eax, dword [esp + 0x50]
add esp, 0xc
cmp eax, 1
jne 0x1007bc63
cmp byte [esp + 0x11], 1
jne 0x1007bc63
cmp byte [esp + 0x60], 0x73
jne 0x1007bc63
mov ecx, dword [ebp + 0x48]
mov edx, dword [esp + 0x2c]
movzx eax, word [ecx + edx*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x10]
mov al, byte [edx]
mov byte [esp + 0x6c], al
cmp byte [esp + 0x11], 1
mov byte [esp + 0xa0], 0
jne 0x1007bc83
lea ecx, [esp + 0x68]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xa8]
push edx
jmp 0x1007bc99
cmp byte [esp + 0x14], 1
jne 0x1007bca1
push 0x100a7448
push 0xffffffffffffffff
lea eax, [esp + 0xa8]
push eax
call fcn.100839e0
add esp, 0xc
mov bl, byte [esp + 0x18]
cmp bl, 4
je 0x1007c399
cmp bl, 6
je 0x1007c456
cmp bl, 5
jne 0x1007bccd
mov al, byte [esp + 0x27]
test al, al
je 0x1007c569
jmp 0x1007bd16
cmp bl, 3
jne 0x1007bd12
cmp byte [esp + 0x40], 2
setne al
lea eax, [eax + eax + 0x74]
mov byte [esp + 0x6c], al
mov al, byte [esp + 0xa0]
test al, al
je 0x1007b753
lea ecx, [esp + 0xa0]
push ecx
lea edx, [esp + 0x70]
push 0xffffffffffffffff
push edx
mov byte [esp + 0x79], 0x65
call fcn.10083990
add esp, 0xc
jmp 0x1007b753
mov al, byte [esp + 0x27]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x1007bebc
mov ebx, dword [esp + 0x2c]
mov ecx, esi
sub ecx, ebx
test ecx, ecx
jg 0x1007bebc
test al, al
je 0x1007bd68
mov al, byte [esp + 0x11]
test al, al
jne 0x1007bd68
mov al, byte [esp + 0x14]
test al, al
jne 0x1007bd68
mov edx, dword [esp + 0x40c]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007bd52
mov cl, byte [esp + 0x1c]
sub eax, esi
mov byte [eax + edx - 1], cl
jmp case.0x1007d117.33
cmp byte [esp + 0x14], 1
je 0x1007bd7a
cmp byte [esp + 0x11], 1
jne case.0x1007d117.33
mov al, byte [esp + 0x11]
test al, al
mov edi, dword [esp + 0x418]
mov ebx, dword [esp + 0x40c]
jne 0x1007bdae
mov al, byte [esp + 0x14]
test al, al
jne 0x1007bdae
movzx ax, byte [esp + 0x40]
push 0xffffffffffffffff
lea edx, [esp + 0x70]
push edx
push eax
call fcn.100784c0
add esp, 0xc
mov al, byte [esp + 0xa0]
test al, al
mov byte [esp + 0x6e], 0x20
mov byte [esp + 0x6f], 0
je 0x1007be15
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x1007bde5
lea ecx, [esp + 0xa0]
push ecx
lea edx, [esp + 0x70]
push 0xffffffffffffffff
push edx
call fcn.100839e0
jmp 0x1007bdfe
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x70]
push 0xffffffffffffffff
push ecx
mov byte [esp + 0x79], 0x65
call fcn.10083990
add esp, 0xc
push 0x100a6508
lea edx, [esp + 0x70]
push 0xffffffffffffffff
push edx
call fcn.10083990
add esp, 0xc
lea eax, [esp + 0x6c]
push eax
push 0xffffffffffffffff
push edi
call fcn.100839e0
mov al, byte [esp + 0x33]
add esp, 0xc
test al, al
je 0x1007be9a
lea eax, [esp + 0x6c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007be38
sub eax, edx
cmp eax, 3
jbe 0x1007be9a
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + esi*2 + 2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 0x10]
push ecx
push 0xffffffffffffffff
push edi
call fcn.10083990
mov al, byte [esp + 0x1d]
add esp, 0xc
cmp al, 1
jne 0x1007be83
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007be75
sub eax, edx
mov byte [eax + ebx - 1], 0x61
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0xc
dec word [0x100ba768]
push ebx
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0xc
dec word [0x100ba768]
mov dword [0x100ba76c], 1
jmp case.0x1007d117.33
test al, al
je 0x1007c27c
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + esi*2 + 2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov cl, byte [edx + eax + 8]
mov dword [esp + 0x20], 0
push ecx
call fcn.1005bc30
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 4]
mov byte [esp + 0x48], al
movzx eax, word [edx + esi*2 + 2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov cl, byte [edx + eax + 9]
dec cl
push ecx
call fcn.1005bca0
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 4]
mov byte [esp + 0x6c], al
movzx eax, word [edx + esi*2 + 2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
mov bl, byte [edx + eax + 3]
mov al, byte [esp + 0x1e]
sub bl, 0x30
add esp, 8
cmp al, 0x61
mov byte [esp + 0x40], bl
jne 0x1007bfca
cmp byte [esp + 0x60], 0x63
je 0x1007bf87
cmp byte [esp + 0x11], 1
jne 0x1007bf5c
cmp byte [esp + 0x27], 1
je 0x1007bf87
cmp byte [esp + 0x15], 1
jne 0x1007bfca
test esi, esi
jle 0x1007bfca
mov ecx, dword [ebp + 0x40]
mov edx, dword [ecx + esi*4 - 4]
mov eax, dword [0x100bba90]
cmp edx, dword [eax + 0x80]
jne 0x1007bfca
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x44]
push 0
push ecx
push edx
mov edx, dword [str.avere]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0xbc]
push ecx
push edx
call fcn.10082100
cmp byte [esp + 0xa1], 0x61
mov dword [esp + 0x20], 1
jne 0x1007bff1
mov byte [esp + 0xa1], 0x27
jmp 0x1007bff1
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x44]
push 0
push eax
push ecx
mov ecx, dword [0x100b2080]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xbc]
push eax
push ecx
call fcn.10082100
cmp byte [esp + 0x15], 1
je 0x1007bfff
cmp byte [esp + 0x11], 1
jne 0x1007c023
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x1007c023
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0x70]
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
jmp 0x1007c082
cmp byte [esp + 0x60], 0x63
je 0x1007c04a
mov al, byte [esp + 0x44]
cmp al, 6
je 0x1007c04a
cmp al, 4
je 0x1007c04a
movzx dx, bl
push 0xffffffffffffffff
lea ecx, [esp + 0x70]
push ecx
push edx
call fcn.100784c0
add esp, 0xc
mov al, byte [esp + 0xa0]
test al, al
je 0x1007c082
push 0x100a6508
lea eax, [esp + 0x70]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x79], 0x65
call fcn.10083990
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x7c]
push 0xffffffffffffffff
push edx
call fcn.10083990
add esp, 0x18
mov al, byte [esp + 0x44]
cmp al, 6
je 0x1007c0f9
cmp al, 4
je 0x1007c0f9
mov edi, dword [esp + 0x418]
lea eax, [esp + 0x6c]
push eax
push 0xffffffffffffffff
push edi
call fcn.100839e0
lea eax, [esp + 0x78]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007c0b4
sub eax, edx
cmp byte [esp + eax + 0x6b], 0x27
je 0x1007c0d4
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0xc
lea ecx, [esp + 0xa8]
push ecx
push 0xffffffffffffffff
push edi
call fcn.10083990
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0x18
jmp 0x1007c17d
mov edi, dword [esp + 0x418]
lea edx, [esp + 0xa8]
push edx
push 0xffffffffffffffff
push edi
call fcn.100839e0
mov al, byte [esp + 0x50]
add esp, 0xc
cmp al, 6
jne 0x1007c130
lea eax, [esp + 0x6c]
push eax
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0xc
jmp 0x1007c16d
lea eax, [esp + 0xa8]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007c140
sub eax, edx
mov dx, word [esp + 0x6c]
movsx eax, ax
cmp byte [esp + eax + 0xa5], 0x72
lea ecx, [eax + edi - 2]
je 0x1007c163
lea ecx, [eax + edi - 1]
mov word [ecx], dx
mov al, byte [esp + 0x6e]
mov byte [ecx + 2], al
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0xc
mov ecx, dword [esp + 0x3fc]
lea ebx, [esi + 2]
movsx eax, bx
cmp eax, ecx
jge 0x1007c1d4
mov ecx, dword [ebp + 0x44]
cmp byte [eax + ecx], 5
je 0x1007c1c5
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + eax*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x10]
push edx
push 0xffffffffffffffff
push edi
call fcn.10083990
push 0x100a6508
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0x18
mov ecx, dword [esp + 0x3fc]
inc ebx
movsx eax, bx
cmp eax, ecx
jl 0x1007c192
mov eax, dword [esp + 0x40c]
push eax
push 0xffffffffffffffff
push edi
call fcn.10083990
mov eax, dword [esp + 0x2c]
mov bl, byte [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x1007c20e
test bl, bl
je 0x1007c1fe
cmp byte [esp + 0x27], 1
jne 0x1007c20e
mov al, byte [esp + 0x40]
cmp al, 3
jbe 0x1007c20c
cmp al, 7
mov bl, 0x69
jb 0x1007c20e
mov bl, 0x6f
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007c213
sub eax, edx
mov byte [eax + edi - 1], bl
cmp byte [esp + 0x11], 1
jne 0x1007c24e
cmp byte [esp + 0x60], 0x63
je 0x1007c238
cmp byte [esp + 0xa0], 0x6c
jne 0x1007c24e
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007c240
sub eax, edx
mov byte [eax + edi - 1], 0x61
lea ecx, [esi + 1]
mov word [0x100ba768], cx
sub esi, dword [esp + 0x2c]
test esi, esi
mov dword [0x100ba76c], 1
jle case.0x1007d117.33
add word [0x100ba768], 0xfffe
jmp case.0x1007d117.33
test edi, edi
je 0x1007c2d5
cmp byte [esp + 0x60], 0x63
je 0x1007c2a1
movzx ax, byte [esp + 0x40]
push 0xffffffffffffffff
lea edx, [esp + 0x70]
push edx
push eax
call fcn.100784c0
add esp, 0xc
mov al, byte [esp + 0xa0]
test al, al
mov byte [esp + 0x6e], 0x20
mov byte [esp + 0x6f], 0
je 0x1007c2fd
lea ecx, [esp + 0xa0]
push ecx
lea edx, [esp + 0x70]
push 0xffffffffffffffff
push edx
mov byte [esp + 0x79], 0x65
call fcn.10083990
jmp 0x1007c2e9
lea ecx, [esp + 0xa0]
push ecx
lea edx, [esp + 0x70]
push 0xffffffffffffffff
push edx
call fcn.100839e0
push 0x100a6508
lea eax, [esp + 0x7c]
push 0xffffffffffffffff
push eax
call fcn.10083990
add esp, 0x18
mov edi, dword [esp + 0x40c]
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007c310
sub eax, edx
mov edx, eax
lea eax, [esp + 0x6c]
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007c322
sub eax, ebx
inc edx
push edx
add eax, edi
push edi
push eax
call fcn.100a5245
lea eax, [esp + 0x78]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007c340
sub eax, edx
push eax
lea ecx, [esp + 0x70]
push ecx
push edi
call fcn.100a5245
sub esi, dword [esp + 0x38]
add esp, 0xc
test esi, esi
jle case.0x1007d117.33
mov edx, dword [esp + 0x40c]
mov eax, dword [esp + 0x418]
push edx
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov cx, word [esp + 0x38]
add esp, 0xc
mov dword [0x100ba76c], 1
mov word [0x100ba768], cx
jmp case.0x1007d117.33
cmp byte [esp + 0x6d], 0x69
jne 0x1007c569
mov eax, dword [esp + 0x3fc]
dec eax
test eax, eax
jl 0x1007c569
jle 0x1007c3eb
mov edx, dword [ebp + 0x4c]
cmp byte [eax + edx], 0
jne 0x1007c3eb
mov ecx, dword [ebp + 0x44]
mov cl, byte [eax + ecx]
cmp cl, 7
je 0x1007c3ea
cmp cl, 2
jne 0x1007c3eb
mov edx, dword [ebp + 0x48]
movzx ecx, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
mov ecx, dword [edx + ecx*4 + 8]
mov edx, dword [ebp + 0x14]
cmp byte [ecx + edx + 4], 0x73
jne 0x1007c3eb
dec eax
mov ecx, dword [ebp + 0x48]
movzx ecx, word [ecx + eax*2]
mov esi, dword [ebp + 0x4c]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + edx*4 + 8]
mov ecx, dword [ebp + 0x14]
add ecx, edx
cmp byte [eax + esi], 0
mov dl, byte [ecx + 8]
jne 0x1007c569
mov esi, dword [ebp + 0x44]
cmp byte [eax + esi], 5
jne 0x1007c569
cmp dl, 0x46
je 0x1007c569
cmp dl, 0x47
je 0x1007c569
cmp dl, 0x50
je 0x1007c569
movzx ax, byte [ecx + 3]
push 0xffffffffffffffff
lea edx, [esp + 0x70]
push edx
sub eax, 0x30
push eax
call fcn.100784c0
add esp, 0xc
jmp 0x1007c569
cmp byte [esp + 0x6d], 0x69
jne 0x1007c569
mov ecx, dword [esp + 0x3fc]
dec ecx
test ecx, ecx
jle 0x1007c569
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + ecx*2]
mov edi, dword [ebp + 4]
lea esi, [edx + ecx*2]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [edi + eax*4 + 8]
mov bl, byte [eax + edx + 8]
add eax, edx
mov byte [esp + 0x37], bl
mov ebx, dword [ebp + 0x4c]
cmp byte [ecx + ebx], 0
jne 0x1007c565
mov ebx, dword [ebp + 0x44]
add ebx, ecx
cmp byte [ebx], 5
mov dword [esp + 0x50], ebx
jne 0x1007c565
mov bl, byte [esp + 0x37]
cmp bl, 0x46
je 0x1007c565
cmp bl, 0x47
je 0x1007c565
cmp bl, 0x50
je 0x1007c565
mov ebx, dword [ebp + 0x40]
mov ecx, dword [ebx + ecx*4]
mov ebx, dword [0x100bba90]
cmp ecx, dword [ebx + 0x68]
jne 0x1007c565
movzx ax, byte [eax + 3]
push 0xffffffffffffffff
lea ecx, [esp + 0x70]
push ecx
sub eax, 0x30
push eax
call fcn.100784c0
mov ecx, dword [esp + 0x5c]
mov al, byte [ecx - 1]
add esp, 0xc
cmp al, 8
jne 0x1007c565
movzx eax, word [esi - 2]
lea eax, [eax + eax*4]
mov ecx, dword [edi + eax*4 + 8]
lea edi, [edi + eax*4]
cmp byte [ecx + edx + 6], 0x72
jne 0x1007c565
mov esi, dword [edi + 0x10]
lea eax, [esp + 0x6c]
lea esp, [esp]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1007c558
test cl, cl
je 0x1007c554
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1007c558
add eax, 2
add esi, 2
test cl, cl
jne 0x1007c530
xor eax, eax
jmp 0x1007c55d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1007c565
mov byte [esp + 0x6c], al
mov bl, byte [esp + 0x18]
mov al, byte [esp + 0xa0]
test al, al
je 0x1007c590
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x70]
push 0xffffffffffffffff
push ecx
mov byte [esp + 0x79], 0x65
call fcn.10083990
add esp, 0xc
cmp bl, 5
jne 0x1007b753
cmp byte [esp + 0x54], bl
jne 0x1007b753
mov eax, dword [esp + 0x40c]
lea edx, [esp + 0x6c]
push edx
push 0xffffffffffffffff
push eax
call fcn.10083990
add esp, 0xc
jmp case.0x1007d117.33
movsx eax, dx
mov cl, byte [eax + edi - 3]
add eax, edi
cmp cl, 0x72
jne 0x1007c5d6
mov byte [eax - 2], 0
jmp 0x1007c689
mov byte [eax - 1], 0
jmp 0x1007c689
cmp dx, 4
jg 0x1007c652
movsx ecx, dx
lea eax, [ecx + edi]
cmp byte [eax - 1], 0x69
jne 0x1007c5ff
cmp byte [eax - 2], 0x61
jne 0x1007c5ff
mov byte [eax - 1], 0
cmp byte [eax - 1], 0xec
jne 0x1007c609
mov byte [eax - 1], 0x69
cmp byte [esp + 0x6c], 0x67
je 0x1007c652
mov cl, byte [edi + 1]
cmp cl, byte [edi + 2]
je 0x1007c652
cmp dx, 4
jne 0x1007c630
movzx edx, byte [edi + 2]
mov cl, byte [edx + 0x100bb5c0]
test cl, cl
je 0x1007c652
mov dx, word [eax - 2]
mov ecx, 0x100a667c
cmp dx, word [ecx]
je 0x1007c652
push 5
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x75]
push ecx
call fcn.100a5245
add esp, 0xc
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1007c689
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x70]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov al, byte [esp + 0x4c]
add esp, 0xc
cmp al, 2
jne 0x1007c67d
mov byte [esp + 0x6c], 0x74
jmp 0x1007c689
cmp byte [esp + 0x40], 5
jne 0x1007c689
mov byte [esp + 0x6c], 0x76
cmp bl, 3
je 0x1007c732
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1007c6b5
cmp byte [esp + 0x17], 2
jne 0x1007c6b5
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x70]
push 0xffffffffffffffff
push edx
call fcn.100839e0
add esp, 0xc
mov bl, byte [esp + 0x11]
cmp bl, 1
je 0x1007c6c9
cmp byte [esp + 0x14], 1
jne 0x1007c736
cmp byte [esp + 0x6c], 0x6c
je 0x1007c736
cmp byte [esp + 0x6d], 0x69
jne 0x1007c736
mov al, byte [esp + 0x6e]
test al, al
jne 0x1007c736
cmp bl, 1
lea eax, [esp + 0x6d]
jne 0x1007c71d
push 1
push 0x100aa6b8
push eax
call fcn.100a5245
push 3
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x82]
push edx
call fcn.100a5245
add esp, 0x18
jmp 0x1007c821
push 4
push 0x100aa6b0
push eax
call fcn.100a5245
add esp, 0xc
jmp 0x1007c821
mov bl, byte [esp + 0x11]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1007c821
cmp byte [esp + 0x17], 1
jne 0x1007c821
lea eax, [esp + 0x6c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007c754
sub eax, edx
cmp ax, 2
jne 0x1007c790
cmp byte [esp + 0x6c], 0x6e
je 0x1007c7a3
movsx eax, ax
mov cl, byte [esp + eax + 0x6a]
cmp cl, 0x6c
lea eax, [esp + eax + 0x6c]
jne 0x1007c821
cmp bl, 1
jne 0x1007c7d6
mov byte [eax - 1], 0x61
jmp 0x1007c821
cmp ax, 4
jne 0x1007c79d
cmp byte [esp + 0x6e], 0x6e
je 0x1007c7a3
cmp ax, 3
jne 0x1007c76a
mov cl, byte [esp + 0x15]
test cl, cl
jne 0x1007c821
cmp ax, 2
mov byte [esp + 0x6d], 0x69
mov byte [esp + 0x6e], 0
je 0x1007c7c9
cmp ax, 3
jne 0x1007c821
mov ecx, dword [esp + 0x3fc]
push ecx
jmp 0x1007c814
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x1007c7f8
cmp byte [eax - 1], 0x61
jne 0x1007c7f8
mov al, byte [esp + 0x14]
test al, al
jne 0x1007c7f8
mov byte [esp + 0x6d], 0x69
mov byte [esp + 0x6e], 0
jmp 0x1007c80c
mov byte [esp + 0x6d], 0x65
mov byte [esp + 0x6e], 0x6e
mov byte [esp + 0x6f], 0x65
mov byte [esp + 0x70], 0
mov edx, dword [esp + 0x3fc]
push edx
push ebp
call fcn.10078520
add esp, 8
mov byte [esp + 0x6c], al
cmp byte [esp + 0x6c], 0x6c
jne 0x1007c839
cmp byte [esp + 0x14], 1
jne 0x1007c839
mov byte [esp + 0x6c], 0x6e
mov byte [esp + 0x6d], 0x65
lea eax, [esp + 0x6c]
push eax
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0xc
jmp case.0x1007d117.33
cmp ax, 8
jne 0x1007c8ab
cmp dword [esp + 0x404], 6
jne 0x1007c881
mov ecx, dword [ebp + 0x2f8]
push edi
push ecx
call fcn.100a5245
mov ebx, dword [esp + 0x54]
mov esi, eax
add esp, 8
mov dword [esp + 0x38], esi
jmp 0x1007d880
movzx esi, word [esp + 0x408]
mov edx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push edi
push esi
push edx
mov dword [esp + 0x4c], esi
call fcn.100780a0
mov ebx, dword [esp + 0x60]
add esp, 0x14
jmp 0x1007d880
cmp ax, 7
jne 0x1007cbe8
movzx ebx, word [esp + 0x408]
cmp ebx, 0x400000
movzx ax, byte [edi + 3]
mov word [esp + 0x2c], ax
jl 0x1007c8f8
cmp ebx, 0x40a410
jg 0x1007c8f8
lea ecx, [ebx - 0x400000]
push ecx
call fcn.1008bbb0
push eax
lea edx, [esp + 0xd8]
push 0xffffffffffffffff
push edx
call fcn.100839e0
add esp, 0x10
jmp 0x1007c90d
mov eax, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push edi
push ebx
push eax
call fcn.100780a0
add esp, 0x14
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007c912
sub eax, edx
mov dword [esp + 0x50], eax
cmp dword [0x100b2278], ebx
je 0x1007ca4f
xor esi, esi
push esi
push ebx
push edi
push ebp
call fcn.10077f10
mov ecx, dword [0x100bbc10]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
add esp, 0xc
push edx
push eax
call fcn.10083e20
mov eax, dword [0x100bb6c4]
push 6
lea edx, [esp + 0x88]
xor ecx, ecx
push edx
mov dword [esp + 0x8c], ecx
push eax
mov word [esp + 0x94], cx
call fcn.10083dc0
mov cx, word [esp + 0x90]
mov ax, word [esp + 0x93]
mov dl, byte [esp + 0x92]
mov dword [esp + 0x34], esi
mov dword [esp + 0x48], esi
mov word [esp + 0x34], cx
mov cl, byte [esp + 0x95]
mov word [esp + 0x48], ax
mov byte [esp + 0x36], dl
mov eax, dword [esp + 0x34]
mov byte [esp + 0x4a], cl
mov esi, dword [esp + 0x48]
sub esi, eax
add esp, 0x18
test esi, esi
jle 0x1007ca05
cmp esi, 0x20
jge 0x1007ca05
mov edx, dword [0x100bba9c]
add eax, edx
push 0
push eax
mov eax, dword [0x100bb6c4]
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push esi
lea ecx, [esp + 0x88]
push ecx
push edx
call fcn.10083dc0
add esp, 0x18
mov dword [0x100b2278], ebx
jmp 0x1007ca53
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [0x100b2278], ebx
jmp 0x1007ca53
mov esi, dword [esp + 0x4c]
mov al, byte [esp + 0x78]
mov cl, al
and cl, 0xe0
cmp cl, 0x60
je case.0x1007d117.33
mov edx, dword [esp + 0x7c]
shr edx, 8
and dl, 0xe0
cmp dl, 0x60
jne 0x1007ca7d
cmp esi, 5
jg case.0x1007d117.33
cmp cl, 0x80
jne 0x1007cb06
and al, 0x1c
cmp al, 0xc
jne 0x1007caed
cmp word [esp + 0x2c], 1
jne case.0x1007d117.33
movsx eax, word [esp + 0x50]
mov edx, dword [esp + 0x40c]
mov cl, byte [eax + edx - 1]
add eax, edx
cmp cl, 0x6f
jne 0x1007cab9
mov byte [eax - 1], 0x61
jmp 0x1007cad8
mov cl, byte [eax - 2]
cmp cl, 0x6c
je 0x1007cac6
cmp cl, 0x72
jne 0x1007cad8
movzx ecx, byte [eax - 3]
mov bl, byte [ecx + 0x100bb5c0]
test bl, bl
je 0x1007cad8
mov byte [eax - 1], 0
push 0x100a79c0
push 0xffffffffffffffff
push edx
call fcn.10083990
add esp, 0xc
jmp case.0x1007d117.33
cmp esi, 5
jle case.0x1007d117.33
cmp byte [esp + 0x17], 1
je 0x1007cbb1
jmp case.0x1007d117.33
cmp cl, 0xe0
je case.0x1007f494.69
cmp cl, 0x40
jne 0x1007cb66
mov dl, byte [esp + 0x79]
and dl, 0xe0
cmp dl, 0x80
jne 0x1007cb66
cmp byte [esp + 0x17], 1
jne case.0x1007f494.69
mov esi, dword [esp + 0x40c]
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007cb40
sub eax, edx
push 0x100a79c0
movsx eax, ax
push 0xffffffffffffffff
push esi
mov byte [eax + esi - 1], 0x61
call fcn.10083990
add esp, 0xc
jmp case.0x1007d117.33
cmp cl, 0xc0
jne 0x1007cbb1
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
movsx eax, ax
cmp esi, eax
jle case.0x1007f494.69
cmp byte [esp + 0x17], 1
jne case.0x1007f494.69
mov cl, byte [esp + eax + 0x78]
and cl, 0xe0
cmp cl, 0x40
jne 0x1007cba8
mov al, byte [esp + eax + 0x79]
and al, 0xe0
cmp al, 0x80
je 0x1007cb33
cmp cl, 0x20
jne case.0x1007f494.69
mov esi, dword [esp + 0x40c]
push 0
push 1
push 5
push 5
push 0xffffffffffffffff
lea ecx, [esp + 0xbc]
push ecx
push esi
call fcn.10082100
lea edx, [esp + 0xa8]
push edx
push 0xffffffffffffffff
push esi
call fcn.100839e0
add esp, 0xc
jmp 0x1007cb3a
cmp ax, 6
je 0x1007cc05
cmp ax, 2
je 0x1007cc05
cmp ax, 1
jne case.0x1007d117.33
mov edi, dword [esp + 0x40c]
movzx eax, word [esp + 0x408]
cmp eax, 0xfbf4
jge 0x1007cc2e
mov ecx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push edi
push eax
push ecx
call fcn.100780a0
add esp, 0x14
jmp case.0x1007d117.33
mov ebx, dword [0x100bba84]
add eax, 0xffff040c
imul eax, eax, 0xd
add eax, ebx
push eax
push 0xffffffffffffffff
push edi
call fcn.100839e0
add esp, 0xc
jmp case.0x1007d117.33
movzx esi, word [esp + 0x408]
mov dword [esp + 0x38], esi
cmp dword [0x100b2278], esi
je 0x1007cd7c
xor ebx, ebx
push ebx
push esi
push edi
push ebp
call fcn.10077f10
mov ecx, dword [0x100bbc10]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
add esp, 0xc
push edx
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 6
lea ecx, [esp + 0x88]
push ecx
push edx
call fcn.10083dc0
mov ax, word [esp + 0x90]
mov cl, byte [esp + 0x92]
mov dx, word [esp + 0x93]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], ebx
mov word [esp + 0x34], ax
mov al, byte [esp + 0x95]
mov byte [esp + 0x4a], al
mov byte [esp + 0x36], cl
mov eax, dword [esp + 0x34]
mov word [esp + 0x48], dx
mov ebx, dword [esp + 0x48]
sub ebx, eax
add esp, 0x18
test ebx, ebx
jle 0x1007cd32
cmp ebx, 0x20
jge 0x1007cd32
mov ecx, dword [0x100bba9c]
mov edx, dword [0x100bb6c4]
push 0
add eax, ecx
push eax
push edx
call fcn.10083e20
mov ecx, dword [0x100bb6c4]
push ebx
lea eax, [esp + 0x88]
push eax
push ecx
call fcn.10083dc0
add esp, 0x18
mov dword [0x100b2278], esi
jmp 0x1007cd80
xor edx, edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [0x100b2278], esi
jmp 0x1007cd80
mov ebx, dword [esp + 0x4c]
cmp dword [esp + 0x404], 6
jne 0x1007d0f7
mov eax, edi
mov byte [esp + 0x11], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007cd98
mov cl, byte [esp + 0x78]
sub eax, edx
mov dword [esp + 0x18], eax
mov al, cl
and al, 0xe0
cmp al, 0x20
jne 0x1007cde1
mov eax, dword [ebp + 0x2f8]
mov al, byte [eax + 1]
movzx ecx, al
sub ecx, 0xe
cmp ecx, 0x20
jne 0x1007cdcf
mov byte [esp + 0x11], 0x60
jmp 0x10078bcd
cmp al, 0x30
jne 0x10078bcd
mov byte [esp + 0x11], 0x40
jmp 0x10078bcd
cmp al, 0xc0
jne 0x10078bcd
and cl, 1
dec cl
neg cl
sbb ecx, ecx
inc ecx
lea eax, [ecx + ecx + 5]
cmp ebx, eax
jle 0x10078bcd
mov dl, byte [esp + eax + 0x78]
and dl, 0xe0
cmp dl, 0x40
jne 0x10078bcd
mov eax, dword [ebp + 0x2f8]
mov ecx, dword [eax + 0x320]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x54]
push edx
push 0
push 0x1f4
push ecx
push edi
push eax
call fcn.1005ef70
add esp, 0x1c
test ax, ax
je 0x10078bcd
mov byte [esp + 0x11], 0x60
jmp 0x10078bcd
mov edx, 1
mov eax, edx
mov dword [esp + 0x2c], eax
jmp 0x1007ce60
sub esi, 0x10000
cmp esi, 0x10000
jl 0x1007ce75
inc eax
cmp ax, 0x3a
jle 0x1007ce60
cmp ax, 3
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], esi
jne 0x1007ceb7
mov eax, dword [esp + 0x404]
cmp eax, 4
je 0x1007ce98
cmp eax, 6
jne 0x1007cf93
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007cea0
sub eax, edx
mov dword [esp + 0x18], eax
mov byte [esp + 0x11], 0x20
jmp 0x1007cf93
cmp ax, 7
jl 0x1007cf27
cmp ax, 0x10
jg 0x1007cf31
cmp ax, 0xb
lea ecx, [eax - 7]
jle 0x1007cedb
sub ecx, 5
mov dword [esp + 0x2c], edx
mov edx, dword [0x100bb5b0]
xor eax, eax
cmp cx, ax
mov dword [esp + 0x18], eax
jle 0x1007cf06
lea esp, [esp]
movsx edi, ax
cmp byte [edi + edx + 0x65], 0
jne 0x1007cefe
inc dword [esp + 0x18]
inc eax
cmp word [esp + 0x18], cx
jl 0x1007cef0
movsx eax, ax
lea ecx, [eax + edx + 0x65]
push ecx
lea edx, [esp + 0x70]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov dword [esp + 0x70], 2
jmp 0x1007cf90
cmp ax, 0x10
jle 0x1007cf93
cmp ax, 0x16
jge 0x1007cf93
cmp ax, 0x25
lea ecx, [eax - 0x11]
jle 0x1007cf4b
sub ecx, 0x14
mov dword [esp + 0x2c], edx
mov edx, dword [0x100bb328]
movsx ecx, cx
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x20], eax
jle 0x1007cf76
mov edi, edi
movsx edi, ax
cmp byte [edi + edx], 0
jne 0x1007cf6d
inc dword [esp + 0x20]
mov edi, dword [esp + 0x20]
inc eax
cmp edi, ecx
jl 0x1007cf60
movsx eax, ax
add eax, edx
push eax
lea ecx, [esp + 0x70]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov dword [esp + 0x70], 1
add esp, 0xc
movsx eax, word [esp + 0x3c]
add eax, 0xfffffffd
cmp eax, 5
ja case.0x1007e5c7.1
jmp dword [eax*4 + 0x1007f524]
mov eax, dword [esp + 0x2c]
cmp ax, 4
je 0x1007d0ab
cmp ax, 5
je 0x1007d0af
movzx eax, byte [esp + 0x11]
cmp eax, 0x60
ja case.0x1007e5c7.1
movzx edx, byte [eax + 0x1007f54c]
jmp dword [edx*4 + 0x1007f53c]
mov eax, dword [esp + 0x400]
add eax, 0xffffffbc
cmp eax, 0x44
ja case.0x1007f494.69
movzx eax, byte [eax + 0x1007f5c4]
jmp dword [eax*4 + 0x1007f5b0]
movsx ecx, word [esp + 0x18]
mov edx, dword [esp + 0x40c]
mov byte [ecx + edx - 1], 0x6f
jmp case.0x1007f494.69
movsx eax, word [esp + 0x18]
mov ecx, dword [esp + 0x40c]
mov byte [eax + ecx - 1], 0x61
jmp case.0x1007f494.69
movsx edx, word [esp + 0x18]
mov eax, dword [esp + 0x40c]
mov cl, byte [eax + edx - 2]
add eax, edx
cmp cl, 0x63
jne 0x1007d053
mov byte [eax - 1], 0x68
mov byte [eax], 0x69
mov byte [eax + 1], 0
jmp case.0x1007f494.69
mov byte [eax - 1], 0x69
jmp case.0x1007f494.69
movsx ecx, word [esp + 0x18]
mov edx, dword [esp + 0x40c]
lea eax, [ecx + edx]
cmp byte [eax - 2], 0x63
jne 0x1007d081
mov byte [eax - 1], 0x68
mov byte [eax], 0x65
mov byte [eax + 1], 0
jmp case.0x1007f494.69
mov byte [eax - 1], 0x65
jmp case.0x1007f494.69
mov eax, dword [esp + 0x400]
add eax, 0xffffffbc
cmp eax, 0x44
ja case.0x1007f494.69
movzx eax, byte [eax + 0x1007f618]
jmp dword [eax*4 + 0x1007f60c]
mov al, 0xa
jmp 0x1007d0b1
mov al, 1
mov byte [esp + 0x20], al
movzx ax, al
push 0xffffffffffffffff
lea edx, [esp + 0xd4]
push edx
push esi
push eax
call fcn.10014c10
mov esi, dword [esp + 0x30]
add esp, 0x10
jmp 0x1007ef3e
mov ecx, dword [esp + 0x40c]
mov edx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push ecx
push esi
push edx
call fcn.100780a0
add esp, 0x14
jmp case.0x1007f494.69
xor eax, eax
mov al, byte [esp + 0x78]
and eax, 0xe0
add eax, 0xffffffe0
cmp eax, 0xc0
ja case.0x1007d117.33
movzx eax, byte [eax + 0x1007f678]
jmp dword [eax*4 + 0x1007f660]
mov edi, dword [esp + 0x40c]
mov al, byte [edi + 1]
cmp al, 1
mov cl, byte [esp + 0x7d]
jb 0x1007d142
cmp al, 3
ja 0x1007d142
mov dl, cl
and dl, 0xe0
cmp dl, 0x20
je 0x1007d3db
cmp word [esp + 0x3c], 4
mov eax, dword [esp + 0x3fc]
je 0x1007d165
test eax, eax
jl 0x1007d198
mov edx, dword [ebp + 0x40]
cmp dword [edx + eax*4], 0x60000
jbe 0x1007d198
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
mov edx, dword [ebp + 0x14]
mov al, byte [eax + edx + 2]
and al, 0x60
cmp al, 0x60
je 0x1007d187
cmp al, 0x40
jne 0x1007d198
cmp ebx, 5
jle 0x1007d198
and cl, 0xe0
cmp cl, 0x20
je 0x1007d3db
cmp byte [edi + 1], 4
je 0x1007d3db
mov eax, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push edi
push esi
push eax
call fcn.100780a0
mov eax, edi
add esp, 0x14
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007d1c0
mov cl, byte [esp + 0x78]
and cl, 1
sub eax, edx
dec cl
neg cl
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x4b]
sbb ecx, ecx
inc ecx
test al, al
lea ecx, [ecx + ecx + 5]
jne 0x1007d220
mov edx, dword [ebp + 0x44]
mov eax, dword [esp + 0x3fc]
cmp byte [eax + edx], 3
je 0x1007d220
test byte [esp + 0x7b], 0x20
jne 0x1007e5ad
cmp ebx, ecx
jle 0x1007d220
mov dl, byte [esp + ecx + 0x78]
and dl, 0xe0
cmp dl, 0x40
jne 0x1007d220
mov al, byte [esp + ecx + 0x79]
and al, 0xf0
cmp al, 0x80
je 0x1007e5ad
cmp byte [esp + 0x12], 0x40
jne 0x1007d232
test byte [esp + 0x78], 0x10
je case.0x1007e5c7.0
mov ecx, dword [ebp + 0x2f8]
mov edx, dword [ecx + 0x320]
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x54]
push eax
push 0
push 0x1f4
push edx
push edi
push ecx
call fcn.1005ef70
add esp, 0x1c
test ax, ax
je case.0x1007e5c7.0
cmp dword [esp + 0x404], 2
jne 0x1007e5ad
mov eax, 4
cmp word [esp + 0x3c], ax
je 0x1007d2a2
cmp dword [0x100b227c], eax
je 0x1007d2a2
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x3fc]
mov al, byte [ecx + eax]
cmp al, 3
je case.0x1007e5c7.0
cmp al, 7
je case.0x1007e5c7.0
cmp dword [esp + 0x400], 0x80
jl 0x1007e5ad
test byte [esp + 0x78], 0x10
je case.0x1007e5c7.0
jmp 0x1007e5ad
mov edi, dword [esp + 0x40c]
mov cl, byte [edi + 1]
cmp cl, 1
mov al, byte [esp + 0x7d]
jb 0x1007d2ee
cmp cl, 4
ja 0x1007d2ee
cmp ebx, 5
jle 0x1007d2ee
mov dl, al
and dl, 0xe0
cmp dl, 0x20
je 0x1007d3db
mov ecx, dword [esp + 0x3c]
cmp cx, 3
jne 0x1007d37c
cmp ebx, 5
jle case.0x1007cfd8.0
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne case.0x1007cfd8.0
mov ecx, dword [esp + 0x414]
test ecx, ecx
je 0x1007d32b
cmp dword [0x100b227c], 4
je case.0x1007cfd8.0
mov edx, dword [esp + 0x400]
and al, 0x10
sub al, 0x10
neg al
sbb eax, eax
and eax, 0xffffffc0
add eax, 0x80
and edx, 0xc0
cmp dx, ax
je 0x1007d35b
mov al, byte [esp + 0x7f]
and al, 0x1c
cmp al, 0x1c
jne case.0x1007cfd8.0
sub ebx, 5
push ebx
lea ecx, [esp + 0x81]
push ecx
lea edx, [esp + 0x80]
push edx
call fcn.100a5245
add esp, 0xc
jmp case.0x1007e5c7.0
cmp cx, 4
jne case.0x1007cfd8.0
mov edx, dword [esp + 0x3fc]
mov ecx, dword [ebp + 0x48]
movzx ecx, word [ecx + edx*2]
mov edx, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
mov ecx, dword [edx + ecx*4 + 8]
mov edx, dword [ebp + 0x14]
mov cl, byte [ecx + edx + 2]
and cl, 0x60
cmp cl, 0x60
je 0x1007d3b6
cmp cl, 0x40
jne case.0x1007cfd8.0
cmp ebx, 5
jle case.0x1007cfd8.0
and al, 0xe0
cmp al, 0x20
jne case.0x1007cfd8.0
cmp byte [edi], 0x26
je case.0x1007cfd8.0
jmp 0x1007d3db
mov edi, dword [esp + 0x40c]
push 0
push 0xffffffffffffffff
lea eax, [esp + 0xd8]
push eax
mov dword [0x100ba75c], 1
mov ecx, dword [ebp + 0x2f8]
push esi
push ecx
call fcn.100780a0
lea eax, [esp + 0xe4]
add esp, 0x14
lea edx, [eax + 1]
jmp 0x1007d410
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007d410
sub eax, edx
mov dword [esp + 0x20], eax
cmp byte [0x100ba76a], 1
jne 0x1007d442
mov edx, dword [esp + 0x400]
and edx, 0xf3
add edx, 4
mov byte [esp + 0x10], 4
mov dword [esp + 0x400], edx
mov cl, byte [edi + 1]
movzx eax, cl
dec eax
je 0x1007d711
dec eax
je 0x1007d6f2
dec eax
je 0x1007d6ad
cmp cl, 4
jne 0x1007d53b
mov ecx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
lea eax, [esp + 0xd8]
push eax
push esi
push ecx
call fcn.100780a0
mov ecx, dword [esp + 0x6c]
add esp, 0x14
test ecx, ecx
jne 0x1007d53f
mov eax, dword [esp + 0x414]
test eax, eax
jne 0x1007d53f
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 0x3fc]
movzx eax, word [edx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov edx, dword [eax + edx*4 + 8]
mov eax, dword [ebp + 0x14]
test byte [edx + eax + 2], 1
jne 0x1007d53f
push ecx
push 1
push 5
push 5
push 0xffffffffffffffff
lea ecx, [esp + 0xe4]
push ecx
mov edx, ecx
push edx
call fcn.10082100
test byte [edi], 4
je 0x1007d4f2
lea eax, [esp + 0x68]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0xd8]
push ecx
jmp 0x1007d501
push 0x100a745c
push 0xffffffffffffffff
lea edx, [esp + 0xd8]
push edx
call fcn.10083990
lea eax, [esp + 0xdc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007d513
sub eax, edx
add eax, 0xfffffffe
mov dword [esp + 0x18], eax
lea eax, [esp + 0xd0]
push eax
push 0xffffffffffffffff
push edi
call fcn.100839e0
add esp, 0xc
jmp 0x1007e5ad
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x3fc]
test eax, eax
jl 0x1007d5a5
cmp byte [edi], 0x26
je 0x1007d711
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
mov edx, dword [ebp + 0x14]
mov al, byte [eax + edx + 2]
and al, 0x60
cmp al, 0x60
jne 0x1007d57d
test ecx, ecx
je 0x1007d711
cmp al, 0x40
jne 0x1007d5a5
test ecx, ecx
jne 0x1007d5a5
push ecx
push 1
push ecx
push 5
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0xe8]
push ecx
call fcn.10082100
mov byte [esp + 0x11], 0x40
jmp 0x1007d72e
mov cl, byte [edi]
mov dl, cl
and dl, 1
jne 0x1007d5c2
test cl, 4
jne 0x1007d5c2
mov dword [0x100ba75c], 2
jmp 0x1007d64f
movsx eax, word [esp + 0x20]
mov bl, byte [esp + eax + 0xcd]
cmp bl, 0x72
lea eax, [esp + eax + 0xd0]
jne 0x1007d5e0
mov byte [eax - 2], 0
jmp 0x1007d5ea
cmp byte [eax - 2], 0x72
jne 0x1007d5ea
mov byte [eax - 1], 0
cmp dl, 1
jne 0x1007d603
push 0x100a745c
push 0xffffffffffffffff
lea edx, [esp + 0xd8]
push edx
jmp 0x1007d647
test cl, 4
je 0x1007d64f
lea eax, [esp + 0xd0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007d616
sub eax, edx
movsx eax, ax
mov cl, byte [esp + eax + 0xcf]
cmp cl, 0x69
lea eax, [esp + eax + 0xcf]
jne 0x1007d638
mov byte [eax], 0x65
lea eax, [esp + 0x68]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0xd8]
push ecx
call fcn.10083990
add esp, 0xc
mov esi, dword [0x100b2080]
lea eax, [esp + 0xd0]
lea esp, [esp]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1007d688
test cl, cl
je 0x1007d684
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1007d688
add eax, 2
add esi, 2
test cl, cl
jne 0x1007d660
xor eax, eax
jmp 0x1007d68d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10079070
cmp byte [esp + 0x10], 4
jne 0x10079070
mov byte [esp + 0xd5], 0x69
jmp 0x10079070
lea eax, [esp + 0xd0]
push eax
push 0xffffffffffffffff
push edi
call fcn.100839e0
movsx ecx, word [esp + 0x2c]
lea eax, [ecx + edi]
mov cl, byte [eax - 3]
add esp, 0xc
cmp cl, 0x65
jne 0x1007d6d4
mov byte [eax - 3], 0x69
mov edx, dword [str.bile]
add eax, 0xfffffffe
mov dword [eax], edx
mov cl, byte [0x100aa6ac]
mov byte [eax + 4], cl
mov byte [esp + 0x11], 0x20
jmp 0x1007d72e
push 0
push 1
push 0
push 5
push 0xffffffffffffffff
push edi
lea edx, [esp + 0xe8]
push edx
call fcn.10082100
mov byte [esp + 0x11], 0x40
jmp 0x1007d72e
push 0
push 1
push 5
push 5
push 0xffffffffffffffff
lea eax, [esp + 0xe4]
push edi
push eax
call fcn.10082100
mov byte [esp + 0x11], 0x60
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007d733
sub eax, edx
mov dword [esp + 0x18], eax
jmp case.0x1007cfa4.3
mov edi, dword [esp + 0x40c]
test byte [edi], 1
je 0x1007d759
mov dword [esp + 0x20], 1
mov ecx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push edi
push esi
push ecx
call fcn.100780a0
mov eax, edi
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007d773
sub eax, edx
cmp ax, 2
mov dword [esp + 0x18], eax
jne 0x1007d7a9
cmp byte [edi + 1], 0x61
jne 0x1007d7a9
cmp byte [esp + 0x10], 4
jne 0x1007d7a9
push str.anno
push 0xffffffffffffffff
inc edi
push edi
call fcn.100839e0
add esp, 0xc
jmp case.0x1007d117.33
mov dl, byte [esp + 0x78]
mov cl, byte [esp + 0x79]
and dl, 0xe0
cmp dl, 0x40
jne 0x1007d7d0
mov al, cl
and al, 0xf0
cmp al, 0x80
je 0x1007d7d0
cmp al, 0x90
jne case.0x1007d117.33
mov edi, dword [esp + 0x40c]
mov al, cl
and al, 0x18
cmp al, 8
jne 0x1007d7df
mov byte [esp + 0x11], 0x60
jmp 0x1007d7e8
cmp al, 0x18
jne 0x1007d7e8
mov byte [esp + 0x11], 0x40
mov eax, dword [esp + 0x20]
test eax, eax
je case.0x1007cfa4.3
push 0x100a745c
push 0xffffffffffffffff
push edi
call fcn.10083990
add esp, 0xc
jmp case.0x1007cfa4.3
mov eax, dword [esp + 0x40c]
mov ecx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push eax
push esi
push ecx
call fcn.100780a0
add esp, 0x14
cmp ebx, 2
jle 0x1007d85c
cmp word [esp + 0x3c], 7
je 0x1007d85c
mov dl, byte [esp + 0x7a]
and dl, 0xe0
cmp dl, 0xc0
jne 0x1007d85c
sub ebx, 2
push ebx
lea eax, [esp + 0x7e]
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.100a5245
add esp, 0xc
jmp case.0x1007e5c7.0
mov al, byte [esp + 0x78]
mov dl, al
and dl, 0xe0
cmp dl, 0xe0
jne case.0x1007d117.33
and al, 3
cmp al, 3
jne 0x1007d897
mov byte [esp + 0x13], 0x80
mov edi, dword [esp + 0x40c]
cmp esi, 0xfbf4
jl 0x1007d8a9
movsx eax, word [esp + 0x18]
mov byte [eax + edi + 1], 1
jmp case.0x1007e5c7.1
cmp al, 2
mov edi, dword [esp + 0x40c]
jne 0x1007d880
mov byte [esp + 0x13], 0x40
jmp 0x1007d880
cmp dword [0x100b2278], esi
je 0x1007d9c9
xor ebx, ebx
push ebx
push esi
push edi
push ebp
call fcn.10077f10
mov ecx, dword [0x100bbc10]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
add esp, 0xc
push edx
push eax
call fcn.10083e20
mov eax, dword [0x100bb6c4]
push 6
lea edx, [esp + 0x88]
xor ecx, ecx
push edx
mov dword [esp + 0x8c], ecx
push eax
mov word [esp + 0x94], cx
call fcn.10083dc0
mov cx, word [esp + 0x90]
mov ax, word [esp + 0x93]
mov dl, byte [esp + 0x92]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], ebx
mov word [esp + 0x34], cx
mov cl, byte [esp + 0x95]
mov word [esp + 0x48], ax
mov byte [esp + 0x36], dl
mov eax, dword [esp + 0x34]
mov byte [esp + 0x4a], cl
mov ebx, dword [esp + 0x48]
sub ebx, eax
add esp, 0x18
test ebx, ebx
jle 0x1007d981
cmp ebx, 0x20
jge 0x1007d981
mov edx, dword [0x100bba9c]
add eax, edx
push 0
push eax
mov eax, dword [0x100bb6c4]
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push ebx
lea ecx, [esp + 0x88]
push ecx
push edx
call fcn.10083dc0
add esp, 0x18
jmp 0x1007d9c3
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [0x100b2278], esi
mov al, byte [esp + 0x78]
and al, 0xe0
cmp al, 0x20
jne 0x1007da02
mov ecx, dword [ebp + 0x2f8]
cmp byte [ecx + 1], 0x30
mov byte [esp + 0x11], 0x60
jne 0x1007d9e9
mov byte [esp + 0x11], 0x40
mov eax, edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007d9f0
sub eax, edx
mov dword [esp + 0x18], eax
jmp case.0x1007cfa4.3
cmp al, 0x80
je case.0x1007cfd8.0
cmp al, 0xc0
jne 0x1007f01e
mov edi, dword [esp + 0x2c]
cmp di, 4
mov dword [esp + 0x20], 0
je 0x1007eec2
cmp di, 5
je 0x1007eec6
cmp esi, 0x400000
jl 0x1007da63
cmp esi, 0x40a410
jg 0x1007da63
lea edx, [esi - 0x400000]
push edx
call fcn.1008bbb0
push eax
lea eax, [esp + 0xd8]
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0x10
jmp 0x1007da7f
mov edx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0xd8]
push ecx
push esi
push edx
call fcn.100780a0
add esp, 0x14
mov eax, dword [esp + 0x3fc]
cmp eax, 0xffffffff
jne 0x1007da94
xor eax, eax
mov dword [esp + 0x3fc], eax
mov ecx, dword [esp + 0x404]
cmp ecx, 4
jge 0x1007dac2
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
mov edx, dword [ebp + 0x14]
mov al, byte [eax + edx + 4]
and al, 0x1c
cmp al, 0x1c
je 0x1007daf2
cmp al, 0x18
je 0x1007daf2
cmp di, 1
je 0x1007e8e5
cmp ecx, 4
je 0x1007daf2
cmp dword [esp + 0xa0], 1
je 0x1007daf2
cmp ecx, 2
jne 0x1007e067
mov al, byte [esp + 0x7a]
and al, 0x1c
cmp al, 0x1c
jne 0x1007e067
cmp di, 1
je 0x1007e8e5
cmp dword [0x100b2278], esi
je 0x1007dc25
mov ecx, dword [esp + 0x40c]
xor edi, edi
push edi
push esi
push ecx
push ebp
call fcn.10077f10
mov edx, dword [0x100bbc10]
lea ecx, [edx + eax*2]
mov edx, dword [0x100bb6c4]
add esp, 0xc
add ecx, eax
push ecx
push edx
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 6
lea ecx, [esp + 0x88]
xor eax, eax
push ecx
mov dword [esp + 0x8c], eax
push edx
mov word [esp + 0x94], ax
call fcn.10083dc0
mov ax, word [esp + 0x90]
mov cl, byte [esp + 0x92]
mov dx, word [esp + 0x93]
mov dword [esp + 0x34], edi
mov word [esp + 0x34], ax
mov al, byte [esp + 0x95]
mov dword [esp + 0x48], edi
mov byte [esp + 0x4a], al
mov byte [esp + 0x36], cl
mov eax, dword [esp + 0x34]
mov word [esp + 0x48], dx
mov ebx, dword [esp + 0x48]
sub ebx, eax
add esp, 0x18
cmp ebx, edi
jle 0x1007dbdd
cmp ebx, 0x20
jge 0x1007dbdd
mov ecx, dword [0x100bba9c]
mov edx, dword [0x100bb6c4]
push edi
add eax, ecx
push eax
push edx
call fcn.10083e20
mov ecx, dword [0x100bb6c4]
push ebx
lea eax, [esp + 0x88]
push eax
push ecx
call fcn.10083dc0
add esp, 0x18
jmp 0x1007dc1f
xor edx, edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [0x100b2278], esi
cmp ebx, 7
mov dword [esp + 0x44], 0
jle 0x1007dc5b
mov al, byte [esp + 0x78]
and al, 0xe0
cmp al, 0x80
jne 0x1007dc5b
lea ecx, [ebx - 5]
push ecx
lea edx, [esp + 0x81]
push edx
lea eax, [esp + 0x80]
push eax
call fcn.100a5245
add esp, 0xc
sub ebx, 5
mov cl, byte [esp + 0x78]
mov al, cl
and al, 0x10
mov dword [esp + 0x20], 1
jne 0x1007dc74
cmp byte [esp + 0x12], 0x80
je 0x1007dc7f
cmp al, 0x10
jne 0x1007dc87
cmp byte [esp + 0x12], 0x40
jne 0x1007dc87
mov dword [esp + 0x20], 0
mov al, cl
and al, 1
je 0x1007de7f
and cl, 0xc
cmp cl, 8
jne 0x1007de7f
cmp dword [esp + 0x20], 1
jne 0x1007de7f
xor ecx, ecx
cmp al, 1
sete cl
lea eax, [ecx + ecx + 5]
cmp dword [esp + 0x404], 4
jne 0x1007dd27
cmp ebx, eax
jle 0x1007dd27
mov cl, byte [esp + eax + 0x78]
lea edi, [esp + eax + 0x78]
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x1007dd27
test cl, 1
jne 0x1007dd27
sub ebx, eax
push ebx
lea eax, [esp + 0x7c]
push edi
push eax
call fcn.100a5245
mov al, byte [esp + 0x84]
add esp, 0xc
and al, 0x10
jne 0x1007dd07
cmp byte [esp + 0x12], 0x80
je 0x1007dd1a
cmp al, 0x10
jne 0x1007de7f
cmp byte [esp + 0x12], 0x40
jne 0x1007de7f
mov dword [esp + 0x20], 0
jmp 0x1007de7f
movzx esi, byte [esp + 0x7e]
movzx ecx, byte [esp + 0x7d]
mov eax, dword [ebp + 0x2f8]
xor edi, edi
push edi
push 0xffffffffffffffff
lea edx, [esp + 0xd8]
shl esi, 8
add esi, ecx
push edx
push esi
push eax
mov dword [esp + 0x4c], esi
call fcn.100780a0
mov eax, dword [0x100b2278]
add esp, 0x14
cmp eax, esi
je 0x1007de7f
mov ecx, dword [esp + 0x40c]
push edi
push esi
push ecx
push ebp
call fcn.10077f10
mov edx, dword [0x100bbc10]
lea ecx, [edx + eax*2]
mov edx, dword [0x100bb6c4]
add esp, 0xc
add ecx, eax
push ecx
push edx
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 6
lea ecx, [esp + 0x88]
xor eax, eax
push ecx
mov dword [esp + 0x8c], eax
push edx
mov word [esp + 0x94], ax
call fcn.10083dc0
mov ax, word [esp + 0x90]
mov cl, byte [esp + 0x92]
mov dx, word [esp + 0x93]
mov dword [esp + 0x34], edi
mov word [esp + 0x34], ax
mov al, byte [esp + 0x95]
mov dword [esp + 0x48], edi
mov byte [esp + 0x4a], al
mov byte [esp + 0x36], cl
mov eax, dword [esp + 0x34]
mov word [esp + 0x48], dx
mov ebx, dword [esp + 0x48]
sub ebx, eax
add esp, 0x18
cmp ebx, edi
jle 0x1007de37
cmp ebx, 0x20
jge 0x1007de37
mov ecx, dword [0x100bba9c]
mov edx, dword [0x100bb6c4]
push edi
add eax, ecx
push eax
push edx
call fcn.10083e20
mov ecx, dword [0x100bb6c4]
push ebx
lea eax, [esp + 0x88]
push eax
push ecx
call fcn.10083dc0
add esp, 0x18
jmp 0x1007de79
xor edx, edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [0x100b2278], esi
mov al, byte [esp + 0x78]
mov cl, al
and cl, 0xc
cmp cl, 0xc
je 0x1007df21
cmp ebx, 7
jle 0x1007df21
cmp byte [esp + 0x12], 0x40
jne 0x1007deaf
mov dl, al
and dl, 0x1c
cmp dl, 4
je case.0x1007e938.5
and al, 1
dec al
neg al
lea ecx, [esp + 0x78]
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
movsx eax, ax
sub ebx, eax
push ebx
lea eax, [esp + eax + 0x7c]
push eax
push ecx
call fcn.100a5245
mov cl, byte [esp + 0x84]
mov al, cl
and al, 0xe0
add esp, 0xc
cmp al, 0xc0
jne 0x1007df05
mov al, cl
and al, 0x10
jne 0x1007def0
cmp byte [esp + 0x12], 0x40
je 0x1007defb
cmp al, 0x10
jne 0x1007df0d
cmp byte [esp + 0x12], 0x80
jne 0x1007df0d
mov dword [esp + 0x20], 1
jmp 0x1007df0d
cmp al, 0x20
je case.0x1007e938.5
cmp dword [esp + 0x404], 4
jne 0x1007df21
test cl, 0x10
je 0x1007df21
mov byte [esp + 0x13], 0x80
mov dl, byte [esp + 0x78]
and dl, 1
dec dl
neg dl
sbb edx, edx
inc edx
lea edi, [edx + edx + 5]
movsx eax, di
cmp ebx, eax
jle 0x1007df56
mov al, byte [esp + eax + 0x78]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x1007df56
and al, 0xc
cmp al, 0xc
jne 0x1007df56
mov dword [esp + 0x44], 1
cmp dword [esp + 0x404], 2
jne 0x1007df8e
cmp word [esp + 0x3c], 5
jne 0x1007df8e
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 0x3fc]
movzx eax, word [edx + eax*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
cmp byte [eax + ecx + 8], 0x46
je case.0x1007e938.5
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x1007e5ce
test byte [esp + 0x7a], 1
jne 0x1007e8e5
mov dl, byte [esp + 0x12]
cmp byte [esp + 0x13], dl
jne 0x1007dfc9
cmp dword [esp + 0x404], 2
jne 0x1007e05d
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x1007e05d
mov eax, dword [esp + 0x40c]
push 0
push esi
push eax
push ebp
call fcn.10077f10
mov ecx, dword [0x100bb5bc]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
add esp, 0xc
push edx
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 3
lea ecx, [esp + 0x6c]
push ecx
push edx
call fcn.10083dc0
movzx esi, byte [esp + 0x76]
mov eax, dword [esp + 0x74]
movzx ecx, ah
shl esi, 8
add esp, 0x18
add esi, ecx
mov dword [esp + 0x38], esi
je 0x1007e025
cmp al, 0x6d
je 0x1007e041
cmp ebx, 7
jne 0x1007ee30
movzx esi, byte [esp + 0x7e]
movzx ecx, byte [esp + 0x7d]
shl esi, 8
add esi, ecx
mov dword [esp + 0x38], esi
mov eax, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
lea edx, [esp + 0xd8]
push edx
push esi
push eax
call fcn.100780a0
add esp, 0x14
mov dword [esp + 0x20], 1
jmp 0x1007e079
mov al, byte [esp + 0x15]
test al, al
je 0x1007e079
mov dword [0x100b2278], 0xf42400
cmp dword [0x100b2278], esi
je 0x1007e1a2
mov ecx, dword [esp + 0x40c]
xor edi, edi
push edi
push esi
push ecx
push ebp
call fcn.10077f10
mov edx, dword [0x100bbc10]
lea ecx, [edx + eax*2]
mov edx, dword [0x100bb6c4]
add esp, 0xc
add ecx, eax
push ecx
push edx
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 6
lea ecx, [esp + 0x88]
xor eax, eax
push ecx
mov dword [esp + 0x8c], eax
push edx
mov word [esp + 0x94], ax
call fcn.10083dc0
mov ax, word [esp + 0x90]
mov cl, byte [esp + 0x92]
mov dx, word [esp + 0x93]
mov dword [esp + 0x34], edi
mov word [esp + 0x34], ax
mov al, byte [esp + 0x95]
mov dword [esp + 0x48], edi
mov byte [esp + 0x4a], al
mov byte [esp + 0x36], cl
mov eax, dword [esp + 0x34]
mov word [esp + 0x48], dx
mov ebx, dword [esp + 0x48]
sub ebx, eax
add esp, 0x18
cmp ebx, edi
jle 0x1007e15a
cmp ebx, 0x20
jge 0x1007e15a
mov ecx, dword [0x100bba9c]
mov edx, dword [0x100bb6c4]
push edi
add eax, ecx
push eax
push edx
call fcn.10083e20
mov ecx, dword [0x100bb6c4]
push ebx
lea eax, [esp + 0x88]
push eax
push ecx
call fcn.10083dc0
add esp, 0x18
jmp 0x1007e19c
xor edx, edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [0x100b2278], esi
mov eax, dword [0x100b2278]
xor dl, dl
cmp eax, esi
mov byte [esp + 0x15], dl
je 0x1007e2d3
mov eax, dword [esp + 0x40c]
xor edi, edi
push edi
push esi
push eax
push ebp
call fcn.10077f10
mov ecx, dword [0x100bbc10]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
add esp, 0xc
push edx
push eax
call fcn.10083e20
mov eax, dword [0x100bb6c4]
push 6
lea edx, [esp + 0x88]
xor ecx, ecx
push edx
mov dword [esp + 0x8c], ecx
push eax
mov word [esp + 0x94], cx
call fcn.10083dc0
mov cx, word [esp + 0x90]
mov ax, word [esp + 0x93]
mov dl, byte [esp + 0x92]
mov dword [esp + 0x34], edi
mov word [esp + 0x34], cx
mov cl, byte [esp + 0x95]
mov dword [esp + 0x48], edi
mov word [esp + 0x48], ax
mov byte [esp + 0x36], dl
mov eax, dword [esp + 0x34]
mov byte [esp + 0x4a], cl
mov ebx, dword [esp + 0x48]
sub ebx, eax
add esp, 0x18
cmp ebx, edi
jle 0x1007e287
cmp ebx, 0x20
jge 0x1007e287
mov edx, dword [0x100bba9c]
add eax, edx
push edi
push eax
mov eax, dword [0x100bb6c4]
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push ebx
lea ecx, [esp + 0x88]
push ecx
push edx
call fcn.10083dc0
add esp, 0x18
jmp 0x1007e2c9
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dl, byte [esp + 0x15]
mov dword [0x100b2278], esi
mov cl, byte [esp + 0x78]
and cl, 0xe0
cmp cl, 0x60
jne 0x1007e2fe
sub ebx, 2
mov ecx, ebx
mov eax, ecx
shr ecx, 2
lea esi, [esp + 0x7a]
lea edi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x38]
cmp dword [esp + 0x404], 2
jne 0x1007e37b
mov ecx, dword [ebp + 0x44]
mov eax, dword [esp + 0x3fc]
cmp byte [eax + ecx], 4
jne 0x1007e366
mov al, byte [esp + 0x78]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x1007e366
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
movsx eax, ax
cmp ebx, eax
jle 0x1007e366
mov al, byte [esp + eax + 0x78]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x1007e366
and al, 0xc
cmp al, 0xc
jne 0x1007e366
mov dword [esp + 0x404], 0x64
jmp 0x1007dc25
mov al, byte [esp + 0x78]
and al, 0xe0
cmp al, 0xc0
jne 0x1007e37b
test byte [esp + 0x7a], 1
jne 0x1007e8e5
cmp ebx, 5
jle 0x1007e400
mov cl, byte [esp + 0x78]
and cl, 0xe0
cmp cl, 0x80
jne 0x1007e3b0
mov dl, byte [esp + 0x7d]
and dl, 0xe0
cmp dl, 0xc0
mov byte [esp + 0x15], 5
jne 0x1007e3ac
test byte [esp + 0x7f], 1
jne 0x1007e8e5
mov dl, byte [esp + 0x15]
movzx eax, dl
mov cl, byte [esp + eax + 0x78]
and cl, 0xe0
cmp cl, 0x80
jne 0x1007e3c5
inc dl
mov byte [esp + 0x15], dl
cmp dword [esp + 0x404], 6
jne 0x1007e400
movzx ecx, dl
mov al, byte [esp + ecx + 0x78]
test al, 1
je 0x1007e400
and al, 0xc
cmp al, 8
jne 0x1007e400
cmp ebx, 7
jle 0x1007e400
mov al, byte [esp + ecx + 0x7f]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x1007e400
and al, 0xc
cmp al, 0xc
jne 0x1007e400
add dl, 7
mov byte [esp + 0x15], dl
movzx eax, dl
mov cl, byte [esp + eax + 0x78]
and cl, 0xe0
cmp cl, 0x80
jne 0x1007e576
mov eax, dword [ebp + 0x2f8]
xor edi, edi
push edi
push 0xffffffffffffffff
lea edx, [esp + 0xd8]
push edx
push esi
push eax
call fcn.100780a0
mov eax, dword [0x100b2278]
add esp, 0x14
cmp eax, esi
je 0x1007e558
mov ecx, dword [esp + 0x40c]
push edi
push esi
push ecx
push ebp
call fcn.10077f10
mov edx, dword [0x100bbc10]
lea ecx, [edx + eax*2]
mov edx, dword [0x100bb6c4]
add esp, 0xc
add ecx, eax
push ecx
push edx
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 6
lea ecx, [esp + 0x88]
xor eax, eax
push ecx
mov dword [esp + 0x8c], eax
push edx
mov word [esp + 0x94], ax
call fcn.10083dc0
mov ax, word [esp + 0x90]
mov cl, byte [esp + 0x92]
mov dx, word [esp + 0x93]
mov dword [esp + 0x34], edi
mov word [esp + 0x34], ax
mov al, byte [esp + 0x95]
mov dword [esp + 0x48], edi
mov byte [esp + 0x4a], al
mov byte [esp + 0x36], cl
mov eax, dword [esp + 0x34]
mov word [esp + 0x48], dx
mov ebx, dword [esp + 0x48]
sub ebx, eax
add esp, 0x18
cmp ebx, edi
jle 0x1007e510
cmp ebx, 0x20
jge 0x1007e510
mov ecx, dword [0x100bba9c]
mov edx, dword [0x100bb6c4]
push edi
add eax, ecx
push eax
push edx
call fcn.10083e20
mov ecx, dword [0x100bb6c4]
push ebx
lea eax, [esp + 0x88]
push eax
push ecx
call fcn.10083dc0
add esp, 0x18
jmp 0x1007e552
xor edx, edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [0x100b2278], esi
mov al, byte [esp + 0x78]
and al, 0xe0
cmp al, 0x80
je 0x1007e5fc
mov dword [esp + 0xa0], 1
jmp case.0x1007e5c7.0
test byte [esp + eax + 0x7b], 0x20
je 0x1007e812
mov edi, dword [esp + 0x40c]
lea ecx, [esp + 0xd0]
push ecx
push 0xffffffffffffffff
push edi
call fcn.100839e0
mov eax, edi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007e5a0
sub eax, edx
mov dword [esp + 0x18], eax
mov byte [esp + 0x11], 0x60
movzx eax, byte [esp + 0x11]
cmp eax, 0x60
ja case.0x1007e5c7.1
movzx edx, byte [eax + 0x1007f74c]
jmp dword [edx*4 + 0x1007f73c]
mov eax, dword [esp + 0x400]
cmp eax, 0x44
je 0x1007eafd
cmp eax, 0x84
je 0x1007e5ee
cmp eax, 4
jne case.0x1007e938.5
movsx edx, di
xor eax, eax
mov al, byte [esp + edx + 0x79]
jmp 0x1007eb03
mov al, byte [esp + 0x79]
mov dl, al
and dl, 0xf
cmp dl, 8
je case.0x1007e938.5
test al, 0x10
je 0x1007e6c6
mov eax, dword [0x100bba90]
cmp esi, dword [eax + 8]
je 0x1007e68e
cmp byte [esp + 0xd0], 0x63
jne 0x1007e644
lea edx, [esp + 0xd5]
mov eax, dword [edx]
mov ecx, 0x100a7200
cmp eax, dword [ecx]
je 0x1007e68e
cmp dword [esp + 0x404], 2
jne 0x1007e685
cmp ebx, 5
jle case.0x1007e938.5
mov cl, byte [esp + 0x7d]
and cl, 0xe0
cmp cl, 0xc0
jne case.0x1007e938.5
mov edx, dword [esp + 0x400]
and dl, 0xc
cmp dl, 4
jne case.0x1007e938.5
xor eax, eax
mov al, byte [esp + 0x7e]
jmp 0x1007eb03
mov dword [esp + 0x28], edi
jmp case.0x1007d117.33
cmp byte [esp + 0x10], 8
jne case.0x1007e5c7.1
cmp byte [esp + 0x12], 0x40
jne case.0x1007e938.5
lea eax, [esp + 0xd0]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007e6b0
sub eax, edx
mov byte [esp + eax + 0xcf], 0x61
jmp case.0x1007e938.5
mov ecx, dword [esp + 0x400]
add ecx, 0xfffffffc
cmp ecx, 0x80
ja case.0x1007e938.5
movzx edx, byte [ecx + 0x1007f7c4]
jmp dword [edx*4 + 0x1007f7b0]
and eax, 0xf
push eax
lea eax, [esp + 0xd4]
push 0xffffffffffffffff
push eax
call fcn.1005a8c0
add esp, 0xc
jmp case.0x1007e938.5
xor ecx, ecx
mov cl, byte [esp + 0x7a]
lea edx, [esp + 0xd0]
and ecx, 0xf
push ecx
push 0xffffffffffffffff
push edx
call fcn.1005a8c0
add esp, 0xc
jmp case.0x1007e938.5
xor eax, eax
mov al, byte [esp + 0x7b]
jmp 0x1007eb03
xor edx, edx
mov dl, byte [esp + 0x7a]
lea eax, [esp + 0xd0]
and edx, 0xf
push edx
push 0xffffffffffffffff
push eax
call fcn.1005a8c0
add esp, 0xc
jmp case.0x1007e938.5
mov eax, dword [esp + 0x58]
test eax, eax
jne case.0x1007f494.69
mov eax, dword [esp + 0x400]
add eax, 0xfffffffc
cmp eax, 0x84
ja case.0x1007f494.69
movzx ecx, byte [eax + 0x1007f860]
jmp dword [ecx*4 + 0x1007f848]
movsx edx, word [esp + 0x18]
mov eax, dword [esp + 0x40c]
mov byte [edx + eax - 1], 0x6f
jmp case.0x1007f494.69
movsx ecx, word [esp + 0x18]
mov edx, dword [esp + 0x40c]
mov byte [ecx + edx - 1], 0x61
jmp case.0x1007f494.69
movsx edx, word [esp + 0x18]
mov eax, dword [esp + 0x40c]
mov byte [edx + eax - 1], 0x69
jmp case.0x1007f494.69
mov eax, dword [esp + 0x400]
add eax, 0xfffffffc
cmp eax, 0x84
ja case.0x1007f494.69
movzx eax, byte [eax + 0x1007f8f4]
jmp dword [eax*4 + 0x1007f8e8]
movsx ecx, word [esp + 0x18]
mov edx, dword [esp + 0x40c]
mov byte [ecx + edx - 1], 0x65
jmp case.0x1007f494.69
movsx eax, word [esp + 0x18]
mov ecx, dword [esp + 0x40c]
mov byte [eax + ecx - 1], 0x69
jmp case.0x1007f494.69
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1007e93f
movzx eax, dl
mov cl, byte [esp + eax + 0x78]
and cl, 1
lea edi, [esp + eax + 0x78]
dec cl
neg cl
sbb ecx, ecx
inc ecx
lea ecx, [ecx + ecx + 5]
movsx ecx, cx
lea edx, [eax + ecx]
cmp ebx, edx
jle 0x1007e874
lea edx, [esp + edx + 0x78]
mov dword [esp + 0x50], edx
mov dl, byte [edx]
and dl, 0xe0
cmp dl, 0xc0
jne 0x1007e874
cmp byte [esp + 0x12], 0x80
jne 0x1007e874
test byte [edi], 0x10
jne 0x1007e874
mov edx, dword [esp + 0x50]
sub ebx, ecx
mov ecx, ebx
sub ecx, eax
push ecx
push edx
push edi
call fcn.100a5245
add esp, 0xc
mov dl, byte [esp + 0x15]
movzx edi, dl
mov edx, dword [esp + 0x404]
lea eax, [esp + edi + 0x78]
mov dword [esp + 0x50], eax
mov al, byte [eax]
mov cl, al
and cl, 0xc
cmp edx, 2
mov byte [esp + 0x37], cl
jne 0x1007eb6a
mov ecx, dword [ebp + 0x44]
mov edx, dword [esp + 0x3fc]
cmp byte [edx + ecx], 4
jne 0x1007eb66
test byte [esp + edi + 0x7a], 1
je 0x1007eb66
mov cl, byte [esp + 0x15]
test cl, cl
je 0x1007e8e5
mov ecx, dword [esp + 0x50]
and al, 1
dec al
neg al
lea edx, [esp + 0x78]
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
push eax
push ecx
push edx
call fcn.100a5245
add esp, 0xc
lea eax, [esp + 0xd0]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007e8f0
sub eax, edx
movsx edx, ax
lea eax, [esp + edx + 0xd0]
mov ecx, 4
mov edi, str.tore
lea esi, [eax - 4]
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x1007e91b
sbb ebx, ebx
sbb ebx, 0xffffffff
mov ecx, dword [esp + 0x400]
add ecx, 0xfffffffc
cmp ecx, 0x80
ja case.0x1007e938.5
movzx ecx, byte [ecx + 0x1007f98c]
jmp dword [ecx*4 + 0x1007f97c]
mov al, byte [esp + 0x13]
cmp byte [esp + 0x12], al
je 0x1007e878
movzx ecx, dl
mov dl, byte [esp + ecx + 0x78]
and dl, 0xc
sub dl, 4
neg dl
sbb edx, edx
inc edx
mov dword [esp + 0x28], edx
jmp case.0x1007d117.33
test bx, bx
je 0x1007e976
mov byte [eax - 1], 0x61
jmp case.0x1007e938.5
mov edx, dword [str.rice]
mov cl, byte [0x100aa6a4]
add eax, 0xfffffffd
mov dword [eax], edx
mov byte [eax + 4], cl
jmp case.0x1007e938.5
xor edi, edi
cmp bx, di
jne 0x1007e99f
mov byte [eax - 1], 0x69
jmp case.0x1007e938.5
mov ebx, dword [esp + 0x38]
cmp dword [0x100b2278], ebx
je 0x1007eac7
mov edx, dword [esp + 0x40c]
push edi
push ebx
push edx
push ebp
call fcn.10077f10
mov ecx, dword [0x100bbc10]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
add esp, 0xc
push edx
push eax
call fcn.10083e20
mov eax, dword [0x100bb6c4]
push 6
lea edx, [esp + 0x88]
xor ecx, ecx
push edx
mov dword [esp + 0x8c], ecx
push eax
mov word [esp + 0x94], cx
call fcn.10083dc0
mov cx, word [esp + 0x90]
mov ax, word [esp + 0x93]
mov dl, byte [esp + 0x92]
mov dword [esp + 0x34], edi
mov word [esp + 0x34], cx
mov cl, byte [esp + 0x95]
mov dword [esp + 0x48], edi
mov word [esp + 0x48], ax
mov byte [esp + 0x36], dl
mov eax, dword [esp + 0x34]
mov byte [esp + 0x4a], cl
mov esi, dword [esp + 0x48]
sub esi, eax
add esp, 0x18
cmp esi, edi
jle 0x1007ea7f
cmp esi, 0x20
jge 0x1007ea7f
mov edx, dword [0x100bba9c]
add eax, edx
push edi
push eax
mov eax, dword [0x100bb6c4]
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push esi
lea ecx, [esp + 0x88]
push ecx
push edx
call fcn.10083dc0
add esp, 0x18
jmp 0x1007eac1
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [0x100b2278], ebx
cmp dword [esp + 0x404], 4
jne 0x1007eafd
cmp word [esp + 0x3c], 3
jne 0x1007eafd
mov al, byte [esp + 0x78]
and al, 0xe0
cmp al, 0x80
jne 0x1007eafd
push 7
lea ecx, [esp + 0x81]
push ecx
lea edx, [esp + 0x80]
push edx
call fcn.100a5245
add esp, 0xc
xor eax, eax
mov al, byte [esp + 0x79]
and eax, 0xf
push eax
lea ecx, [esp + 0xd4]
push 0xffffffffffffffff
push ecx
call fcn.1005a8c0
add esp, 0xc
jmp case.0x1007e938.5
test bx, bx
je 0x1007eb4d
mov cl, byte [eax - 2]
cmp cl, 0x67
je 0x1007eb39
cmp cl, 0x63
je 0x1007eb39
mov byte [eax - 1], 0x65
jmp case.0x1007e938.5
mov byte [eax - 1], 0x68
mov byte [eax], 0x65
mov byte [esp + edx + 0xd1], 0
jmp case.0x1007e938.5
mov edx, dword [str.rici]
mov cl, byte [0x100aa69c]
add eax, 0xfffffffd
mov dword [eax], edx
mov byte [eax + 4], cl
jmp case.0x1007e938.5
mov cl, byte [esp + 0x37]
cmp byte [esp + 0x10], 8
mov dl, byte [esp + 0x7d]
jne 0x1007ec2d
cmp cl, 0xc
je case.0x1007e938.5
cmp cl, 4
ja 0x1007ebb6
mov eax, dword [esp + 0x404]
cmp eax, 2
je case.0x1007e938.5
cmp eax, 4
je case.0x1007e938.5
cmp eax, 5
je case.0x1007e938.5
mov dword [esp + 0x28], 0
jmp case.0x1007d117.33
cmp dword [esp + 0x404], 4
jne 0x1007ebe6
movzx eax, word [esp + edi + 0x7d]
push 0
push 0xffffffffffffffff
lea edx, [esp + 0xd8]
push edx
push eax
mov eax, dword [ebp + 0x2f8]
push eax
call fcn.100780a0
add esp, 0x14
jmp case.0x1007e938.5
cmp ebx, 7
mov dword [esp + 0x28], 0
jle 0x1007ec23
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x1007ec23
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
add edi, eax
mov al, byte [esp + edi + 0x78]
mov dl, al
and dl, 0xe0
cmp dl, cl
jne 0x1007ec23
and al, 0xc
cmp al, 0xc
je case.0x1007e938.5
cmp dword [esp + 0x58], 1
jmp 0x1007f321
cmp byte [esp + 0x4b], 1
jne 0x1007ec5b
cmp ebx, 0xa
jne 0x1007ed19
mov al, byte [esp + 0x78]
and al, 0xe0
cmp al, 0xc0
jne 0x1007ed19
and dl, 0xe0
cmp dl, al
jne 0x1007ed19
mov byte [esp + 0x15], 5
cmp cl, 8
jne 0x1007ecd3
mov eax, dword [esp + 0x404]
cmp eax, 4
je case.0x1007e938.5
cmp eax, 2
jne 0x1007ecd3
cmp ebx, 7
jle case.0x1007e938.5
movzx ecx, byte [esp + 0x15]
mov al, byte [esp + ecx + 0x78]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne case.0x1007e938.5
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
add ecx, eax
mov al, byte [esp + ecx + 0x78]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne case.0x1007e938.5
and al, 0xc
cmp al, 0xc
jne case.0x1007e938.5
xor eax, eax
mov al, byte [esp + ecx + 0x79]
jmp 0x1007eb03
movzx edi, byte [esp + 0x15]
mov al, byte [esp + edi + 0x79]
and al, 0xf
cmp al, 8
je 0x1007ed19
cmp al, 0xb
je 0x1007ed19
cmp dword [esp + 0x400], 0x88
je 0x1007ed19
test byte [esp + edi + 0x78], 0xc
je case.0x1007e938.5
movzx edx, al
push edx
lea eax, [esp + 0xd4]
push 0xffffffffffffffff
push eax
call fcn.1005a8c0
add esp, 0xc
jmp case.0x1007e938.5
mov ecx, dword [esp + 0x40c]
push 0
push esi
push ecx
push ebp
call fcn.10077f10
mov edx, dword [0x100bb5bc]
lea ecx, [edx + eax*2]
mov edx, dword [0x100bb6c4]
add esp, 0xc
add ecx, eax
push ecx
push edx
call fcn.10083e20
mov ecx, dword [0x100bb6c4]
push 3
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.10083dc0
movzx eax, byte [esp + 0x76]
mov ecx, dword [esp + 0x74]
movzx edx, ch
shl eax, 8
add esp, 0x18
add eax, edx
je 0x1007ed94
cmp cl, 0x6d
je 0x1007ed94
mov edx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0xd8]
push ecx
push eax
push edx
call fcn.100780a0
add esp, 0x14
jmp case.0x1007e938.5
mov esi, dword [esp + 0x404]
cmp esi, 2
jne 0x1007edae
mov al, byte [esp + edi + 0x78]
mov cl, al
and cl, 0xc
cmp cl, 4
je 0x1007edd0
mov al, byte [esp + edi + 0x78]
mov cl, al
and cl, 0xc
je 0x1007edd0
cmp esi, 4
jne 0x1007edc3
cmp cl, 4
je 0x1007edd0
mov dword [esp + 0x28], 0
jmp case.0x1007d117.33
cmp ebx, 7
jle 0x1007ee19
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x1007ee19
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
add eax, edi
mov cl, byte [esp + eax + 0x78]
and cl, 0xe0
cmp cl, dl
jne 0x1007ee19
xor edx, edx
mov dl, byte [esp + eax + 0x79]
lea eax, [esp + 0xd0]
and edx, 0xf
push edx
push 0xffffffffffffffff
push eax
call fcn.1005a8c0
add esp, 0xc
mov edx, dword [esp + 0x40c]
lea ecx, [esp + 0xd0]
push ecx
push 0xffffffffffffffff
push edx
jmp 0x10079082
cmp dword [esp + 0x404], 2
jne 0x1007ee7e
cmp byte [esp + 0x10], 4
jne case.0x1007e938.5
test esi, esi
je 0x1007eafd
movzx eax, word [esp + 0x408]
cmp esi, eax
je 0x1007eafd
mov edx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0xd8]
push ecx
push esi
push edx
call fcn.100780a0
add esp, 0x14
jmp case.0x1007e938.5
mov dl, byte [esp + 0x79]
and dl, 0xf
cmp dl, 0xb
jne case.0x1007cfa4.5
cmp byte [esp + 0x10], 4
jne case.0x1007e938.5
cmp al, 0x62
jne case.0x1007e938.5
mov ecx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
lea eax, [esp + 0xd8]
push eax
push esi
push ecx
call fcn.100780a0
add esp, 0x14
jmp case.0x1007e938.5
mov al, 0xa
jmp 0x1007eec8
mov al, 1
mov byte [esp + 0x20], al
movzx ax, al
push 0xffffffffffffffff
lea edx, [esp + 0xd4]
push edx
push esi
push eax
call fcn.10014c10
mov esi, dword [esp + 0x30]
add esp, 0x10
cmp dword [esp + 0x404], 4
je case.0x1007cfa4.5
mov cl, byte [esp + 0x12]
cmp byte [esp + 0x13], cl
jne case.0x1007cfa4.5
cmp byte [esp + 0x10], 8
je case.0x1007e938.5
mov eax, dword [ebp + 0x2f8]
push esi
push 0xffffffffffffffff
lea edx, [esp + 0xd8]
push edx
push eax
call fcn.10014a80
mov ecx, dword [ebp + 0x2f8]
mov dl, byte [ecx + 0x10]
and dl, 0xe0
add esp, 0x10
cmp dl, 0x80
jne 0x1007eff0
cmp dword [esp + 0x400], 0x88
je case.0x1007e938.5
mov ecx, dword [ebp + 0x2f8]
push esi
push 0xffffffffffffffff
lea eax, [esp + 0xd8]
push eax
push ecx
call fcn.10014a80
mov edx, dword [ebp + 0x2f8]
mov al, byte [edx + 0x10]
and al, 0xe0
add esp, 0x10
cmp al, 0xc0
je 0x1007eee8
mov ebp, edx
mov al, byte [ebp + 0x11]
test al, 0x10
je 0x1007ef92
mov dword [esp + 0x28], 0
jmp case.0x1007d117.33
mov ecx, dword [esp + 0x400]
sub ecx, 0x44
je 0x1007efd0
sub ecx, 4
je case.0x1007e6e3.64
sub ecx, 0x3c
jne case.0x1007e938.5
xor ecx, ecx
mov cl, byte [ebp + 0x12]
lea edx, [esp + 0xd0]
and ecx, 0xf
push ecx
push 0xffffffffffffffff
push edx
call fcn.1005a8c0
add esp, 0xc
jmp case.0x1007e938.5
xor ecx, ecx
mov cl, byte [ebp + 0x13]
lea edx, [esp + 0xd0]
and ecx, 0xf
push ecx
push 0xffffffffffffffff
push edx
call fcn.1005a8c0
add esp, 0xc
jmp case.0x1007e938.5
mov eax, dword [ebp + 0x2f8]
mov al, byte [eax + 0x11]
and al, 0xf
cmp al, 8
je case.0x1007cfa4.5
cmp al, 0xb
je case.0x1007cfa4.5
movzx ecx, al
push ecx
lea edx, [esp + 0xd4]
push 0xffffffffffffffff
push edx
call fcn.1005a8c0
add esp, 0xc
jmp case.0x1007e938.5
mov eax, dword [esp + 0x40c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007f028
sub eax, edx
cmp ax, 4
mov dword [esp + 0xa0], eax
jne 0x1007f0be
mov esi, dword [esp + 0x40c]
mov ecx, 3
mov edi, 0x100aa694
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1007f0be
mov eax, dword [esp + 0x400]
add eax, 0xffffffbc
cmp eax, 0x44
ja case.0x1007f494.69
movzx ecx, byte [eax + 0x1007fa24]
jmp dword [ecx*4 + 0x1007fa10]
mov edx, dword [esp + 0x40c]
mov byte [edx + 3], 0x6f
jmp case.0x1007f494.69
mov eax, dword [esp + 0x40c]
mov byte [eax + 3], 0x61
jmp case.0x1007f494.69
mov ecx, dword [esp + 0x40c]
mov byte [ecx + 3], 0x69
jmp case.0x1007f494.69
mov edx, dword [esp + 0x40c]
mov byte [edx + 3], 0x65
jmp case.0x1007f494.69
cmp dword [esp + 0x404], 4
mov bl, 0x6c
jne 0x1007f1f2
mov esi, dword [esp + 0x40c]
xor edi, edi
mov eax, esi
mov dword [esp + 0x28], edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007f0e0
mov cl, byte [esi]
sub eax, edx
cmp cl, 0x63
jne 0x1007f111
mov cl, byte [esi + 2]
cmp cl, bl
jne 0x1007f0fe
mov edi, 2
jmp 0x1007f111
cmp cl, 0x73
jne 0x1007f111
cmp byte [esi + 3], 0x74
jne 0x1007f111
mov edi, 3
mov byte [esi + 3], bl
movsx eax, ax
lea ecx, [edi + 3]
cmp eax, ecx
jne 0x1007f125
mov dl, byte [edi + esi]
cmp dl, bl
lea ecx, [edi + esi]
je 0x1007f142
lea edx, [edi + 4]
cmp eax, edx
jne 0x1007f1e7
cmp byte [edi + esi], bl
lea ecx, [edi + esi]
jne 0x1007f17e
cmp byte [ecx + 2], 0x72
jne 0x1007f17e
mov eax, dword [esp + 0x400]
add eax, 0xffffffbc
cmp eax, 0x44
ja case.0x1007f1b3.69
movzx edx, byte [eax + 0x1007fa7c]
jmp dword [edx*4 + 0x1007fa6c]
xor eax, eax
jmp 0x1007f1cc
mov eax, 1
jmp 0x1007f1cc
mov eax, 2
jmp 0x1007f1cc
cmp eax, edx
jne 0x1007f1e7
mov al, byte [edi + esi]
cmp al, 0x65
lea ecx, [edi + esi]
jne 0x1007f1e7
cmp byte [ecx + 2], bl
jne 0x1007f1e7
mov eax, dword [esp + 0x400]
add eax, 0xffffffbc
cmp eax, 0x44
ja case.0x1007f1b3.69
movzx eax, byte [eax + 0x1007fad4]
jmp dword [eax*4 + 0x1007fac4]
mov eax, 3
jmp 0x1007f1cc
mov eax, 4
jmp 0x1007f1cc
mov eax, dword [esp + 0x50]
lea edx, [eax + eax*4 + 0x100b2280]
push edx
push 0xffffffffffffffff
push ecx
mov dword [esp + 0x34], 1
call fcn.100839e0
add esp, 0xc
cmp edi, 3
jne 0x1007f20f
mov byte [esi + 3], 0x74
jmp 0x1007f20f
mov al, byte [esp + 0x14]
cmp byte [esp + 0x10], al
je 0x1007f248
mov dword [esp + 0x28], 0
mov esi, dword [esp + 0x40c]
cmp byte [esp + 0x10], 4
jne case.0x1007e5c7.1
mov al, byte [esi]
cmp al, 0x63
jne 0x1007f30b
cmp byte [esi + 2], bl
jne 0x1007f2f1
cmp word [esp + 0xa0], 5
jne 0x1007f2f1
mov dword [esi + 3], 0x6f726f
jmp case.0x1007e5c7.1
mov cl, byte [esp + 0x13]
cmp byte [esp + 0x12], cl
jne 0x1007f26d
mov al, byte [esp + 0x78]
and al, 3
cmp al, 3
mov dword [esp + 0x28], 1
jne 0x1007f208
cmp byte [esp + 0x12], 0x40
je 0x1007f275
jmp 0x1007f208
mov dword [esp + 0x28], 0
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x40c]
push 0
push edx
push esi
push ebp
call fcn.10077f10
mov ecx, dword [0x100bb5bc]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
add esp, 0xc
push edx
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 3
lea ecx, [esp + 0x6c]
push ecx
push edx
call fcn.10083dc0
movzx eax, byte [esp + 0x76]
movzx ecx, byte [esp + 0x75]
shl eax, 8
add esp, 0x18
add eax, ecx
je 0x1007f20f
mov edx, dword [ebp + 0x2f8]
push 0
push 0xffffffffffffffff
push esi
push eax
push edx
call fcn.100780a0
add esp, 0x14
mov dword [esp + 0x28], 1
jmp 0x1007f20f
cmp byte [esi + 3], 0x74
jne case.0x1007e5c7.1
cmp word [esp + 0xa0], 6
jne case.0x1007e5c7.1
mov dword [esi + 4], 0x6f726f
jmp case.0x1007e5c7.1
cmp al, bl
jne case.0x1007e5c7.1
cmp byte [esi + 2], 0x69
jne case.0x1007e5c7.1
mov dword [esi + 1], 0x6f726f
cmp dword [esp + 0x28], 3
jne case.0x1007d117.33
mov eax, dword [esp + 0x64]
cmp eax, 1
jne 0x1007f35c
mov esi, dword [esp + 0x40c]
lea eax, [esp + 0x6c]
push eax
push 0xffffffffffffffff
push esi
call fcn.100839e0
lea ecx, [esp + 0xdc]
push ecx
push 0xffffffffffffffff
push esi
call fcn.10083990
add esp, 0x18
jmp case.0x1007f494.69
cmp eax, 2
jne 0x10079070
lea eax, [esp + 0xd0]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007f370
sub eax, edx
mov edx, eax
lea eax, [esp + 0x6c]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007f382
sub eax, esi
movsx eax, ax
movsx ecx, dx
mov dl, byte [esp + eax + 0x6a]
cmp dl, 0x69
mov bl, byte [esp + ecx + 0xcf]
lea eax, [esp + eax + 0x6c]
lea ecx, [esp + ecx + 0xd0]
jne 0x1007f3bf
cmp bl, 0x69
je 0x1007f3b6
cmp bl, 0x65
jne 0x1007f3bf
mov byte [eax - 2], bl
mov byte [eax - 1], 0
jmp 0x1007f3c2
mov byte [eax - 1], bl
cmp byte [ecx - 2], 0x68
jne 0x1007f3d5
cmp byte [esp + 0x6c], 0x69
je 0x1007f3d5
mov byte [ecx - 2], 0
jmp 0x1007f3d9
mov byte [ecx - 1], 0
mov esi, dword [esp + 0x40c]
lea edx, [esp + 0xd0]
push edx
push 0xffffffffffffffff
push esi
call fcn.100839e0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007f3f8
mov cl, byte [esp + 0x6c]
sub eax, edx
cmp cl, 0x69
jne 0x1007f42d
cmp bl, 0x65
je 0x1007f42d
movsx ecx, ax
mov dl, byte [ecx + esi - 1]
add ecx, esi
cmp dl, 0x63
je 0x1007f422
cmp dl, 0x67
jne 0x1007f42d
inc eax
movsx edx, ax
mov byte [ecx], 0x68
mov byte [edx + esi], 0
mov cl, byte [esp + 0x6c]
movsx eax, ax
cmp cl, byte [eax + esi - 1]
jne 0x1007f441
lea edx, [esp + 0x6d]
push edx
jmp 0x1007f446
lea eax, [esp + 0x6c]
push eax
push 0xffffffffffffffff
push esi
call fcn.10083990
mov eax, dword [esp + 0x410]
add esp, 0xc
cmp eax, 1
jne case.0x1007f494.69
cmp byte [esp + 0x6e], 0x73
jne case.0x1007f494.69
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007f471
mov ecx, dword [esp + 0x400]
add ecx, 0xffffffbc
sub eax, edx
cmp ecx, 0x44
ja case.0x1007f494.69
movzx ecx, byte [ecx + 0x1007fb30]
jmp dword [ecx*4 + 0x1007fb1c]
movsx edx, ax
mov byte [edx + esi - 1], 0x6f
jmp case.0x1007f494.69
movsx eax, ax
mov byte [eax + esi - 1], 0x61
jmp case.0x1007f494.69
movsx ecx, ax
mov byte [ecx + esi - 1], 0x69
jmp case.0x1007f494.69
movsx edx, ax
mov byte [edx + esi - 1], 0x65
jmp case.0x1007f494.69