Function at 0x1007de20
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x118], ecx
mov ecx, dword [ecx]
mov eax, ecx
shr eax, 0xb
and eax, 1
mov dword [ebp - 0x8c], eax
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [ebp - 0x108], eax
xor eax, 1
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xfc], eax
push esi
xor esi, esi
mov eax, ecx
and eax, 1
push edi
mov edi, dword [ebp + 0x20]
mov dword [ebp - 0x11c], edx
mov edx, dword [edx]
mov dword [ebp - 0xb8], esi
mov esi, 0xfffffffe
shl eax, 0x1c
mov dword [ebp - 0x104], ebx
mov ebx, dword [ebx]
mov dword [ebp - 0x60], edi
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x7c], 0xfffffffe
mov dword [ebp - 0x70], esi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], 0x7fffffeb
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov dword [ebp - 0x80], eax
test eax, eax
jne 0x1007df5e
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
je 0x1007df5e
mov ebx, ecx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0xc4], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x80], eax
mov eax, dword [edi + 0x10]
add eax, 0xffffff9c
add eax, dword [edi + 0x34]
cmp dword [ebp - 0xa4], 0
je 0x1007e023
cmp edx, eax
ja 0x1008209d
cmp edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xa4]
cmovb edx, dword [ebp - 0xd4]
mov dword [ebp - 0x5c], edx
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xc8]
sub ecx, dword [ebp - 0xd4]
sub eax, edx
cmp eax, ecx
jl 0x10081e07
sub edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xa4]
add edx, eax
mov dword [ecx], edx
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x1007e007
cmp ecx, dword [ebp - 0xf0]
jbe 0x1007e018
mov ebx, dword [ebp - 0xf0]
sub eax, ecx
push eax
push ecx
push ebx
call dword [0x100a119c]
mov edx, dword [ebp - 0x5c]
mov eax, ebx
sub eax, dword [ebp - 0x84]
add esp, 0xc
add edx, eax
mov dword [ebp - 0x84], ebx
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0xd4], edx
jmp 0x1007e02c
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0xd4], edx
jmp 0x1007e02c
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xd4], edx
jmp 0x1007e02c
cmp dword [edi + 0x24], eax
ja 0x1008209d
cmp dword [ebp - 0xac], 0
mov edx, dword [ebp - 0x80]
je 0x1007e0eb
test edx, edx
je 0x1007e0eb
cmp edx, 0x5c
jne 0x1007e067
cmp byte [ebx + 1], 0x45
lea eax, [ebx + 1]
jne 0x1007e067
mov edx, dword [ebp - 0x5c]
mov ebx, eax
mov dword [ebp - 0xac], 0
inc ebx
jmp 0x1007df36
mov esi, dword [ebp - 0xb8]
test esi, esi
je 0x1007e0a4
cmp dword [ebp - 0xa4], 0
jne 0x1007e09a
movzx ecx, byte [esi + 2]
movzx eax, byte [esi + 3]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [edi + 0x18]
mov eax, ebx
sar eax, 8
mov byte [esi + 4], al
mov byte [esi + 5], bl
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0xb8], 0
test dword [ebp - 0x90], 0x4000
je 0x10081d42
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xb8], eax
mov byte [eax], 0x70
lea ecx, [eax + 1]
mov eax, ebx
mov byte [ecx], 0xff
sub eax, dword [edi + 0x18]
sar eax, 8
mov byte [ecx + 1], al
sub bl, byte [edi + 0x18]
lea eax, [ecx + 5]
mov byte [ecx + 2], bl
mov word [ecx + 3], 0
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
jmp 0x10081d42
cmp edx, 0x2a
je 0x1007e167
cmp edx, 0x2b
je 0x1007e167
cmp edx, 0x3f
je 0x1007e167
cmp edx, 0x7b
jne 0x1007e10b
lea ecx, [ebx + 1]
call fcn.1007b3c0
test eax, eax
jne 0x1007e167
xor edi, edi
cmp dword [ebp - 0xb8], edi
je 0x1007e16c
mov ecx, dword [ebp - 0xf4]
mov eax, ecx
dec ecx
mov dword [ebp - 0xf4], ecx
test eax, eax
jg 0x1007e16c
cmp dword [ebp - 0xa4], edi
jne 0x1007e15f
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x60]
sub ebx, ecx
sub ebx, dword [eax + 0x18]
mov ecx, dword [ebp - 0xb8]
mov eax, ebx
sar eax, 8
mov byte [ecx + 4], al
mov byte [ecx + 5], bl
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0xb8], edi
jmp 0x1007e16c
mov edi, 1
mov ecx, dword [ebp - 0x90]
test cl, 8
je 0x1007e1ee
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0xc]
test byte [edx + eax], 1
jne 0x100813fc
cmp edx, 0x23
jne 0x1007e1ee
inc ebx
mov dword [ebp - 0x58], ebx
mov dl, byte [ebx]
test dl, dl
je 0x1007e1ec
mov eax, dword [ebp - 0x60]
mov esi, dword [eax + 0x64]
test esi, esi
je 0x1007e23c
mov ecx, dword [eax + 0x1c]
cmp ebx, ecx
jae 0x1007e264
push dword [ebp - 0x8c]
add eax, 0x68
push eax
push ecx
mov edx, esi
mov ecx, ebx
call fcn.100979d0
add esp, 0xc
test eax, eax
je 0x1007e264
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x68]
dec ebx
add ebx, eax
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0
jne 0x100813f9
mov ecx, dword [ebp - 0x90]
mov esi, dword [ebp - 0x70]
xor edx, edx
test ecx, 0x4000
je 0x1007e2a2
test edi, edi
jne 0x1007e2a2
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov byte [eax], 0x70
lea ecx, [eax + 1]
mov dword [ebp - 0xb8], eax
mov byte [ecx], 0xff
mov eax, ebx
sub eax, dword [esi + 0x18]
sar eax, 8
mov byte [ecx + 1], al
mov eax, esi
mov esi, dword [ebp - 0x70]
sub bl, byte [eax + 0x18]
mov word [ecx + 3], di
mov byte [ecx + 2], bl
mov ebx, dword [ebp - 0x58]
add ecx, 5
mov dword [ebp - 0x5c], ecx
jmp 0x1007e2a5
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x1007e264
mov eax, dword [ebp - 0x60]
cmp dl, byte [eax + 0x6c]
jne 0x1007e264
cmp ecx, 1
je 0x1007e1d1
mov ecx, dword [ebp - 0x60]
mov al, byte [ebx + 1]
cmp al, byte [ecx + 0x6d]
je 0x1007e29b
inc ebx
cmp dword [ebp - 0x8c], 0
mov dword [ebp - 0x58], ebx
je 0x1007e28c
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x1007e28c
lea esp, [esp]
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x1007e280
mov dl, byte [ebx]
test dl, dl
jne 0x1007e196
jmp 0x1007e1e3
mov eax, ecx
jmp 0x1007e1d1
mov ecx, dword [ebp - 0x5c]
cmp edx, 0x7c
ja case.0x1007e2b5.1
movzx eax, byte [edx + 0x100820f8]
jmp dword [eax*4 + 0x100820c4]
test byte [ebp - 0x90], 2
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x84], 0
je 0x1007e2fc
mov eax, dword [ebp - 0x94]
cmp eax, 0xfffffffe
mov ecx, 0xffffffff
cmove eax, ecx
mov byte [edx], 0x1a
mov ebx, dword [ebp - 0x58]
inc edx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
mov byte [edx], 0x19
mov ebx, dword [ebp - 0x58]
inc edx
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
test byte [ebp - 0x90], 2
mov edx, dword [ebp - 0x5c]
setne al
mov dword [ebp - 0x84], 0
add al, 0x1b
mov edi, dword [ebp - 0x60]
mov byte [edx], al
mov ebx, dword [ebp - 0x58]
inc edx
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x60]
cmp ecx, 0xfffffffe
mov eax, 0xffffffff
cmove ecx, eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x90]
shr eax, 2
and al, 1
or al, 0xc
mov byte [edx], al
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x84], edx
inc edx
mov esi, ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
mov edi, dword [ebp - 0x60]
test dword [edi + 0x50], 0x2000000
je 0x10081d42
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x40
jmp 0x100820a6
mov al, byte [ebx + 1]
mov dword [ebp - 0x84], ecx
cmp al, 0x3a
je 0x1007e3b7
cmp al, 0x2e
je 0x1007e3b7
cmp al, 0x3d
jne 0x1007e3cc
lea edx, [ebp - 0xdc]
mov ecx, ebx
call fcn.1007cbf0
test eax, eax
jne 0x10081e72
xor ecx, ecx
mov dword [ebp - 0x88], ecx
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov dword [ebp - 0x78], eax
cmp eax, 0x5c
jne 0x1007e40c
inc ebx
cmp byte [ebx], 0x45
je 0x1007e3d4
push 3
push 0x100f0e20
push ebx
call dword [0x100a1194]
mov ebx, dword [ebp - 0x58]
add esp, 0xc
test eax, eax
jne 0x1007e422
mov ecx, dword [ebp - 0x88]
add ebx, 3
jmp 0x1007e3d4
test ecx, ecx
jne 0x1007e4b5
cmp eax, 0x5e
jne 0x1007e4b5
lea ecx, [eax - 0x5d]
jmp 0x1007e3ce
mov eax, dword [ebp - 0x78]
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x5c]
xorps xmm0, xmm0
xor edx, edx
xor esi, esi
lea edi, [ecx + 4]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x70], esi
movq qword [ebp - 0x24], xmm0
movq qword [ebp - 0x1c], xmm0
movq qword [ebp - 0x14], xmm0
movq qword [ebp - 0xc], xmm0
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0xbc], edi
test eax, eax
je 0x10081e64
jmp 0x1007e470
cmp dword [ebp - 0x8c], 0
je 0x1007e5d1
cmp eax, 0xc0
jl 0x1007e5d1
movzx eax, byte [ebx]
mov dword [ebp - 0x78], eax
cmp eax, 0xc0
jl 0x1007e5d1
test al, 0x20
jne 0x1007e50b
movzx eax, byte [ebx + 1]
mov ecx, dword [ebp - 0x78]
inc ebx
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or eax, ecx
jmp 0x1007e5cb
cmp eax, 0x5d
jne 0x1007e425
mov edi, dword [ebp - 0x60]
test dword [edi + 0x50], 0x2000000
je 0x1007e425
mov edx, dword [ebp - 0x5c]
test ecx, ecx
mov ecx, 0xd
mov eax, 0x97
cmovne eax, ecx
mov byte [edx], al
mov eax, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x58]
inc edx
cmp eax, 0xfffffffe
mov ecx, 0xffffffff
cmove eax, ecx
mov esi, eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x70], esi
inc ebx
jmp 0x1007df36
movzx ecx, byte [ebx + 1]
and ecx, 0x3f
test al, 0x10
jne 0x1007e532
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 2
jmp 0x1007e5cb
test al, 8
jne 0x1007e55b
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 3
jmp 0x1007e5cb
test al, 4
jne 0x1007e590
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 4
jmp 0x1007e5cb
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 5
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x58], ebx
mov edx, dword [ebp - 0xa4]
test edx, edx
je 0x1007e5ea
mov ecx, dword [ebp - 0xbc]
sub edi, ecx
add dword [edx], edi
mov edi, ecx
mov dword [ebp - 0x7c], edi
mov edx, dword [ebp - 0xac]
test edx, edx
je 0x1007e61e
cmp eax, 0x5c
jne 0x1007f2bf
cmp byte [ebx + 1], 0x45
lea ecx, [ebx + 1]
jne 0x1007f2bf
mov ebx, ecx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xac], 0
jmp 0x1007f7c8
cmp eax, 0x5b
jne 0x1007e7bc
mov cl, byte [ebx + 1]
mov byte [ebp - 0xbd], cl
cmp cl, 0x3a
je 0x1007e643
cmp cl, 0x2e
je 0x1007e643
cmp cl, 0x3d
jne 0x1007f2bf
lea edx, [ebp - 0xdc]
mov ecx, ebx
call fcn.1007cbf0
test eax, eax
je 0x1007f2b6
mov eax, dword [ebp - 0x60]
xor esi, esi
cmp byte [ebp - 0xbd], 0x3a
mov edi, dword [eax + 8]
mov dword [ebp - 0x80], esi
jne 0x10081e26
add ebx, 2
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x5e
jne 0x1007e68d
mov esi, 1
inc ebx
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x58], ebx
mov edx, dword [ebp - 0xdc]
sub edx, ebx
mov ecx, ebx
call fcn.1007cc60
mov ecx, eax
test ecx, ecx
js 0x10081e15
mov eax, dword [ebp - 0x90]
test al, 1
je 0x1007e6b8
xor edx, edx
cmp ecx, 2
cmovle ecx, edx
test eax, 0x20000000
je 0x1007e6eb
mov eax, esi
neg eax
sbb eax, eax
and eax, 0xe
add eax, ecx
mov ebx, dword [eax*4 + 0x10100288]
test ebx, ebx
je 0x1007e6eb
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0xc4], eax
dec ebx
jmp 0x1007f7c2
lea ecx, [ecx + ecx*2]
mov eax, dword [ecx*4 + 0x100e03c0]
mov esi, dword [ecx*4 + 0x100e03c8]
movq xmm0, qword [eax + edi]
add eax, edi
movq qword [ebp - 0x54], xmm0
movq xmm0, qword [eax + 8]
movq qword [ebp - 0x4c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x44], xmm0
movq xmm0, qword [eax + 0x18]
mov eax, dword [ecx*4 + 0x100e03c4]
movq qword [ebp - 0x3c], xmm0
test eax, eax
js 0x1007e75f
xor ecx, ecx
lea edx, [eax + edi]
test esi, esi
js 0x1007e750
lea ebx, [ebx]
mov al, byte [edx + ecx]
or byte [ebp + ecx - 0x54], al
inc ecx
cmp ecx, 0x20
jl 0x1007e740
jmp 0x1007e75f
mov al, byte [edx + ecx]
not al
and byte [ebp + ecx - 0x54], al
inc ecx
cmp ecx, 0x20
jl 0x1007e750
test esi, esi
jns 0x1007e765
neg esi
cmp esi, 1
jne 0x1007e770
and byte [ebp - 0x53], 0xc3
jmp 0x1007e779
cmp esi, 2
jne 0x1007e779
and byte [ebp - 0x49], 0x7f
xor ecx, ecx
cmp dword [ebp - 0x80], ecx
je 0x1007e792
mov al, byte [ebp + ecx - 0x54]
not al
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jl 0x1007e780
jmp 0x1007e7a0
mov al, byte [ebp + ecx - 0x54]
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jl 0x1007e792
mov ebx, dword [ebp - 0xdc]
mov ecx, 1
mov esi, 2
inc ebx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x70], esi
jmp 0x1007f7c5
cmp eax, 0x5c
jne 0x1007f2bf
mov ebx, dword [ebp - 0x60]
mov edi, dword [ebp - 0x6c]
push 1
push dword [ebp - 0x90]
mov edx, edi
push dword [ebx + 0x38]
lea ecx, [ebp - 0x58]
call fcn.1007b420
add esp, 0xc
cmp dword [edi], 0
mov dword [ebp - 0x78], eax
jne 0x10081e1e
mov edi, eax
neg edi
cmp edi, 5
jne 0x1007e808
mov eax, 8
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x58]
jmp 0x1007f2b9
cmp edi, 0xc
je 0x10081e45
cmp edi, 0x1a
jne 0x1007e842
mov ebx, dword [ebp - 0x58]
cmp byte [ebx + 1], 0x5c
jne 0x1007e830
cmp byte [ebx + 2], 0x45
jne 0x1007e830
mov ecx, dword [ebp - 0x64]
add ebx, 2
jmp 0x1007f7c5
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xac], 1
jmp 0x1007f7c5
cmp edi, 0x19
je 0x1007f2ab
test eax, eax
jns 0x1007e800
mov esi, dword [ebx + 8]
mov ebx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x70]
mov ecx, 0xfffffffa
inc ebx
add edx, 2
sub ecx, eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x70], edx
cmp ecx, 0x1c
ja case.0x1007e879.6
movzx eax, byte [ecx + 0x100821ac]
jmp dword [eax*4 + 0x10082178]
mov eax, dword [ebp - 0x58]
mov esi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xc4], eax
lea eax, [esi*4 + 0x74]
mov ebx, 0x101002f8
sub ebx, eax
mov ebx, dword [ebx]
dec ebx
dec ecx
mov dword [ebp - 0x64], ecx
jmp 0x1007f7c2
xor ecx, ecx
jmp 0x1007e8b0
mov al, byte [esi + ecx + 0x40]
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jl 0x1007e8b0
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
jmp 0x1007f7c2
mov dword [ebp - 0x9c], 1
xor ecx, ecx
mov al, byte [esi + ecx + 0x40]
not al
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jl 0x1007e8d5
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
jmp 0x1007f7c2
xor ecx, ecx
mov al, byte [esi + ecx + 0xa0]
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jl 0x1007e8f2
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
jmp 0x1007f7c2
mov dword [ebp - 0x9c], 1
xor ecx, ecx
lea ebx, [ebx]
mov al, byte [esi + ecx + 0xa0]
not al
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jl 0x1007e920
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
jmp 0x1007f7c2
movzx eax, byte [esi]
or byte [ebp - 0x24], al
movzx eax, byte [esi + 1]
and al, 0xf7
or byte [ebp - 0x23], al
mov ecx, 2
mov al, byte [esi + ecx]
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jl 0x1007e952
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
jmp 0x1007f7c2
lea eax, [ebp - 0x24]
xor edx, edx
mov dword [ebp - 0x9c], 1
sub esi, eax
jmp 0x1007e980
lea ecx, [ebp - 0x24]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
not al
or byte [ecx], al
cmp edx, 0x20
jl 0x1007e980
or byte [ebp - 0x23], 8
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
jmp 0x1007f7c2
or byte [ebp - 0x23], 2
or byte [ebp - 0x20], 1
or byte [ebp - 0x10], 1
cmp dword [ebp - 0x8c], 0
je 0x1007f2a8
mov eax, dword [ebp - 0x7c]
inc eax
mov byte [eax - 1], 1
mov dword [ebp - 0x68], 1
mov ebx, 0x1680
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007e9df
inc ecx
cmp ecx, 6
jl 0x1007e9d0
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ea01
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007e9f0
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 1
mov ebx, 0x180e
xor ecx, ecx
jmp 0x1007ea20
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ea2f
inc ecx
cmp ecx, 6
jl 0x1007ea20
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ea51
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ea40
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 2
mov ebx, 0x2000
xor ecx, ecx
jmp 0x1007ea70
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ea7f
inc ecx
cmp ecx, 6
jl 0x1007ea70
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007eaa1
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ea90
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x200a
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007eac5
inc ecx
cmp ecx, 6
jl 0x1007eab6
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007eae3
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ead2
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 1
mov ebx, 0x202f
xor ecx, ecx
lea ecx, [ecx]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007eb0f
inc ecx
cmp ecx, 6
jl 0x1007eb00
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007eb31
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007eb20
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 1
mov ebx, 0x205f
xor ecx, ecx
jmp 0x1007eb50
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007eb5f
inc ecx
cmp ecx, 6
jl 0x1007eb50
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007eb81
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007eb70
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 1
mov ebx, 0x3000
xor ecx, ecx
jmp 0x1007eba0
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ebaf
inc ecx
cmp ecx, 6
jl 0x1007eba0
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ebd1
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ebc0
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
inc edi
mov byte [esi], al
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x7c], edi
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
jmp 0x1007f7c8
xor edx, edx
mov eax, edx
mov ecx, 0xff
dec eax
je 0x1007ec0b
sub eax, 3
je 0x1007ec04
sub eax, 0x10
jne 0x1007ec10
mov ecx, 0xfe
jmp 0x1007ec10
mov ecx, 0xfd
or byte [ebp + edx - 0x24], cl
inc edx
cmp edx, 0x20
jl 0x1007ebf0
cmp dword [ebp - 0x8c], 0
je 0x1007e8be
mov eax, dword [ebp - 0x7c]
inc eax
mov byte [eax - 1], 2
mov dword [ebp - 0x68], 1
mov ebx, pe_nt_image_headers32
xor ecx, ecx
lea ecx, [ecx]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ec4f
inc ecx
cmp ecx, 6
jl 0x1007ec40
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ec71
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ec60
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x167f
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ec95
inc ecx
cmp ecx, 6
jl 0x1007ec86
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ecb3
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007eca2
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 2
mov ebx, 0x1681
xor ecx, ecx
lea ecx, [ecx]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ecdf
inc ecx
cmp ecx, 6
jl 0x1007ecd0
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ed01
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ecf0
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x180d
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ed25
inc ecx
cmp ecx, 6
jl 0x1007ed16
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ed43
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ed32
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 2
mov ebx, 0x180f
xor ecx, ecx
lea ecx, [ecx]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ed6f
inc ecx
cmp ecx, 6
jl 0x1007ed60
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ed91
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ed80
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x1fff
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007edb5
inc ecx
cmp ecx, 6
jl 0x1007eda6
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007edd3
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007edc2
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 2
mov ebx, 0x200b
xor ecx, ecx
lea ecx, [ecx]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007edff
inc ecx
cmp ecx, 6
jl 0x1007edf0
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ee21
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ee10
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x202e
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ee45
inc ecx
cmp ecx, 6
jl 0x1007ee36
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ee63
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ee52
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 2
mov ebx, 0x2030
xor ecx, ecx
lea ecx, [ecx]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ee8f
inc ecx
cmp ecx, 6
jl 0x1007ee80
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007eeb1
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007eea0
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x205e
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007eed5
inc ecx
cmp ecx, 6
jl 0x1007eec6
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007eef3
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007eee2
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 2
mov ebx, 0x2060
xor ecx, ecx
lea ecx, [ecx]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ef1f
inc ecx
cmp ecx, 6
jl 0x1007ef10
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ef41
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ef30
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x2fff
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007ef65
inc ecx
cmp ecx, 6
jl 0x1007ef56
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ef83
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007ef72
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 2
mov ebx, 0x3001
xor ecx, ecx
lea ecx, [ecx]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007efaf
inc ecx
cmp ecx, 6
jl 0x1007efa0
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007efd1
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007efc0
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x10ffff
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007eff5
inc ecx
cmp ecx, 6
jl 0x1007efe6
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ebd1
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007f006
jmp 0x1007ebd1
or byte [ebp - 0x23], 0x3c
or byte [ebp - 0x14], 0x20
cmp dword [ebp - 0x8c], 0
je 0x1007e8be
mov eax, dword [ebp - 0x7c]
inc eax
mov byte [eax - 1], 2
mov dword [ebp - 0x68], 1
mov ebx, 0x2028
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007f056
inc ecx
cmp ecx, 6
jl 0x1007f047
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007f074
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007f063
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x2029
xor ecx, ecx
lea esp, [esp]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007f09f
inc ecx
cmp ecx, 6
jl 0x1007f090
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ebd1
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007f0b0
jmp 0x1007ebd1
xor ecx, ecx
mov eax, ecx
mov edx, 0xff
dec eax
je 0x1007f0de
sub eax, 0xf
jne 0x1007f0e3
mov edx, 0xdf
jmp 0x1007f0e3
mov edx, 0xc3
or byte [ebp + ecx - 0x24], dl
inc ecx
cmp ecx, 0x20
jl 0x1007f0c8
cmp dword [ebp - 0x8c], 0
je 0x1007e8be
mov eax, dword [ebp - 0x7c]
inc eax
mov byte [eax - 1], 2
mov dword [ebp - 0x68], 1
mov ebx, pe_nt_image_headers32
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007f11f
inc ecx
cmp ecx, 6
jl 0x1007f110
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007f141
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007f130
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x2027
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007f165
inc ecx
cmp ecx, 6
jl 0x1007f156
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007f183
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007f172
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
inc eax
mov byte [eax - 1], 2
mov ebx, 0x202a
xor ecx, ecx
lea ecx, [ecx]
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007f1af
inc ecx
cmp ecx, 6
jl 0x1007f1a0
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007f1d1
mov edx, esi
sub edx, eax
lea esp, [esp]
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007f1c0
mov al, byte [ecx*4 + 0x100e136c]
or al, bl
mov byte [esi], al
lea eax, [edi + 1]
mov ebx, 0x10ffff
xor ecx, ecx
cmp dword [ecx*4 + 0x100e1384], ebx
jge 0x1007f1f5
inc ecx
cmp ecx, 6
jl 0x1007f1e6
lea edi, [ecx + eax]
mov esi, edi
test ecx, ecx
jle 0x1007ebd1
mov edx, esi
sub edx, eax
mov al, bl
and al, 0x3f
or al, 0x80
mov byte [esi], al
dec edx
dec esi
shr ebx, 6
test edx, edx
jg 0x1007f206
jmp 0x1007ebd1
push dword [ebp - 0x6c]
lea eax, [ebp - 0x120]
push eax
lea edx, [ebp - 0x110]
lea ecx, [ebp - 0x58]
call fcn.1007bb50
add esp, 8
test eax, eax
js 0x10081e1e
xor ecx, ecx
mov esi, dword [ebp - 0x70]
cmp edi, 0x10
mov edi, dword [ebp - 0x7c]
sete cl
mov edx, 1
mov dword [ebp - 0x68], edx
cmp ecx, dword [ebp - 0x110]
sete cl
add cl, 3
mov byte [edi], cl
mov byte [edi + 1], al
mov al, byte [ebp - 0x120]
mov byte [edi + 2], al
add edi, 3
dec ebx
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x7c], edi
jmp 0x1007f7cb
test byte [ebp - 0x90], 0x40
jne 0x10081e34
dec ebx
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0x58]
sub edx, 2
movzx eax, byte [ebx]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x78], eax
mov esi, edx
jmp 0x1007f2b9
mov esi, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
jmp 0x1007f7c5
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0xac]
cmp byte [ebx + 1], 0x5c
jne 0x1007f2e1
cmp byte [ebx + 2], 0x45
lea ecx, [ebx + 2]
jne 0x1007f2db
mov ebx, ecx
xor edx, edx
mov dword [ebp - 0x58], ebx
cmp byte [ebx + 1], 0x5c
je 0x1007f2c5
mov dword [ebp - 0xac], edx
mov edi, ebx
cmp eax, 0xd
je 0x1007f2ed
cmp eax, 0xa
jne 0x1007f2f7
mov ecx, dword [ebp - 0x60]
or dword [ecx + 0x54], 0x800
test edx, edx
jne 0x1007f599
cmp byte [ebx + 1], 0x2d
jne 0x1007f599
add ebx, 2
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x5c
mov dword [ebp - 0x74], ebx
jne 0x1007f367
cmp byte [ebx + 1], 0x45
jne 0x1007f32d
add ebx, 2
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x5c
mov dword [ebp - 0x74], ebx
je 0x1007f317
jmp 0x1007f367
cmp byte [ebx], 0x5c
jne 0x1007f367
cmp byte [ebx + 1], 0x51
jne 0x1007f367
add ebx, 2
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x5c
mov dword [ebp - 0x74], ebx
jne 0x1007f35c
cmp byte [ebx + 1], 0x45
jne 0x1007f35c
add ebx, 2
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x5c
mov dword [ebp - 0x74], ebx
je 0x1007f332
jmp 0x1007f367
mov edx, 1
mov dword [ebp - 0xac], edx
mov cl, byte [ebx]
test cl, cl
je 0x1007f75f
test edx, edx
jne 0x1007f37e
cmp cl, 0x5d
je 0x1007f75f
cmp dword [ebp - 0x8c], 0
movzx esi, cl
je 0x1007f48a
mov dword [ebp - 0x80], esi
cmp esi, 0xc0
jl 0x1007f48a
mov eax, esi
test al, 0x20
jne 0x1007f3b8
movzx eax, byte [ebx + 1]
inc ebx
and esi, 0x1f
and eax, 0x3f
shl esi, 6
or esi, eax
jmp 0x1007f481
movzx esi, byte [ebx + 1]
mov edx, dword [ebp - 0xac]
and esi, 0x3f
test al, 0x10
jne 0x1007f3e5
and eax, 0xf
shl eax, 6
or esi, eax
movzx eax, byte [ebx + 2]
shl esi, 6
and eax, 0x3f
or esi, eax
add ebx, 2
jmp 0x1007f481
test al, 8
jne 0x1007f411
and eax, 7
shl eax, 6
or esi, eax
movzx eax, byte [ebx + 2]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 3]
shl esi, 6
and eax, 0x3f
or esi, eax
add ebx, 3
jmp 0x1007f481
test al, 4
jne 0x1007f446
and eax, 3
shl eax, 6
or esi, eax
movzx eax, byte [ebx + 2]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 3]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 4]
shl esi, 6
and eax, 0x3f
or esi, eax
add ebx, 4
jmp 0x1007f481
and eax, 1
shl eax, 6
or esi, eax
movzx eax, byte [ebx + 2]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 3]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 4]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 5]
shl esi, 6
and eax, 0x3f
or esi, eax
add ebx, 5
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x58], ebx
test edx, edx
jne 0x1007f4d7
cmp esi, 0x5c
jne 0x1007f4d7
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x6c]
push 1
push dword [ebp - 0x90]
mov edx, ebx
push dword [eax + 0x38]
lea ecx, [ebp - 0x58]
call fcn.1007b420
add esp, 0xc
cmp dword [ebx], 0
mov esi, eax
jne 0x10081e1e
mov eax, dword [ebp - 0x78]
test esi, esi
jns 0x1007f4d1
cmp esi, 0xfffffffb
jne 0x1007f591
mov esi, 8
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x74], ebx
cmp esi, eax
jl 0x10081e56
je 0x1007f596
cmp esi, 0xd
je 0x1007f4ef
cmp esi, 0xa
jne 0x1007f4f9
mov ecx, dword [ebp - 0x60]
or dword [ecx + 0x54], 0x800
cmp dword [ebp - 0x8c], 0
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x70], 2
je 0x1007f6ea
cmp esi, 0xff
jg 0x1007f52d
test dl, 1
je 0x1007f6ea
cmp esi, 0x7f
jle 0x1007f6ea
mov dword [ebp - 0x68], 1
test dl, 1
je 0x1007f6bb
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x100]
push eax
mov edx, esi
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x74], esi
call fcn.1007ce60
add esp, 8
test eax, eax
je 0x1007f6b8
mov ebx, dword [ebp - 0x78]
lea esp, [esp]
mov ecx, dword [ebp - 0x100]
mov edi, dword [ebp - 0xe8]
cmp ecx, ebx
jb 0x1007f643
cmp edi, esi
jbe 0x1007f691
jmp 0x1007f652
mov ebx, edi
mov dword [ebp - 0x58], ebx
mov esi, dword [ebp - 0x70]
cmp esi, 2
jge 0x1007f5a2
inc esi
mov dword [ebp - 0x70], esi
cmp esi, 1
jne 0x1007f5b1
cmp byte [ebx + 1], 0x5d
je 0x1007f8d1
cmp dword [ebp - 0x8c], 0
je 0x1007f769
cmp eax, 0xff
jg 0x1007f5db
test byte [ebp - 0x90], 1
je 0x1007f769
cmp eax, 0x7f
jle 0x1007f769
mov edi, dword [ebp - 0x7c]
inc edi
mov byte [edi - 1], 1
mov edx, edi
mov ecx, eax
mov dword [ebp - 0x68], 1
call fcn.10097cd0
add edi, eax
test byte [ebp - 0x90], 1
mov dword [ebp - 0x7c], edi
je 0x1007ebe3
mov ebx, dword [ebp - 0x78]
push ebx
call sym.glib_2.dll_g_unichar_toupper
add esp, 4
cmp eax, ebx
jne 0x1007f626
push ebx
call sym.glib_2.dll_g_unichar_tolower
add esp, 4
cmp eax, ebx
je 0x1007ebe3
mov byte [edi], 1
inc edi
mov edx, edi
mov ecx, eax
call fcn.10097cd0
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
add edi, eax
mov dword [ebp - 0x7c], edi
jmp 0x1007f7c8
lea eax, [ebx - 1]
cmp edi, eax
jb 0x1007f64e
mov ebx, ecx
jmp 0x1007f691
cmp edi, esi
jbe 0x1007f65d
lea eax, [esi + 1]
cmp ecx, eax
ja 0x1007f65d
mov esi, edi
jmp 0x1007f691
cmp ecx, edi
jne 0x1007f66b
mov ecx, dword [ebp - 0x7c]
inc ecx
mov byte [ecx - 1], 1
jmp 0x1007f682
mov eax, dword [ebp - 0x7c]
inc eax
mov byte [eax - 1], 2
mov edx, eax
mov dword [ebp - 0x7c], eax
call fcn.10097cd0
mov ecx, dword [ebp - 0x7c]
add ecx, eax
mov dword [ebp - 0x7c], ecx
mov edx, ecx
mov ecx, edi
call fcn.10097cd0
add dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x80]
call fcn.1007ce60
add esp, 8
test eax, eax
jne 0x1007f570
mov dword [ebp - 0x78], ebx
mov eax, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
inc edi
mov byte [edi - 1], 2
mov edx, edi
mov ecx, eax
call fcn.10097cd0
add edi, eax
mov edx, edi
mov ecx, esi
call fcn.10097cd0
mov esi, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
add edi, eax
mov dword [ebp - 0x7c], edi
jmp 0x1007f7c8
cmp dword [ebp - 0xa4], 0
mov ecx, 1
mov dword [ebp - 0x64], ecx
jne 0x1007f7c2
cmp eax, esi
jg 0x1007f7c2
mov ebx, dword [ebp - 0x78]
mov edi, edx
and edi, ecx
mov edi, edi
mov eax, ebx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [ebp - 0x24]
add edx, eax
mov ecx, ebx
and ecx, 7
mov al, 1
shl al, cl
or byte [edx], al
test edi, edi
je 0x1007f752
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 4]
movzx ecx, byte [eax + ebx]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [ebp - 0x24]
add edx, eax
and ecx, 7
mov al, 1
shl al, cl
or byte [edx], al
inc ebx
cmp ebx, esi
jle 0x1007f710
mov ebx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x64]
jmp 0x1007f7c2
mov ebx, edi
mov dword [ebp - 0x58], ebx
jmp 0x1007f599
mov esi, dword [ebp - 0x78]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [ebp - 0x24]
add edx, eax
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
mov dword [ebp - 0x64], 1
or byte [edx], al
test byte [ebp - 0x90], 1
je 0x1007f7bd
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 4]
movzx ecx, byte [eax + esi]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [ebp - 0x24]
add edx, eax
and ecx, 7
mov al, 1
shl al, cl
mov ecx, dword [ebp - 0x64]
or byte [edx], al
jmp 0x1007f7c2
mov ecx, 1
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x68]
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x1007f805
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x10081e64
lea ebx, [eax + 1]
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x78], eax
test eax, eax
je 0x10081e64
cmp eax, 0x5d
jne 0x1007e470
cmp dword [ebp - 0xac], 0
jne 0x1007e470
mov eax, dword [ebp - 0x94]
cmp eax, 0xfffffffe
mov ebx, 0xffffffff
cmove eax, ebx
mov esi, eax
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xa8]
test edx, edx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x7c], eax
je 0x1007fa41
test edx, edx
je 0x1007f862
test dword [ebp - 0x90], 0x20000000
je 0x1007fa41
mov eax, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x88]
mov byte [edi], 0
mov byte [eax], 0x6c
add eax, 3
mov dword [ebp - 0x5c], eax
test ebx, ebx
mov ebx, dword [ebp - 0x5c]
setne al
mov byte [ebx], al
test ecx, ecx
jle 0x1007fa18
or al, 2
mov byte [ebx], al
inc ebx
lea eax, [edi + 1]
sub eax, ebx
push eax
lea eax, [ebx + 0x20]
push ebx
push eax
call dword [0x100a119c]
movq xmm0, qword [ebp - 0x24]
movq qword [ebx], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [ebx + 8], xmm0
movq xmm0, qword [ebp - 0x14]
movq qword [ebx + 0x10], xmm0
movq xmm0, qword [ebp - 0xc]
add esp, 0xc
movq qword [ebx + 0x18], xmm0
lea edx, [edi + 0x21]
jmp 0x1007fa1b
mov ecx, dword [ebp - 0xa8]
inc ebx
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x88]
mov dword [ebp - 0x7c], ecx
test ebx, ebx
je 0x1007f94d
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x5c]
cmp ecx, 0xfffffffe
mov eax, 0xffffffff
cmove ecx, eax
test byte [ebp - 0x90], 1
mov esi, ecx
setne al
add al, 0x1f
mov byte [edx], al
mov eax, dword [ebp - 0x78]
inc edx
cmp dword [ebp - 0x8c], 0
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x5c], edx
je 0x1007e325
cmp eax, 0x7f
jle 0x1007e325
mov ecx, eax
call fcn.10097cd0
mov edx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x60]
add edx, eax
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
cmp dword [ebp - 0x8c], 0
je 0x1007f96f
cmp eax, 0x7f
jle 0x1007f96f
lea edx, [ebp - 0x2c]
mov ecx, eax
call fcn.10097cd0
mov bl, byte [ebp - 0x2c]
mov edi, dword [ebp - 0x60]
mov esi, eax
jmp 0x1007f97d
mov edi, dword [ebp - 0x60]
mov byte [ebp - 0x2c], al
mov esi, 1
mov ebx, dword [ebp - 0x78]
test byte [ebp - 0x90], 1
mov edx, dword [ebp - 0x5c]
setne al
add al, 0x1d
mov dword [ebp - 0x84], edx
mov byte [edx], al
inc edx
mov dword [ebp - 0x5c], edx
test esi, esi
jle 0x1007f9b2
push esi
lea eax, [ebp - 0x2c]
push eax
push edx
call fcn.100a0c1c
mov edx, dword [ebp - 0x5c]
add esp, 0xc
add edx, esi
mov dword [ebp - 0x5c], edx
cmp bl, 0xd
je 0x1007f9bc
cmp bl, 0xa
jne 0x1007f9c3
or dword [edi + 0x54], 0x800
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x7c], eax
cmp ecx, 0xfffffffe
jne 0x10081dd3
mov dword [ebp - 0x70], 0xffffffff
cmp esi, 1
je 0x10081d93
cmp dword [ebp - 0xd0], 0
je 0x10081d93
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0xa8], 0xffffffff
mov dword [ebp - 0x94], 0xffffffff
inc ebx
jmp 0x1007df36
lea edx, [edi + 1]
mov ecx, dword [ebp - 0x84]
mov edi, dword [ebp - 0x60]
mov eax, edx
sub eax, ecx
sar eax, 8
mov byte [ecx + 1], al
mov al, dl
sub al, cl
mov byte [ecx + 2], al
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
mov ebx, dword [ebp - 0x88]
cmp ebx, edx
mov edx, dword [ebp - 0x5c]
setne al
add al, 0x6a
cmp dword [ebp - 0xa4], 0
mov byte [edx], al
jne 0x1007fa94
test ebx, ebx
je 0x1007fa6c
xor ecx, ecx
not byte [ebp + ecx - 0x24]
inc ecx
cmp ecx, 0x20
jl 0x1007fa62
movq xmm0, qword [ebp - 0x24]
movq qword [edx + 1], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [edx + 9], xmm0
movq xmm0, qword [ebp - 0x14]
movq qword [edx + 0x11], xmm0
movq xmm0, qword [ebp - 0xc]
movq qword [edx + 0x19], xmm0
mov ebx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x60]
add edx, 0x21
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
test edi, edi
je case.0x1007e2b5.1
mov edi, dword [ebp - 0x6c]
lea eax, [ebp - 0xb4]
push edi
push eax
lea ecx, [ebx + 1]
lea edx, [ebp - 0xb0]
call fcn.1007bca0
add esp, 8
cmp dword [edi], 0
mov ebx, eax
mov dword [ebp - 0x58], ebx
jne 0x100820a6
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
jmp 0x1007fb0d
xor ecx, ecx
or eax, 0xffffffff
jmp 0x1007fafe
mov ecx, 1
or eax, 0xffffffff
jmp 0x1007fafe
xor ecx, ecx
mov eax, 1
mov edi, dword [ebp - 0x6c]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0x84], 0
mov dword [ebp - 0x68], eax
je 0x10081e9b
test ecx, ecx
jne 0x1007fb30
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x94], esi
mov dword [ebp - 0xa8], edx
xor esi, esi
cmp ecx, eax
mov edx, 0x20000000
cmove edx, esi
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x98], esi
mov cl, byte [ebx + 1]
xor edi, edi
mov dword [ebp - 0xec], edx
mov dword [ebp - 0x9c], edi
cmp cl, 0x2b
jne 0x1007fb72
mov dword [ebp - 0x64], edi
mov edi, 1
inc ebx
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x58], ebx
jmp 0x1007fb8f
cmp cl, 0x3f
jne 0x1007fb86
mov ecx, dword [ebp - 0xfc]
inc ebx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x58], ebx
jmp 0x1007fb8f
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x84]
cmp byte [ecx], 0x6f
jne 0x1007fc2a
push 3
push ecx
lea eax, [ecx + 3]
push eax
call dword [0x100a119c]
mov ecx, dword [ebp - 0x84]
add dword [ebp - 0x5c], 6
mov word [ecx], 0x7b
add esp, 0xc
cmp dword [ebp - 0xa4], 0
mov byte [ecx + 2], 6
mov word [ecx + 6], 0x72
mov byte [ecx + 8], 6
mov dword [ebp - 0xcc], 9
jne 0x1007fc21
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x24]
add eax, 2
cmp edx, eax
jb 0x1007fc21
movzx eax, byte [edx - 2]
movzx ecx, byte [edx - 1]
shl eax, 8
or ecx, eax
mov eax, dword [ebp - 0x84]
sub eax, dword [ebx + 0x14]
inc eax
cmp ecx, eax
jne 0x1007fc1b
lea eax, [ecx + 3]
sar eax, 8
mov byte [edx - 2], al
mov eax, dword [ebx + 0x24]
add cl, 3
mov byte [eax - 1], cl
mov ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x58]
mov dl, byte [ecx]
cmp dl, 0x1d
je 0x10080467
cmp dl, 0x1e
je 0x10080467
cmp dl, 0x1f
je 0x10080467
cmp dl, 0x20
je 0x10080467
cmp dl, 0x17
jae 0x1007fcd3
movzx ecx, dl
mov esi, 0x34
test edi, edi
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x74], ecx
jne 0x1007fcac
test edi, edi
jns 0x1007fcac
push dword [ebp - 0x60]
push dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x84]
inc ebx
push ebx
call fcn.1007d070
mov ebx, dword [ebp - 0x58]
add esp, 0xc
test eax, eax
je 0x1007fcac
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x9c], 1
mov eax, dword [ebp - 0x84]
mov al, byte [eax]
cmp al, 0x10
je 0x10080534
cmp al, 0xf
je 0x10080534
mov dword [ebp - 0x78], 0xffffffff
or edx, 0xffffffff
jmp 0x10080545
cmp dl, 0x6a
je 0x1008039c
cmp dl, 0x6b
je 0x1008039c
cmp dl, 0x6c
je 0x1008039c
cmp dl, 0x6d
je 0x1008039c
cmp dl, 0x6e
je 0x1008039c
cmp dl, 0x77
jb 0x10080371
cmp dl, 0x81
ja 0x10080371
mov edi, dword [ebp - 0x5c]
mov eax, edi
sub eax, ecx
mov dword [ebp - 0x74], eax
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x78], eax
cmp dl, 0x81
jne 0x1007fd33
cmp byte [ecx + 3], 0x8b
je 0x1008037a
mov ecx, dword [ebp - 0xb0]
cmp dl, 0x7b
jae 0x1007fd62
test ecx, ecx
jg 0x1008037a
mov eax, dword [ebp - 0x68]
test eax, eax
js 0x1007fd52
cmp eax, 1
jle 0x1007fd65
mov eax, 1
mov dword [ebp - 0x68], eax
mov dword [ebp - 0xb4], eax
jmp 0x1007fd65
mov eax, dword [ebp - 0x68]
test ecx, ecx
jne 0x1007fe33
push dword [ebp - 0xa0]
mov ebx, dword [ebp - 0x84]
push dword [ebp - 0x60]
mov byte [edi], cl
push dword [ebp - 0x8c]
mov ecx, ebx
cmp eax, 1
jg 0x1007fde1
mov edx, 1
call fcn.1007ccc0
push dword [ebp - 0x74]
lea esi, [ebx + 1]
push ebx
push esi
call dword [0x100a119c]
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x68]
inc edx
add esp, 0x18
mov dword [ebp - 0x5c], edx
test edi, edi
jne 0x1007fdbf
mov byte [ebx], 0x9b
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov al, byte [ebp - 0x64]
sub al, 0x74
mov byte [ebx], al
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x78], ebx
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x84], esi
mov esi, dword [ebp - 0x98]
dec eax
jmp 0x1007ffc7
mov edx, 4
call fcn.1007ccc0
push dword [ebp - 0x74]
lea eax, [ebx + 4]
push ebx
push eax
call dword [0x100a119c]
mov al, byte [ebp - 0x64]
sub al, 0x74
mov byte [ebx], al
mov eax, dword [ebp - 0x68]
mov byte [ebx + 1], 0x7d
add ebx, 2
mov dword [ebp - 0x80], ebx
mov word [ebx], 0
mov esi, dword [ebp - 0x98]
add ebx, 2
add edi, 4
add esp, 0x18
mov dword [ebp - 0x84], ebx
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], edi
dec eax
jmp 0x1007ffc7
cmp ecx, 1
jle 0x1007ffbe
mov edx, dword [ebp - 0xa4]
test edx, edx
je 0x1007fe95
lea eax, [ecx - 1]
mov edi, eax
imul dword [ebp - 0xcc]
imul edi, dword [ebp - 0xcc]
test edx, edx
jg 0x10081e07
jl 0x1007fe6d
cmp eax, 0x7fffffff
ja 0x10081e07
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx]
sub eax, ecx
cmp eax, edi
jl 0x10081e07
lea eax, [ecx + edi]
mov ecx, dword [ebp - 0xb0]
mov dword [edx], eax
jmp 0x1007ffbe
cmp dword [ebp - 0xe4], 0
je 0x1007feb3
mov eax, dword [ebp - 0xa8]
test eax, eax
cmovs eax, dword [ebp - 0x94]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x88], 1
cmp ecx, 1
jle 0x1007ffbe
mov ebx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
nop
mov esi, dword [edx + 0x24]
push ebx
push dword [ebp - 0x84]
push eax
call fcn.100a0c1c
mov edx, dword [ebp - 0x60]
mov edi, dword [ebp - 0xa0]
mov eax, dword [edx + 0x34]
mov ecx, dword [edx + 0x10]
sub eax, esi
add edi, 0xffffff9c
add eax, ecx
add eax, edi
mov edi, dword [ebp - 0x88]
add esp, 0xc
cmp dword [edx + 0x24], eax
jbe 0x1007ff4a
sub dword [ebp - 0xa0], ecx
sub esi, ecx
mov ecx, edx
call fcn.1007b340
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
test eax, eax
jne 0x10081e1e
mov edx, dword [ebp - 0x60]
mov ecx, dword [edx + 0x10]
add dword [ebp - 0xa0], ecx
mov eax, dword [edx + 0x34]
mov ebx, dword [ebp - 0xa0]
add esi, ecx
sub eax, esi
add ebx, 0xffffff9c
add eax, ecx
add eax, ebx
mov ebx, dword [ebp - 0x74]
cmp dword [edx + 0x24], eax
ja 0x1007ff06
cmp dword [ebp - 0xa0], esi
jae 0x1007ff92
mov edi, dword [ebp - 0xa0]
jmp 0x1007ff60
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [edx + 0x24]
add ecx, ebx
sar ecx, 8
mov byte [eax], cl
mov cl, byte [edi + 1]
mov eax, dword [edx + 0x24]
add cl, bl
mov byte [eax + 1], cl
add dword [edx + 0x24], 2
add edi, 2
cmp edi, esi
jb 0x1007ff60
mov edi, dword [ebp - 0x88]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xb0]
inc edi
add eax, ebx
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x88], edi
cmp edi, ecx
jl 0x1007fed0
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x98]
mov eax, dword [ebp - 0x68]
test eax, eax
jle 0x1007ffcf
sub eax, ecx
mov dword [ebp - 0xb4], eax
test eax, eax
js 0x10080232
cmp dword [ebp - 0xa4], 0
je 0x10080061
test eax, eax
jle 0x10080061
mov ecx, dword [ebp - 0xcc]
add ecx, 7
mov edi, eax
imul ecx
imul edi, ecx
sub edi, 6
test edx, edx
jg 0x10081e07
jl 0x1008000e
cmp eax, 0x7fffffff
ja 0x10081e07
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx]
sub eax, ecx
cmp eax, edi
jl 0x10081e07
lea eax, [edi + ecx]
mov dword [edx], eax
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x80]
test edi, edi
je 0x100801fe
lea esp, [esp]
mov ecx, edx
sub ecx, edi
inc ecx
sub edx, ecx
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
jne 0x100801cc
xor edi, edi
jmp 0x100801ce
lea edi, [eax - 1]
mov dword [ebp - 0x88], edi
test edi, edi
js 0x1008002b
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
sub cl, 0x74
mov dword [ebp - 0x64], ecx
mov esi, dword [ebx + 0x24]
mov byte [edx], cl
inc edx
mov dword [ebp - 0x5c], edx
test edi, edi
je 0x100800b6
mov eax, dword [ebp - 0x80]
mov byte [edx], 0x7d
inc edx
test eax, eax
jne 0x1008009c
xor ecx, ecx
jmp 0x100800a0
mov ecx, edx
sub ecx, eax
mov eax, ecx
sar eax, 8
mov byte [edx], al
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x80], edx
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp - 0x5c], edx
push eax
push dword [ebp - 0x84]
push edx
call fcn.100a0c1c
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp - 0xa0]
sub eax, esi
add eax, 0xffffff9c
add eax, ecx
add eax, edx
add esp, 0xc
cmp dword [ebx + 0x24], eax
jbe 0x10080122
sub edx, ecx
sub esi, ecx
mov ecx, ebx
mov dword [ebp - 0xa0], edx
call fcn.1007b340
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
test eax, eax
jne 0x10081e1e
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x34]
mov edx, dword [ebp - 0xa0]
add esi, ecx
sub eax, esi
add eax, 0xffffff9c
add edx, ecx
add eax, ecx
add eax, edx
mov dword [ebp - 0xa0], edx
cmp dword [ebx + 0x24], eax
ja 0x100800e0
cmp edx, esi
jae 0x1008019d
mov eax, 1
test edi, edi
mov edi, dword [ebp - 0x60]
mov edx, eax
mov ecx, 4
mov ebx, eax
mov eax, dword [ebp - 0xa0]
cmovne edx, ecx
cmovne ebx, ecx
lea esp, [esp]
movzx ecx, byte [eax]
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
add ecx, dword [ebp - 0x74]
mov eax, dword [edi + 0x24]
add ecx, edx
sar ecx, 8
mov byte [eax], cl
mov eax, dword [ebp - 0xa0]
mov cl, byte [eax + 1]
add cl, byte [ebp - 0x74]
mov eax, dword [edi + 0x24]
add cl, bl
mov byte [eax + 1], cl
mov eax, dword [ebp - 0xa0]
add dword [edi + 0x24], 2
add eax, 2
mov dword [ebp - 0xa0], eax
cmp eax, esi
jb 0x10080150
mov edi, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x64]
add edx, eax
dec edi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x88], edi
jns 0x10080080
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x98]
jmp 0x1008002e
sub edi, esi
mov ebx, dword [ebp - 0x5c]
mov eax, ecx
mov byte [ebx], 0x72
sar eax, 8
mov byte [ebx + 1], al
mov byte [ebx + 2], cl
add ebx, 3
mov byte [edx + 1], al
mov byte [edx + 2], cl
mov dword [ebp - 0x5c], ebx
mov edx, ebx
test edi, edi
jne 0x10080040
mov esi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
cmp dword [ebp - 0x9c], 0
je 0x1008037d
mov al, byte [esi]
cmp al, 0x5d
jne 0x100807b8
mov al, byte [esi + 3]
cmp al, 0x10
je 0x10080773
cmp al, 0xf
je 0x10080773
xor eax, eax
jmp 0x10080778
mov edx, dword [ebp - 0x5c]
movzx ecx, byte [edx - 2]
movzx eax, byte [edx - 1]
lea edi, [edx - 3]
shl ecx, 8
or ecx, eax
mov esi, edi
sub esi, ecx
mov dword [ebp - 0x80], esi
mov al, byte [esi]
cmp al, 0x7b
je 0x10080256
cmp al, 0x7c
jne 0x10080265
mov ebx, dword [ebp - 0x9c]
test ebx, ebx
je 0x1008026b
mov byte [esi], 0x7d
jmp 0x1008027b
mov ebx, dword [ebp - 0x9c]
cmp al, 0x7b
je 0x1008035c
cmp al, 0x7c
je 0x1008035c
cmp dword [ebp - 0xa4], 0
jne 0x100802b7
push dword [ebp - 0x60]
mov edx, edi
push dword [ebp - 0x8c]
mov ecx, esi
call fcn.1007c790
add esp, 8
test eax, eax
jne 0x100802d2
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x71
je 0x10080284
mov esi, dword [ebp - 0x80]
mov edx, dword [ebp - 0x5c]
test ebx, ebx
je 0x10080350
mov al, byte [esi]
cmp al, 0x81
je 0x100802da
cmp al, 0x86
je 0x100802da
inc al
mov byte [esi], al
mov byte [edi], 0x75
jmp 0x1008032f
mov esi, dword [ebp - 0x80]
add byte [esi], 5
jmp 0x100802b4
push dword [ebp - 0xa0]
mov ebx, edx
push dword [ebp - 0x60]
mov byte [edx], 0
push dword [ebp - 0x8c]
mov edx, 3
mov ecx, esi
sub ebx, esi
call fcn.1007ccc0
push ebx
lea eax, [esi + 3]
push esi
push eax
call dword [0x100a119c]
mov edx, dword [ebp - 0x5c]
add ebx, 3
mov byte [esi], 0x7e
mov byte [edx + 3], 0x75
mov eax, ebx
sar eax, 8
mov byte [edx + 4], al
mov byte [edx + 5], bl
add esp, 0x18
add edx, 6
mov dword [ebp - 0x5c], edx
mov byte [esi + 1], al
mov byte [esi + 2], bl
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x10080339
mov byte [eax], 0x8e
cmp dword [ebp - 0xb0], 2
mov ebx, dword [ebp - 0x58]
jl 0x1008037d
mov esi, dword [ebp - 0x98]
jmp 0x10080201
mov eax, dword [ebp - 0x64]
add al, 0x73
mov byte [edi], al
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov eax, dword [ebp - 0x64]
add al, 0x73
mov byte [edi], al
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x98]
jmp 0x10080201
cmp dl, 0x97
jne 0x10081e8d
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x60]
mov eax, dword [ebp - 0xec]
or dword [edi + 0x58], eax
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x84], 0
inc ebx
jmp 0x1007df36
mov ecx, dword [ebp - 0x68]
test ecx, ecx
jne 0x100803ae
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x5c], edx
jmp 0x1008037d
mov edx, dword [ebp - 0xb0]
test edx, edx
jne 0x100803fa
cmp ecx, 0xffffffff
jne 0x100803d9
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x64]
add al, 0x62
mov byte [edx], al
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x98]
inc edx
mov dword [ebp - 0x5c], edx
jmp 0x10080201
cmp ecx, 1
jne 0x10080420
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x64]
add al, 0x66
mov byte [edx], al
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x98]
inc edx
mov dword [ebp - 0x5c], edx
jmp 0x10080201
cmp edx, 1
jne 0x10080420
cmp ecx, 0xffffffff
jne 0x10080420
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x64]
add al, 0x64
mov byte [edx], al
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x98]
inc edx
mov dword [ebp - 0x5c], edx
jmp 0x10080201
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x64]
add al, 0x68
mov byte [ebx], al
inc ebx
mov eax, edx
sar eax, 8
mov byte [ebx], al
xor eax, eax
mov byte [ebx + 1], dl
cmp ecx, 0xffffffff
cmove ecx, eax
mov edx, ebx
mov eax, ecx
sar eax, 8
mov byte [edx + 2], al
mov byte [edx + 3], cl
mov esi, dword [ebp - 0x98]
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x58]
add edx, 4
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0x5c], edx
jmp 0x10080201
movzx eax, dl
sub eax, 0x1e
je 0x1008049b
dec eax
je 0x10080494
dec eax
je 0x10080483
mov dword [ebp - 0x88], 0
xor esi, esi
jmp 0x100804a6
mov dword [ebp - 0x88], 0x27
mov esi, 0x27
jmp 0x100804a6
mov esi, 0x1a
jmp 0x100804a0
mov esi, 0xd
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0x8c], 0
je 0x10080506
mov ecx, dword [ebp - 0x5c]
dec ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x10080506
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x100804cd
mov al, byte [ecx - 1]
dec ecx
and al, 0xc0
cmp al, 0x80
je 0x100804c3
mov eax, dword [ebp - 0x5c]
sub eax, ecx
push eax
mov dword [ebp - 0x74], eax
push ecx
lea eax, [ebp - 0x34]
push eax
call fcn.100a0c1c
add esp, 0xc
or dword [ebp - 0x74], 0x10000000
mov eax, dword [ebp - 0x60]
test edi, edi
mov edi, dword [ebp - 0x68]
jne 0x1007fcac
test edi, edi
jns 0x1007fcac
push eax
jmp 0x1007fc78
mov eax, dword [ebp - 0x5c]
movzx ecx, byte [eax - 1]
mov dword [ebp - 0x74], ecx
cmp dl, 0x1e
ja 0x100804ea
cmp dword [ebp - 0xb0], 1
mov eax, dword [ebp - 0x60]
jle 0x100804ed
mov edx, dword [eax + 0x58]
or edx, ecx
or edx, dword [ebp - 0xd0]
mov dword [ebp - 0xa8], edx
jmp 0x100804ed
mov eax, dword [ebp - 0x84]
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp - 0x80]
test edi, edi
je 0x1008037a
add dword [ebp - 0x64], esi
mov esi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x74]
test esi, esi
jne 0x100805c2
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
cmp ebx, 0xffffffff
jne 0x1008058c
mov ebx, dword [ebp - 0x84]
add al, 0x21
mov byte [ebx], al
lea edi, [ebx + 1]
jmp 0x10080718
cmp ebx, 1
jne 0x100805a3
mov ebx, dword [ebp - 0x84]
add al, 0x25
mov byte [ebx], al
lea edi, [ebx + 1]
jmp 0x10080718
mov esi, dword [ebp - 0x84]
add al, 0x27
mov byte [esi], al
lea edi, [esi + 1]
mov eax, ebx
sar eax, 8
mov byte [edi], al
mov byte [edi + 1], bl
add edi, 2
jmp 0x10080718
cmp esi, 1
jne 0x10080610
cmp edi, 0xffffffff
jne 0x100805e1
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x84]
add al, 0x23
mov byte [ebx], al
lea edi, [ebx + 1]
jmp 0x10080718
mov dword [ebp - 0x5c], eax
cmp edi, 1
je 0x1008037a
mov ebx, dword [ebp - 0x64]
add bl, 0x27
mov byte [eax], bl
mov ebx, dword [ebp - 0x68]
lea edi, [eax + 1]
lea eax, [ebx - 1]
sar eax, 8
dec bl
mov byte [edi], al
mov byte [edi + 1], bl
add edi, 2
jmp 0x10080718
mov eax, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x84]
add al, 0x29
mov byte [ebx], al
lea edi, [ebx + 1]
mov ebx, dword [ebp - 0xb0]
mov eax, ebx
sar eax, 8
mov byte [edi], al
mov eax, dword [ebp - 0x68]
mov byte [edi + 1], bl
add edi, 2
test eax, eax
jns 0x10080698
cmp dword [ebp - 0x8c], 0
je 0x10080679
test ecx, 0x10000000
je 0x10080679
mov esi, ecx
and esi, 7
push esi
lea eax, [ebp - 0x34]
push eax
push edi
call fcn.100a0c1c
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x80]
add esp, 0xc
add edi, esi
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x78]
add al, 0x21
mov byte [edi], al
inc edi
jmp 0x1008071b
mov byte [edi], cl
inc edi
test edx, edx
js 0x10080669
mov ebx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x64]
mov byte [edi], dl
mov byte [edi + 1], bl
add edi, 2
add al, 0x21
mov byte [edi], al
inc edi
jmp 0x1008071b
cmp eax, ebx
je 0x10080718
cmp dword [ebp - 0x8c], 0
je 0x100806d1
test ecx, 0x10000000
je 0x100806d1
mov esi, ecx
and esi, 7
push esi
lea eax, [ebp - 0x34]
push eax
push edi
call fcn.100a0c1c
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x68]
add esp, 0xc
add edi, esi
jmp 0x100806d4
mov byte [edi], cl
inc edi
mov ebx, dword [ebp - 0x78]
test edx, edx
js 0x100806e3
mov byte [edi], dl
mov byte [edi + 1], bl
add edi, 2
sub eax, dword [ebp - 0xb0]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0xb4], eax
cmp eax, 1
jne 0x10080701
mov eax, dword [ebp - 0x64]
add al, 0x25
mov byte [edi], al
inc edi
jmp 0x1008071b
mov ebx, dword [ebp - 0x64]
add bl, 0x27
sar eax, 8
mov byte [edi], bl
mov byte [edi + 1], al
mov eax, dword [ebp - 0x68]
mov byte [edi + 2], al
add edi, 3
mov ebx, dword [ebp - 0x78]
cmp dword [ebp - 0x8c], 0
je 0x1008074a
test ecx, 0x10000000
je 0x1008074a
and ecx, 7
push ecx
lea eax, [ebp - 0x34]
push eax
push edi
mov dword [ebp - 0x74], ecx
call fcn.100a0c1c
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x80]
add esp, 0xc
add edi, eax
jmp 0x1008074d
mov byte [edi], cl
inc edi
mov dword [ebp - 0x5c], edi
test edx, edx
js 0x100801f5
mov byte [edi], dl
mov edx, edi
add edx, 2
mov byte [edx - 1], bl
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x98]
mov dword [ebp - 0x5c], edx
jmp 0x10080201
mov eax, 2
add esi, 4
add esi, eax
mov dword [ebp - 0x98], esi
mov ecx, dword [ebp - 0x8c]
mov eax, edx
sub eax, esi
mov dword [ebp - 0xbc], eax
test eax, eax
jle 0x1008037d
movzx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x3a
ja case.0x100807b1.34
movzx eax, byte [eax + 0x10082220]
jmp dword [eax*4 + 0x100821cc]
cmp al, 0x29
je 0x100807c0
cmp al, 0x43
jne 0x10080783
mov ecx, dword [ebp - 0x8c]
movzx eax, al
movzx eax, byte [eax + 0x100e13b8]
add esi, eax
mov dword [ebp - 0x98], esi
test ecx, ecx
je 0x10080789
mov al, byte [esi - 1]
cmp al, 0xc0
jb 0x10080789
movzx eax, al
and eax, 0x3f
movzx eax, byte [eax + 0x100e1c70]
add esi, eax
mov dword [ebp - 0x98], esi
jmp 0x10080789
mov byte [esi], 0x2a
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x2b
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x2c
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x2d
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x37
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x38
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x39
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x3a
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x44
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x45
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x46
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x47
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x51
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x52
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x53
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x54
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x5e
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x5f
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x60
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
mov byte [esi], 0x61
mov ebx, dword [ebp - 0x58]
jmp 0x1008037d
push dword [ebp - 0xa0]
mov edi, dword [ebp - 0x60]
mov byte [edx], 0
push edi
push ecx
mov ecx, dword [ebp - 0x98]
mov edx, 3
call fcn.1007ccc0
mov ebx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x98]
push ebx
push eax
add eax, 3
push eax
call dword [0x100a119c]
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x5c]
add ebx, 3
mov byte [eax], 0x7b
mov byte [edx + 3], 0x72
mov ecx, ebx
mov byte [edx + 5], bl
sar ecx, 8
mov byte [edx + 4], cl
mov eax, dword [ebp - 0x98]
add esp, 0x18
mov byte [eax + 1], cl
mov eax, dword [ebp - 0x98]
add edx, 6
mov byte [eax + 2], bl
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], edx
jmp 0x10080380
mov edi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x90]
inc ebx
xor eax, eax
mov dword [ebp - 0x58], ebx
mov dl, byte [ebx]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x68], 0x7f
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x78], 0
cmp dl, 0x2a
jne 0x10080b8c
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
mov dword [ebp - 0x88], esi
cmp al, 0x3a
je 0x100809a7
movzx ecx, al
mov eax, dword [edi + 0xc]
test byte [ecx + eax], 2
je 0x10080b86
mov eax, dword [ebp - 0x60]
mov ebx, esi
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
xor edi, edi
test byte [eax + ecx], 2
mov edx, 0x100e04f4
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x84], edi
je 0x100809e5
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 2
jne 0x100809d8
mov ecx, dword [ebp - 0x88]
mov eax, ebx
sub eax, ecx
cmp byte [ebx], 0x3a
mov dword [ebp - 0x74], eax
jne 0x10080a29
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
mov edi, ebx
mov dword [ebp - 0x64], ebx
test al, al
je 0x10080a14
cmp al, 0x29
je 0x10080a14
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
test al, al
jne 0x10080a06
mov eax, ebx
sub eax, edi
mov dword [ebp - 0x80], eax
cmp eax, 0xff
jg 0x10081ea6
mov eax, dword [ebp - 0x74]
cmp byte [ebx], 0x29
jne 0x10081ee7
xor edi, edi
mov esi, 0x100e0488
lea esp, [esp]
cmp eax, dword [esi]
jne 0x10080a60
push eax
push edx
push ecx
call dword [0x100a1194]
add esp, 0xc
test eax, eax
je 0x10080a7e
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x88]
inc edx
add edx, dword [esi]
add esi, 0xc
inc edi
mov dword [ebp - 0x9c], edx
cmp esi, 0x100e04f4
jge 0x10081ed6
mov eax, dword [ebp - 0x74]
jmp 0x10080a40
lea eax, [edi + edi*2]
mov ecx, dword [eax*4 + 0x100e048c]
cmp ecx, 0x98
jne 0x10080afc
cmp dword [ebp - 0x80], 0
jne 0x10081eb4
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edi + 0x20]
mov dword [edi + 0x5c], 1
test ecx, ecx
je 0x10080aca
mov edi, edi
mov byte [edx], 0x9a
movzx eax, byte [ecx + 5]
mov byte [edx + 1], al
movzx eax, byte [ecx + 4]
mov byte [edx + 2], al
mov ecx, dword [ecx]
add edx, 3
test ecx, ecx
jne 0x10080ab0
cmp dword [edi + 0x4c], 0
setg al
add al, 0x98
mov byte [edx], al
inc edx
cmp dword [ebp - 0x94], 0xfffffffe
mov dword [ebp - 0x5c], edx
jne 0x10080b7a
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x94], 0xffffffff
inc ebx
jmp 0x1007df36
mov ebx, dword [ebp - 0x80]
test ebx, ebx
jne 0x10080b30
test ecx, ecx
js 0x10081ec5
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x60]
mov al, cl
mov byte [edx], al
inc edx
mov dword [ebp - 0x5c], edx
cmp al, 0x94
jne 0x10080b7a
mov ebx, dword [ebp - 0x58]
or dword [edi + 0x54], 0x1000
mov esi, dword [ebp - 0x70]
inc ebx
jmp 0x1007df36
cmp dword [eax*4 + 0x100e0490], 0
jl 0x10081eb4
mov al, byte [eax*4 + 0x100e0490]
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x60]
mov byte [ecx], al
cmp al, 0x95
jne 0x10080b58
or dword [edi + 0x54], 0x1000
push ebx
push dword [ebp - 0x64]
mov byte [ecx + 1], bl
add ecx, 2
push ecx
mov dword [ebp - 0x5c], ecx
call fcn.100a0c1c
mov edx, dword [ebp - 0x5c]
add edx, ebx
add esp, 0xc
mov byte [edx], 0
inc edx
mov dword [ebp - 0x5c], edx
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x70]
inc ebx
jmp 0x1007df36
mov ecx, dword [ebp - 0x90]
cmp dl, 0x3f
jne 0x100812ad
inc ebx
mov dword [ebp - 0x58], ebx
mov dl, byte [ebx]
movzx eax, dl
add eax, 0xffffffdf
cmp eax, 0x5b
ja case.0x10080bb1.34
movzx eax, byte [eax + 0x10082298]
jmp dword [eax*4 + 0x1008225c]
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
test al, al
je 0x10080bd0
cmp al, 0x29
je 0x10080bde
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
test al, al
jne 0x10080bc2
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x12
jmp 0x100820a6
cmp byte [ebx], 0
je 0x10080bd0
mov esi, dword [ebp - 0x70]
mov edx, dword [ebp - 0x5c]
inc ebx
jmp 0x1007df36
mov dword [ebp - 0x78], 1
mov eax, 0x7d
mov dword [ebp - 0x68], eax
jmp 0x10081615
cmp byte [ebx + 1], 0x3f
mov dword [ebp - 0x68], 0x81
jne 0x10080c2b
mov al, byte [ebx + 2]
cmp al, 0x3d
je 0x10081619
cmp al, 0x21
je 0x10081619
cmp al, 0x3c
je 0x10081619
mov esi, dword [ebp - 0x5c]
mov eax, 3
mov byte [esi + 3], 0x87
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x64], eax
mov al, byte [ebx + 1]
mov dword [ebp - 0x74], 0xffffffff
cmp al, 0x52
jne 0x10080c67
cmp byte [ebx + 2], 0x26
lea edx, [ebx + 2]
jne 0x10080c67
mov dword [ebp - 0x58], edx
mov byte [esi + 3], 0x89
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x80], 0xffffffff
jmp 0x10080ca2
cmp al, 0x3c
jne 0x10080c78
inc ebx
mov dword [ebp - 0x80], 0x3e
mov dword [ebp - 0x58], ebx
jmp 0x10080ca2
cmp al, 0x27
jne 0x10080c89
inc ebx
mov dword [ebp - 0x80], 0x27
mov dword [ebp - 0x58], ebx
jmp 0x10080ca2
mov dword [ebp - 0x80], 0
cmp al, 0x2d
je 0x10080c98
cmp al, 0x2b
jne 0x10080ca2
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov dword [ebp - 0x74], eax
movzx eax, byte [ebx + 1]
mov esi, dword [edi + 0xc]
inc ebx
test byte [eax + esi], 0x10
je 0x10081f3f
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
movzx edx, al
xor ecx, ecx
test byte [esi + edx], 0x10
mov edi, ebx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x84], edi
je 0x10080d07
test ecx, ecx
js 0x10080cec
cmp al, 0x30
jb 0x10080ce9
cmp al, 0x39
ja 0x10080ce9
lea eax, [ecx + ecx*4]
lea ecx, [eax - 0x18]
lea ecx, [edx + ecx*2]
jmp 0x10080cec
or ecx, 0xffffffff
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
movzx edx, al
test byte [esi + edx], 0x10
jne 0x10080cd2
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x9c], ecx
mov esi, dword [ebp - 0x80]
mov edx, ebx
sub edx, edi
mov dword [ebp - 0x88], edx
test esi, esi
jle 0x10080d27
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x58], ebx
cmp eax, esi
jne 0x10081f30
mov al, byte [ebx]
inc ebx
mov dword [ebp - 0x58], ebx
cmp al, 0x29
jne 0x10081f30
cmp dword [ebp - 0xa4], 0
jne 0x10081619
mov eax, dword [ebp - 0x74]
test eax, eax
jle 0x10080d8d
test ecx, ecx
jle 0x10081ef5
cmp eax, 0x2d
mov eax, dword [ebp - 0x60]
jne 0x10080d66
mov eax, dword [eax + 0x38]
sub eax, ecx
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x60]
jmp 0x10080d69
add ecx, dword [eax + 0x38]
test ecx, ecx
jle 0x100814c3
cmp ecx, dword [eax + 0x3c]
jg 0x100814c3
mov edx, dword [ebp - 0x5c]
mov eax, ecx
sar eax, 8
mov byte [edx + 4], al
mov byte [edx + 5], cl
jmp 0x10081619
mov ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x84]
mov esi, dword [ecx + 0x28]
xor edi, edi
cmp edi, dword [ecx + 0x2c]
jge 0x10080df2
push edx
lea eax, [esi + 2]
push eax
push ebx
call dword [0x100a1194]
mov ecx, dword [ebp - 0x60]
add esp, 0xc
test eax, eax
je 0x10080dc5
add esi, dword [ecx + 0x30]
mov edx, dword [ebp - 0x88]
inc edi
cmp edi, dword [ecx + 0x2c]
jl 0x10080da0
mov edx, dword [ebp - 0x88]
cmp edi, dword [ecx + 0x2c]
jge 0x10080df2
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
mov edx, dword [ebp - 0x5c]
shl eax, 8
or ecx, eax
mov eax, ecx
sar eax, 8
inc byte [edx + 3]
mov byte [edx + 4], al
mov byte [edx + 5], cl
jmp 0x10081619
mov eax, dword [ebp - 0x90]
push dword [ebp - 0x8c]
shr eax, 3
and eax, 1
push eax
push edx
mov edx, ebx
call fcn.1007c130
add esp, 0xc
test eax, eax
jle 0x10080e2a
mov edx, dword [ebp - 0x5c]
mov ecx, eax
sar ecx, 8
inc byte [edx + 3]
mov byte [edx + 4], cl
mov byte [edx + 5], al
jmp 0x10081619
cmp dword [ebp - 0x80], 0
jne 0x10081f1f
cmp byte [ebx], 0x52
jne 0x10080e94
mov esi, dword [ebp - 0x88]
xor ecx, ecx
lea edx, [ecx + 1]
cmp esi, edx
jle 0x10080e78
jmp 0x10080e50
mov al, byte [edx + ebx]
cmp al, 0x30
jb 0x10081f1f
cmp al, 0x39
ja 0x10081f1f
lea ecx, [ecx + ecx*4]
movzx eax, al
lea ecx, [ecx - 0x18]
inc edx
lea ecx, [eax + ecx*2]
cmp edx, esi
jl 0x10080e50
test ecx, ecx
jne 0x10080e7d
mov ecx, 0xffff
mov edx, dword [ebp - 0x5c]
mov eax, ecx
sar eax, 8
mov byte [edx + 3], 0x89
mov byte [edx + 4], al
mov byte [edx + 5], cl
jmp 0x10081619
cmp dword [ebp - 0x88], 6
jne 0x10080ec1
push 6
push str.DEFINE
push ebx
call dword [0x100a1194]
add esp, 0xc
test eax, eax
jne 0x10080ec1
mov edx, dword [ebp - 0x5c]
mov byte [edx + 3], 0x8b
lea edx, [eax + 1]
jmp 0x1008161c
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
jle 0x10081f03
mov eax, dword [ebp - 0x60]
cmp ecx, dword [eax + 0x3c]
jg 0x10081f03
mov edx, dword [ebp - 0x5c]
mov eax, ecx
sar eax, 8
mov byte [edx + 4], al
mov byte [edx + 5], cl
jmp 0x10081619
inc dword [edi + 0x4c]
mov eax, 0x77
mov dword [ebp - 0x68], eax
jmp 0x10081615
inc ebx
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x29
jne 0x10080f28
mov edx, dword [ebp - 0x5c]
inc edx
mov byte [edx - 1], 0x97
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x84], 0
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x70]
inc ebx
jmp 0x1007df36
inc dword [edi + 0x4c]
mov dword [ebp - 0x68], 0x78
jmp 0x10081619
mov cl, byte [ebx + 1]
mov al, cl
cmp al, 0x21
je 0x10080ff8
cmp al, 0x3d
je 0x10080fe6
mov eax, dword [edi + 0xc]
movzx ecx, cl
test byte [ecx + eax], 0x10
je 0x10081f4d
mov ecx, dword [edi + 0xc]
cmp dl, 0x3c
mov eax, 0x3e
mov esi, 0x27
cmove esi, eax
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov edx, ebx
test byte [eax + ecx], 0x10
mov dword [ebp - 0x84], edx
je 0x10080f91
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x10080f84
mov ecx, ebx
sub ecx, edx
cmp dword [ebp - 0xa4], 0
mov dword [ebp - 0x9c], ecx
je 0x100810d4
movzx eax, byte [ebx]
cmp eax, esi
jne 0x10081f86
cmp dword [edi + 0x2c], 0x2710
jge 0x10081f78
lea eax, [ecx + 3]
cmp eax, dword [edi + 0x30]
jle 0x10081268
mov dword [edi + 0x30], eax
cmp ecx, 0x20
jle 0x10081268
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x30
jmp 0x100820a6
inc dword [edi + 0x4c]
mov dword [ebp - 0x68], 0x79
add ebx, 2
jmp 0x10081616
inc dword [edi + 0x4c]
mov dword [ebp - 0x68], 0x7a
add ebx, 2
jmp 0x10081616
mov dword [ebp - 0x68], 0x7b
jmp 0x10081615
mov edx, dword [ebp - 0x5c]
mov eax, 1
mov byte [edx], 0x70
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
xor ecx, ecx
mov dword [ebp - 0xb8], edx
cmp al, 0x30
jb 0x1008105a
lea esp, [esp]
cmp al, 0x39
ja 0x1008105a
lea ecx, [ecx + ecx*4]
movzx eax, al
inc ebx
lea ecx, [ecx - 0x18]
mov dword [ebp - 0x58], ebx
lea ecx, [eax + ecx*2]
mov al, byte [ebx]
cmp al, 0x30
jae 0x10081040
cmp byte [ebx], 0x29
jne 0x10081f6a
cmp ecx, 0xff
jg 0x10081f5c
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x58]
sub eax, dword [edi + 0x18]
inc eax
sar eax, 8
mov byte [edx + 2], al
mov al, byte [ebp - 0x58]
sub al, byte [edi + 0x18]
mov word [edx + 4], 0
inc al
mov byte [edx + 3], al
add edx, 6
jmp 0x10080f0f
inc ebx
mov dword [ebp - 0x58], ebx
mov dl, byte [ebx]
cmp dl, 0x3d
je 0x100810bf
cmp dl, 0x3e
je 0x100810bf
cmp dl, 0x3c
je case.0x10080bb1.39
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x29
jmp 0x100820a6
xor eax, eax
cmp dl, 0x3e
sete al
mov edi, 0x29
mov dword [ebp - 0x80], eax
jmp 0x10081901
mov edi, dword [edi + 0x28]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x74], eax
test eax, eax
jle 0x100811f1
jmp 0x10081100
mov esi, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
lea edx, [edi + 2]
sub esi, 4
jb 0x10081125
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1008112a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10081114
cmp esi, 0xfffffffc
je 0x1008115e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10081157
cmp esi, 0xfffffffd
je 0x1008115e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10081157
cmp esi, 0xfffffffe
je 0x1008115e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10081157
cmp esi, 0xffffffff
je 0x1008115e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1008115e
sbb eax, eax
or eax, 1
jmp 0x10081160
xor eax, eax
test eax, eax
jne 0x100811a1
mov eax, dword [ebp - 0x9c]
cmp byte [edi + eax + 2], 0
jne 0x100811c4
movzx eax, byte [edi]
movzx ecx, byte [edi + 1]
shl eax, 8
or ecx, eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x38]
inc eax
cmp ecx, eax
je 0x10081198
test dword [ebp - 0x90], 0x80000
je 0x10081f94
mov dword [ebp - 0x64], 1
jmp 0x100811a3
js 0x100811c4
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x88]
add edi, dword [ecx + 0x30]
inc eax
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x88], eax
cmp eax, dword [ebp - 0x74]
jl 0x10081100
jmp 0x100811ea
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x74]
mov eax, dword [eax + 0x30]
sub edx, dword [ebp - 0x88]
imul edx, eax
push edx
add eax, edi
push edi
push eax
call dword [0x100a119c]
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x60]
add esp, 0xc
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x10081233
mov edi, dword [ecx + 0x2c]
mov edx, dword [ecx + 0x28]
xor esi, esi
test edi, edi
jle 0x10081230
mov eax, dword [ebp - 0x80]
cmp edx, eax
je 0x10081227
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x38]
inc eax
cmp ecx, eax
je 0x10081fa2
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x60]
jmp 0x10081228
dec esi
add edx, dword [ecx + 0x30]
inc esi
cmp esi, edi
jl 0x10081200
mov edi, dword [ebp - 0x80]
mov eax, dword [ecx + 0x38]
mov ebx, dword [ebp - 0x9c]
inc eax
sar eax, 8
mov byte [edi], al
mov al, byte [ecx + 0x38]
inc al
push ebx
push dword [ebp - 0x84]
mov byte [edi + 1], al
lea eax, [edi + 2]
push eax
call fcn.100a0c1c
mov byte [edi + ebx + 2], 0
mov ebx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x60]
add esp, 0xc
inc dword [edi + 0x2c]
inc ebx
mov dword [ebp - 0x58], ebx
inc dword [edi + 0x38]
mov eax, dword [edi + 0x38]
mov edx, dword [ebp - 0x5c]
sar eax, 8
mov byte [edx + 3], al
mov al, byte [edi + 0x38]
mov byte [edx + 4], al
mov edx, 2
jmp 0x1008161c
mov edi, 0x29
mov dword [ebp - 0x80], 1
jmp 0x10081901
inc ebx
mov dword [ebp - 0x58], ebx
mov edi, 0x29
jmp 0x1008144b
test ecx, 0x1000
je 0x1008126f
mov dword [ebp - 0x68], 0x7d
jmp 0x10081619
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x6c]
push 0
push dword [ebp - 0x90]
lea ecx, [ebp - 0x58]
push dword [edi + 0x38]
mov dword [ebp - 0xdc], ebx
call fcn.1007b420
mov edx, dword [ebp - 0x6c]
add esp, 0xc
cmp dword [edx], 0
mov ecx, eax
jne 0x10081e1e
test ecx, ecx
jns 0x10081d10
mov ebx, ecx
neg ebx
cmp ebx, 0x1a
jne 0x10081330
mov ebx, dword [ebp - 0x58]
cmp byte [ebx + 1], 0x5c
jne 0x1008131d
cmp byte [ebx + 2], 0x45
jne 0x1008131d
mov edx, dword [ebp - 0x5c]
add ebx, 2
inc ebx
jmp 0x1007df36
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xac], 1
inc ebx
jmp 0x1007df36
cmp ebx, 0x19
je 0x10081bfe
mov eax, dword [ebp - 0x94]
cmp eax, 0xfffffffe
jne 0x1008135a
cmp ebx, 5
jle 0x1008135a
cmp ebx, 0x17
mov esi, 0xffffffff
cmovl eax, esi
mov dword [ebp - 0x94], eax
mov edi, dword [ebp - 0xa8]
mov esi, eax
mov dword [ebp - 0x7c], edi
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x70], esi
cmp ebx, 0x1b
jne 0x100818b0
mov ebx, dword [ebp - 0x58]
mov eax, dword [edi + 0x24]
inc ebx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x3c
mov eax, 0x3e
mov edi, 0x27
cmove edi, eax
xor eax, eax
lea ecx, [ebx + 1]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x78], eax
mov al, byte [ecx]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x80], ecx
cmp al, 0x2b
je 0x10081414
cmp al, 0x2d
je 0x10081414
mov edx, ecx
mov esi, 1
mov al, byte [edx]
test al, al
je 0x100813e9
mov ebx, dword [ebp - 0x60]
nop
movzx ecx, al
cmp ecx, edi
je 0x100813e3
mov eax, dword [ebx + 0xc]
mov al, byte [ecx + eax]
test al, 4
mov ecx, 0
cmove esi, ecx
test al, 0x10
je 0x100813e3
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x100813c0
mov ebx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x80]
movzx eax, byte [edx]
cmp eax, edi
je 0x10081408
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x39
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
inc ebx
jmp 0x1007df36
test esi, esi
je 0x10081293
mov ebx, ecx
jmp 0x10081448
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x30
jb 0x1008142c
mov edi, edi
cmp al, 0x39
ja 0x1008142c
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jae 0x10081420
movzx eax, byte [ecx]
cmp eax, edi
je 0x10081445
mov edi, dword [ebp - 0x60]
mov dword [edx], 0x39
mov edx, dword [ebp - 0x5c]
inc ebx
jmp 0x1007df36
mov ebx, dword [ebp - 0x80]
mov dword [ebp - 0x58], ebx
mov dl, byte [ebx]
movzx esi, dl
cmp esi, 0x2b
jne 0x100814d1
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x10081fb0
cmp al, 0x39
ja 0x10081fb0
mov al, byte [ebx]
xor ecx, ecx
mov dword [ebp - 0x74], ecx
cmp al, 0x30
jb 0x10081493
cmp al, 0x39
ja 0x10081490
lea ecx, [ecx + ecx*4]
movzx eax, al
inc ebx
lea ecx, [ecx - 0x18]
mov dword [ebp - 0x58], ebx
lea ecx, [eax + ecx*2]
mov al, byte [ebx]
cmp al, 0x30
jae 0x10081476
mov dword [ebp - 0x74], ecx
movzx eax, byte [ebx]
cmp eax, edi
jne 0x10081ffd
cmp esi, 0x2d
jne 0x10081891
test ecx, ecx
je 0x10081ef5
mov edi, dword [ebp - 0x60]
mov edx, dword [edi + 0x38]
sub edx, ecx
inc edx
mov dword [ebp - 0x74], edx
test edx, edx
jg 0x10081a90
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0xf
jmp 0x100820a6
cmp esi, 0x2d
jne 0x1008146b
mov al, byte [ebx + 1]
cmp al, 0x30
jb 0x100814e7
cmp al, 0x39
ja 0x100814e7
inc ebx
mov dword [ebp - 0x58], ebx
jmp 0x1008146b
mov edi, dword [ebp - 0x60]
xor eax, eax
xor esi, esi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x80], esi
lea ecx, [ebp - 0x80]
cmp dl, 0x29
je 0x1008156f
cmp dl, 0x3a
je 0x10081566
movzx eax, dl
inc ebx
sub eax, 0x2d
mov dword [ebp - 0x58], ebx
cmp eax, 0x4b
ja case.0x10081522.46
movzx eax, byte [eax + 0x10082318]
jmp dword [eax*4 + 0x100822f4]
lea ecx, [ebp - 0x88]
jmp 0x1008155f
or dword [ecx], 0x80000
or dword [edi + 0x54], 0x400
jmp 0x1008155f
or dword [ecx], 1
jmp 0x1008155f
or dword [ecx], 2
jmp 0x1008155f
or dword [ecx], 4
jmp 0x1008155f
or dword [ecx], 8
jmp 0x1008155f
or dword [ecx], 0x200
jmp 0x1008155f
or dword [ecx], 0x40
mov dl, byte [ebx]
cmp dl, 0x29
jne 0x10081503
mov esi, dword [ebp - 0x80]
mov eax, dword [ebp - 0x88]
or esi, dword [ebp - 0x90]
not eax
and esi, eax
cmp byte [ebx], 0x29
mov dword [ebp - 0xbc], esi
jne 0x1008160e
mov eax, dword [edi + 0x14]
mov edx, dword [ebp - 0x5c]
add eax, 3
cmp edx, eax
jne 0x100815c8
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x100815a4
cmp dword [eax], 6
jne 0x100815c8
mov eax, dword [ebp - 0x118]
mov dword [edi + 0x50], esi
mov dword [ebp - 0x90], esi
mov dword [eax], esi
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x84], 0
inc ebx
jmp 0x1007df36
mov eax, esi
shr eax, 9
and eax, 1
mov dword [ebp - 0x108], eax
xor eax, 1
mov dword [ebp - 0xfc], eax
mov eax, esi
and eax, 1
shl eax, 0x1c
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x90], esi
mov dword [eax], esi
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x84], 0
inc ebx
jmp 0x1007df36
mov dword [ebp - 0x68], 0x7d
inc ebx
mov dword [ebp - 0x58], ebx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x68]
mov byte [eax], bl
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xcc], 0
mov edi, dword [eax + 0x58]
mov esi, dword [eax + 0x38]
cmp ebx, 0x79
je 0x10081651
cmp ebx, 0x7a
je 0x10081651
xor ecx, ecx
jmp 0x10081656
mov ecx, 1
cmp dword [ebp - 0xa4], 0
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xec], 0
cmove eax, dword [ebp - 0xec]
push eax
push dword [ebp - 0x60]
lea eax, [ebp - 0xd8]
push dword [ebp - 0xf8]
push eax
lea eax, [ebp - 0xe0]
push eax
xor eax, eax
cmp ebx, 0x81
sete al
add eax, dword [ebp + 0x1c]
push eax
push edx
push dword [ebp - 0x78]
lea eax, [ebp - 0x58]
push ecx
push dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xbc]
push eax
lea edx, [ebp - 0x98]
call fcn.10082370
add esp, 0x2c
test eax, eax
je 0x10081e1e
mov eax, dword [ebp - 0x68]
cmp eax, 0x7b
jne 0x10081751
mov eax, dword [ebp - 0x60]
cmp dword [eax + 0x38], esi
jg 0x100816dd
mov eax, dword [ebp - 0x5c]
mov byte [eax], 0x7c
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0x58]
cmp byte [ebx], 0x29
jne 0x10081fef
mov esi, dword [ebp - 0xa4]
test esi, esi
je 0x100817d9
mov edx, dword [esi]
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
sub ecx, edx
lea eax, [esi - 6]
cmp ecx, eax
jl 0x10081e07
mov ecx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x60]
lea eax, [esi - 6]
mov esi, dword [ebp - 0x70]
add eax, edx
mov edx, dword [ebp - 0x5c]
mov dword [ecx], eax
mov dword [edx + 1], 0x720300
mov byte [edx + 5], 3
mov ebx, dword [ebp - 0x58]
add edx, 6
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
cmp eax, 0x77
jl 0x10081761
cmp eax, 0x7a
jg 0x10081761
mov ecx, dword [ebp - 0x60]
dec dword [ecx + 0x4c]
cmp eax, 0x81
jne 0x100816dd
cmp dword [ebp - 0xa4], 0
jne 0x100816dd
mov ebx, dword [ebp - 0x5c]
mov edx, ebx
xor esi, esi
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
inc esi
cmp byte [edx], 0x72
jne 0x10081780
cmp byte [ebx + 3], 0x8b
jne 0x100817ae
cmp esi, 1
jg 0x10081fcd
mov edx, 0x8b
jmp 0x100816e0
cmp esi, 2
jg 0x10081fde
cmp esi, 1
jne 0x100816dd
mov edx, dword [ebp - 0x68]
or eax, 0xffffffff
or ecx, eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xe0], ecx
jmp 0x100816ec
mov esi, dword [ebp - 0x98]
mov dword [ebp - 0x5c], esi
cmp edx, 0x8b
je 0x100813f9
mov esi, dword [ebp - 0xa8]
mov dword [ebp - 0x7c], esi
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0xe4], 0
cmp edx, 0x7b
jl 0x1008186e
cmp esi, 0xfffffffe
jne 0x10081842
test ecx, ecx
js 0x10081830
or esi, 0xffffffff
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0x70], esi
jmp 0x10081854
or esi, 0xffffffff
mov dword [ebp - 0x94], 0xffffffff
mov dword [ebp - 0x70], esi
jmp 0x10081854
test ecx, ecx
js 0x10081854
test eax, eax
jns 0x1008185c
mov eax, ecx
or eax, edi
mov dword [ebp - 0xd8], eax
test eax, eax
js 0x100813fc
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xa8], eax
inc ebx
jmp 0x1007df36
cmp edx, 0x77
jne 0x100813fc
test eax, eax
js 0x100813fc
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xa8], eax
inc ebx
jmp 0x1007df36
cmp esi, 0x2b
jne 0x10081a8a
test ecx, ecx
je 0x10081ef5
mov edi, dword [ebp - 0x60]
add ecx, dword [edi + 0x38]
mov dword [ebp - 0x74], ecx
jmp 0x10081a8d
cmp ebx, 0x1c
jne 0x10081bc2
mov ebx, dword [ebp - 0x58]
mov al, byte [ebx + 1]
cmp al, 0x3c
je 0x100818da
cmp al, 0x27
je 0x100818da
cmp al, 0x7b
je 0x100818da
mov dword [edx], 0x45
mov edx, dword [ebp - 0x5c]
inc ebx
jmp 0x1007df36
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
mov dword [ebp - 0x80], 0
cmp al, 0x3c
jne 0x100818f2
mov edi, 0x3e
jmp 0x10081901
cmp al, 0x27
mov edi, 0x7d
mov eax, 0x27
cmove edi, eax
mov eax, dword [ebp - 0x60]
inc ebx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov edx, ebx
test byte [eax + ecx], 0x10
mov dword [ebp - 0x88], edx
je 0x1008192d
lea esp, [esp]
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x10081920
mov ecx, ebx
sub ecx, edx
cmp dword [ebp - 0xa4], 0
mov dword [ebp - 0xbc], ecx
je 0x1008199d
test ecx, ecx
je 0x1008200b
movzx eax, byte [ebx]
cmp eax, edi
jne 0x10081f86
cmp ecx, 0x20
jg 0x10080fd8
mov eax, dword [ebp - 0x90]
push dword [ebp - 0x8c]
mov edi, dword [ebp - 0x60]
shr eax, 3
mov esi, dword [edi + 0x1c]
and eax, 1
push eax
push ecx
mov ecx, edi
mov dword [edi + 0x1c], ebx
call fcn.1007c130
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x74], edx
mov dword [edi + 0x1c], esi
test edx, edx
jns 0x10081a29
xor edx, edx
mov dword [ebp - 0x74], edx
jmp 0x10081a29
mov ebx, dword [ebp - 0x60]
xor edi, edi
mov esi, dword [ebx + 0x28]
cmp edi, dword [ebx + 0x2c]
jge 0x100819fc
lea ebx, [ebx]
push ecx
lea eax, [esi + 2]
push eax
push edx
call dword [0x100a1194]
mov ecx, dword [ebp - 0xbc]
add esp, 0xc
test eax, eax
jne 0x100819cf
cmp byte [esi + ecx + 2], al
je 0x100819de
add esi, dword [ebx + 0x30]
mov edx, dword [ebp - 0x88]
inc edi
cmp edi, dword [ebx + 0x2c]
jl 0x100819b0
mov edx, dword [ebp - 0x88]
cmp edi, dword [ebx + 0x2c]
jge 0x100819fc
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or edx, eax
mov dword [ebp - 0x74], edx
mov edi, ebx
jmp 0x10081a29
mov eax, dword [ebp - 0x90]
push dword [ebp - 0x8c]
shr eax, 3
and eax, 1
push eax
push ecx
mov edi, ebx
mov ecx, edi
call fcn.1007c130
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x74], edx
test edx, edx
jle 0x10081f1f
cmp dword [ebp - 0x80], 0
jne 0x10081a90
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x94]
cmp eax, 0xfffffffe
mov ecx, 0xffffffff
cmove eax, ecx
mov ecx, dword [ebp - 0x5c]
test byte [ebp - 0x90], 1
mov dword [ebp - 0x94], eax
setne al
add al, 0x6d
mov byte [ecx], al
mov eax, edx
sar eax, 8
mov dword [ebp - 0x84], ecx
mov byte [ecx + 1], al
mov byte [ecx + 2], dl
add ecx, 3
mov dword [ebp - 0x5c], ecx
cmp edx, 0x20
jge 0x10081bd3
mov ebx, 1
mov eax, ebx
mov ecx, edx
shl eax, cl
jmp 0x10081bda
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x74]
cmp dword [ebp - 0xa4], 0
mov esi, dword [ebp - 0x5c]
mov ebx, dword [edi + 0x14]
mov dword [ebp - 0x84], esi
jne 0x10081b78
mov byte [esi], 0
test edx, edx
je 0x10081ac7
mov ecx, dword [edi + 0x14]
push edx
mov edx, dword [ebp - 0x8c]
call fcn.1007c610
mov edx, dword [ebp - 0x74]
add esp, 4
mov ebx, eax
test ebx, ebx
jne 0x10081b43
mov eax, dword [ebp - 0x90]
push dword [ebp - 0x8c]
shr eax, 3
and eax, 1
push eax
push edx
xor edx, edx
mov ecx, edi
call fcn.1007c130
add esp, 0xc
test eax, eax
js 0x10081f1f
mov eax, dword [edi + 0x10]
mov ebx, dword [edi + 0x14]
add ebx, dword [ebp - 0x74]
add eax, 0xffffff9c
add eax, dword [edi + 0x34]
cmp dword [edi + 0x24], eax
jb 0x10081b1f
mov ecx, edi
call fcn.1007b340
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
test eax, eax
jne 0x10081e1e
mov edx, dword [ebp - 0x5c]
mov eax, dword [edi + 0x24]
mov ecx, edx
sub ecx, dword [edi + 0x14]
inc ecx
sar ecx, 8
mov byte [eax], cl
mov eax, dword [edi + 0x24]
mov cl, dl
sub cl, byte [edi + 0x14]
inc cl
mov byte [eax + 1], cl
add dword [edi + 0x24], 2
jmp 0x10081b7b
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
jne 0x10081b78
cmp dword [ebp + 0x1c], ecx
jg 0x10081b78
push edi
push dword [ebp - 0x8c]
mov edx, esi
push dword [ebp - 0xf8]
mov ecx, ebx
call fcn.1007cba0
add esp, 0xc
test eax, eax
jne 0x10082019
mov edx, dword [ebp - 0x5c]
mov byte [edx], 0x6f
mov eax, ebx
sub eax, dword [edi + 0x14]
add edx, 3
sar eax, 8
mov byte [edx - 2], al
sub bl, byte [edi + 0x14]
cmp dword [ebp - 0x94], 0xfffffffe
mov byte [edx - 1], bl
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0xe4], 0
jne 0x10080f1c
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x94], 0xffffffff
inc ebx
jmp 0x1007df36
cmp ebx, 0x23
jl 0x10081c1a
mov edx, 0xffffffdd
sub edx, ecx
jmp 0x10081a38
mov eax, 1
mov ebx, eax
or dword [edi + 0x48], eax
cmp edx, dword [edi + 0x44]
jle 0x10081be5
mov dword [edi + 0x44], edx
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x10081dc4
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x10081c0a
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10081bf0
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
inc ebx
jmp 0x1007df36
mov edx, dword [ebp - 0x5c]
mov word [ecx + 6], bx
mov ebx, dword [ebp - 0x58]
inc ebx
jmp 0x1007df36
cmp ebx, 0xf
je 0x10081cb5
cmp ebx, 0x10
je 0x10081cb5
cmp ebx, 5
je 0x10081c36
cmp ebx, 4
jne 0x10081c43
cmp dword [edi + 0x40], 0
jne 0x10081c43
mov dword [edi + 0x40], 1
cmp ebx, 0x1d
jl 0x10081c71
cmp ebx, 0x22
jg 0x10081c71
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0xc4], eax
lea eax, [ecx*4 + 0x74]
mov ebx, 0x101002f8
sub ebx, eax
mov ebx, dword [ebx]
dec ebx
inc ebx
jmp 0x1007df36
cmp ebx, 5
jle 0x10081c86
cmp ebx, 0x17
jge 0x10081c86
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x84], edx
jmp 0x10081c93
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x84], 0
cmp dword [ebp - 0x8c], 0
jne 0x10081ca6
cmp ecx, 0xfffffff2
jne 0x10081ca6
mov ebx, 0xd
mov byte [edx], bl
mov ebx, dword [ebp - 0x58]
inc edx
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
push edx
lea eax, [ebp - 0x128]
push eax
lea edx, [ebp - 0x10c]
lea ecx, [ebp - 0x58]
call fcn.1007bb50
add esp, 8
test eax, eax
js 0x10081e1e
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
cmp ebx, 0x10
sete cl
mov dword [ebp - 0x84], edx
cmp ecx, dword [ebp - 0x10c]
setne cl
add cl, 0xf
mov byte [edx], cl
mov byte [edx + 1], al
mov al, byte [ebp - 0x128]
mov byte [edx + 2], al
mov ebx, dword [ebp - 0x58]
add edx, 3
mov dword [ebp - 0x5c], edx
inc ebx
jmp 0x1007df36
cmp dword [ebp - 0x8c], 0
je 0x10081d30
cmp ecx, 0x7f
jle 0x10081d30
lea edx, [ebp - 0x2c]
call fcn.10097cd0
mov bl, byte [ebp - 0x2c]
mov esi, eax
jmp 0x1007f97d
mov bl, cl
mov byte [ebp - 0x2c], bl
mov esi, 1
jmp 0x1007f97d
mov edi, dword [ebp - 0x60]
cmp dword [ebp - 0x8c], 0
mov al, dl
mov esi, 1
mov byte [ebp - 0x2c], al
mov dword [ebp - 0x78], eax
je 0x1007f97a
cmp edx, 0xc0
jl 0x1007f97a
mov al, byte [ebx + 1]
inc ebx
and al, 0xc0
cmp al, 0x80
jne 0x1007f97a
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
inc ebx
mov byte [ebp + esi - 0x2c], al
movzx eax, byte [ebx]
and al, 0xc0
inc esi
cmp al, 0x80
je 0x10081d76
mov bl, byte [ebp - 0x2c]
jmp 0x1007f97d
movzx eax, bl
or eax, dword [ebp - 0xd0]
mov dword [ebp - 0x94], eax
cmp esi, 1
je 0x10080f1c
movzx eax, byte [edx - 1]
or eax, dword [edi + 0x58]
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0xa8], eax
inc ebx
jmp 0x1007df36
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x70]
inc ebx
jmp 0x1007df36
mov dword [ebp - 0x70], ecx
cmp esi, 1
je 0x10081de8
cmp dword [ebp - 0xd0], 0
jne 0x10080f1c
movzx eax, byte [edx - 1]
or eax, dword [edi + 0x58]
mov ebx, dword [ebp - 0x58]
or eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0xa8], eax
inc ebx
jmp 0x1007df36
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x14
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x1e
mov ebx, dword [ebp - 0x58]
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x1f
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 7
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x47
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 8
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 6
jmp 0x100820a6
cmp byte [ebx + 1], 0x3a
mov ecx, 0xd
mov eax, 0x1f
cmove eax, ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0xb
jmp 0x100820a6
mov dword [edi], 9
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x4b
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x3b
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x42
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x3c
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x3c
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x3a
jmp 0x100820a6
mov ebx, dword [ebp - 0x58]
test ecx, ecx
mov ecx, dword [ebp - 0x6c]
mov eax, 0xf
mov edx, 0x23
cmove eax, edx
mov dword [ecx], eax
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0xf
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
dec ebx
mov dword [eax], 0x1a
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x1c
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
inc ebx
mov dword [eax], 0x18
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x26
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x27
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x31
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x2a
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x2b
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x41
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x3f
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
dec ebx
mov dword [eax], 0xc
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x36
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x1b
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0xe
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x1d
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x3e
jmp 0x100820a6
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x28
jmp 0x100820a6
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x94]
mov esi, dword [ebp - 0xa4]
mov dword [edx], eax
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x124]
mov dword [edx], eax
mov eax, dword [ebp - 0x11c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x104]
mov dword [eax], ebx
test esi, esi
je 0x10082087
mov edx, dword [ebp - 0x5c]
mov ecx, dword [esi]
mov edi, dword [ebp - 0xd4]
sub dword [ebp - 0xc8], ecx
mov eax, edx
sub eax, edi
cmp dword [ebp - 0xc8], eax
jl 0x10081e07
sub ecx, edi
add ecx, edx
mov dword [esi], ecx
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0x34
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 4]
pop edi
mov dword [eax], ebx
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.1009967c
mov esp, ebp
pop ebp
ret