Function at 0x1007a902
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [0x100f51d4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x124], ecx
mov ecx, dword [ecx]
mov eax, ecx
shr eax, 0xb
and eax, 1
mov dword [ebp - 0x134], edx
mov edx, dword [edx]
mov dword [ebp - 0x90], eax
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [ebp - 0x94], ecx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x110], eax
xor eax, 1
mov dword [ebp - 0x114], eax
mov eax, ecx
mov esi, dword [ebp + 0x14]
and eax, 1
mov edi, dword [ebp + 0x30]
xor ecx, ecx
mov dword [ebp - 0x11c], ebx
mov ebx, dword [ebx]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xac], 0xfffffffe
mov dword [ebp - 0xbc], 0xfffffffe
mov dword [ebp - 0xa8], 0xfffffffe
mov dword [ebp - 0x8c], 0xfffffffe
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xdc], 0x7fffffeb
jmp 0x10077bb6
mov ecx, dword [ebp - 0xc0]
movzx eax, byte [ebx]
mov dword [ebp - 0x7c], eax
test eax, eax
jne 0x10077bd5
test ecx, ecx
je 0x10077bd5
mov ebx, ecx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov dword [ebp - 0x7c], eax
mov ecx, dword [edi + 0x10]
add ecx, dword [edi + 0x3c]
cmp dword [ebp - 0x98], 0
je 0x10077c91
lea eax, [ecx - 0x64]
cmp edx, eax
ja 0x1007b573
mov eax, dword [ebp - 0xf4]
cmp edx, eax
jae 0x10077c02
mov dword [ebp - 0x5c], eax
jmp 0x10077c05
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [ebp - 0xdc]
sub ecx, dword [ebp - 0xf4]
sub eax, edx
cmp eax, ecx
jl 0x1007b568
sub edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x5c]
add edx, eax
mov dword [ecx], edx
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x10077c75
cmp edx, dword [ebp - 0x10c]
jbe 0x10077c86
mov ebx, dword [ebp - 0x10c]
sub eax, edx
push eax
push edx
push ebx
call fcn.10097ca0
mov edx, dword [ebp - 0x5c]
mov eax, ebx
sub eax, dword [ebp - 0x80]
add esp, 0xc
add edx, eax
mov dword [ebp - 0x80], ebx
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0xf4], edx
jmp 0x10077c9a
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0xf4], edx
jmp 0x10077c9a
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xf4], edx
jmp 0x10077c9a
cmp dword [edi + 0x20], ecx
ja 0x1007b8ed
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x10077d7b
cmp ecx, 0x5c
jne 0x10077cc8
cmp byte [ebx + 1], 0x45
lea eax, [ebx + 1]
jne 0x10077cc8
mov ebx, eax
mov dword [ebp - 0xc4], 0
inc ebx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
cmp dword [ebp - 0xc4], 0
je 0x10077d58
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x10077d18
cmp dword [ebp - 0x98], 0
jne 0x10077d0e
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
sub ebx, ecx
mov ecx, dword [ebp - 0xd0]
sub ebx, dword [edi + 0x18]
mov eax, ebx
sar eax, 8
mov byte [ecx + 4], al
mov byte [ecx + 5], bl
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0xd0], 0
test dword [ebp - 0x94], 0x4000
je 0x100780c9
mov word [edx], 0xff76
mov eax, ebx
sub eax, dword [edi + 0x18]
sar eax, 8
mov byte [edx + 2], al
lea eax, [edx + 6]
sub bl, byte [edi + 0x18]
mov byte [edx + 3], bl
mov word [edx + 4], 0
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0x5c], eax
jmp 0x100780c9
cmp ecx, 0x5c
jne 0x10077d7b
cmp byte [ebx + 1], 0x51
lea eax, [ebx + 1]
jne 0x10077d7b
mov ebx, eax
mov dword [ebp - 0xc4], 1
inc ebx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov esi, dword [ebp - 0x94]
and esi, 8
mov dword [ebp - 0xa4], esi
je 0x10077e79
mov esi, dword [ebp - 0x64]
mov edi, ebx
mov eax, dword [esi + 0xc]
test byte [eax + ecx], 1
je 0x10077db4
mov edi, edi
inc ebx
mov dword [ebp - 0x58], ebx
movzx ecx, byte [ebx]
mov dword [ebp - 0x7c], ecx
test byte [eax + ecx], 1
jne 0x10077da0
mov eax, ebx
jmp 0x10077db6
mov eax, edi
cmp ecx, 0x23
jne 0x10077e62
lea ebx, [eax + 1]
mov dword [ebp - 0x58], ebx
mov dl, byte [ebx]
test dl, dl
je 0x10077e62
nop
mov ecx, dword [esi + 0x84]
mov eax, dword [esi + 0x1c]
test ecx, ecx
je 0x10077e05
cmp ebx, eax
jae 0x10077e29
push dword [ebp - 0x90]
add esi, 0x88
push esi
push eax
push ecx
push ebx
call fcn.10089160
mov ebx, dword [ebp - 0x58]
add esp, 0x14
test eax, eax
jne 0x10077e58
mov esi, dword [ebp - 0x64]
jmp 0x10077e29
mov ecx, dword [esi + 0x88]
sub eax, ecx
cmp ebx, eax
ja 0x10077e29
cmp dl, byte [esi + 0x8c]
jne 0x10077e29
cmp ecx, 1
je 0x10077e5a
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x8d]
je 0x10077e5a
inc ebx
cmp dword [ebp - 0x90], 0
mov dword [ebp - 0x58], ebx
je 0x10077e4c
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x10077e4c
mov edi, edi
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x10077e40
mov dl, byte [ebx]
test dl, dl
jne 0x10077dd0
jmp 0x10077e5f
mov ecx, dword [esi]
add ebx, ecx
mov dword [ebp - 0x58], ebx
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x5c]
cmp ebx, edi
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
ja 0x10077bb0
mov esi, dword [ebp - 0xa4]
cmp ecx, 0x28
jne 0x10077ec6
cmp byte [ebx + 1], 0x3f
jne 0x10077ef2
cmp byte [ebx + 2], 0x23
jne 0x10077ef2
add ebx, 3
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
test al, al
je 0x10077ea4
cmp al, 0x29
je 0x10077eb2
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
test al, al
jne 0x10077e96
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x12
jmp 0x1007b8f3
cmp byte [ebx], 0
je 0x10077ea4
mov edx, dword [ebp - 0x5c]
inc ebx
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
cmp ecx, 0x2a
je 0x10077f54
cmp ecx, 0x2b
je 0x10077f54
cmp ecx, 0x3f
je 0x10077f54
cmp ecx, 0x7b
jne 0x10077ef2
lea eax, [ebx + 1]
push eax
call fcn.1007d120
add esp, 4
test eax, eax
jne 0x10077f54
mov ecx, dword [ebp - 0xd0]
xor edx, edx
mov eax, dword [ebp - 0xc0]
test ecx, ecx
je 0x10077f5f
test eax, eax
jne 0x10077f5f
mov eax, dword [ebp - 0xf8]
dec dword [ebp - 0xf8]
test eax, eax
jg 0x10077f59
cmp dword [ebp - 0x98], edx
jne 0x10077f4c
mov eax, dword [ebp - 0xd0]
movzx ecx, byte [ecx + 2]
shl ecx, 8
movzx eax, byte [eax + 3]
or ecx, eax
sub ebx, ecx
mov ecx, dword [ebp - 0xd0]
sub ebx, dword [edi + 0x18]
mov eax, ebx
sar eax, 8
mov byte [ecx + 4], al
mov byte [ecx + 5], bl
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0xd0], edx
jmp 0x10077f59
mov edx, 1
mov eax, dword [ebp - 0xc0]
test dword [ebp - 0x94], 0x4000
je 0x10077fa3
test edx, edx
jne 0x10077fa3
test eax, eax
jne 0x10077fa3
mov eax, dword [ebp - 0x5c]
lea ecx, [eax + 1]
mov dword [ebp - 0xd0], eax
mov byte [eax], 0x76
mov eax, ebx
mov byte [ecx], 0xff
sub eax, dword [edi + 0x18]
sar eax, 8
mov byte [ecx + 1], al
lea eax, [ecx + 5]
sub bl, byte [edi + 0x18]
mov byte [ecx + 2], bl
mov word [ecx + 3], dx
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x7c
ja case.0x10077fb6.1
movzx eax, byte [ecx + 0x1007b944]
jmp dword [eax*4 + 0x1007b910]
test byte [ebp - 0x94], 2
mov dword [ebp - 0x80], 0
je 0x10078003
cmp dword [ebp - 0x8c], 0xfffffffe
jne 0x10077fea
mov dword [ebp - 0x8c], 0xffffffff
mov dword [ebp - 0xbc], 0xffffffff
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov byte [edx], 0x1c
inc edx
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov byte [edx], 0x1b
inc edx
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
test byte [ebp - 0x94], 2
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
setne al
add al, 0x19
mov dword [ebp - 0x80], 0
mov byte [edx], al
inc edx
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov eax, dword [ebp - 0x8c]
cmp eax, 0xfffffffe
jne 0x1007805b
or eax, 0xffffffff
mov dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x94]
shr eax, 2
mov dword [ebp - 0xd8], ecx
and al, 1
mov ecx, dword [edi + 0x20]
or al, 0xc
sub ecx, dword [edi + 0x10]
mov byte [edx], al
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x80], edx
inc edx
inc ebx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
test dword [edi + 0x60], 0x2000000
jne 0x1007b584
mov esi, dword [ebp - 0x60]
cmp dword [ebp - 0x90], 0
mov ecx, 1
mov eax, dword [ebp - 0x7c]
mov byte [ebp - 0x2c], al
je 0x10078105
cmp eax, 0xc0
jb 0x10078105
mov al, byte [ebx + 1]
inc ebx
and al, 0xc0
cmp al, 0x80
jne 0x10078105
mov edi, edi
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
inc ebx
mov byte [ebp + ecx - 0x2c], al
inc ecx
movzx eax, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x100780f0
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
mov ebx, dword [ebp - 0x5c]
test byte [ebp - 0x94], 1
mov dword [ebp - 0x9c], eax
setne al
mov dword [ebp - 0x80], ebx
add al, 0x1d
xor edx, edx
mov byte [ebx], al
inc ebx
mov dword [ebp - 0x5c], ebx
test ecx, ecx
je 0x1007813f
nop
mov al, byte [ebp + edx - 0x2c]
inc edx
mov byte [ebx], al
inc ebx
cmp edx, ecx
jb 0x10078130
mov dword [ebp - 0x5c], ebx
mov al, byte [ebp - 0x2c]
cmp al, 0xd
je 0x1007814a
cmp al, 0xa
jne 0x10078151
or dword [edi + 0x64], 0x800
mov edx, dword [ebp - 0x8c]
cmp edx, 0xfffffffe
jne 0x1007b4f9
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xac], edx
cmp ecx, 1
je 0x1007b4b9
cmp dword [ebp - 0xec], 0
je 0x1007b4b9
mov ebx, dword [ebp - 0x58]
or eax, 0xffffffff
mov edx, dword [ebp - 0x5c]
inc ebx
mov dword [ebp - 0xa8], 0xffffffff
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
push 6
push 0x100d2ba8
inc ebx
push ebx
call fcn.1009e330
add esp, 0xc
test eax, eax
jne 0x100781ee
mov ecx, dword [ebp - 0x58]
mov ebx, str._b__w_
mov edx, dword [ebp - 0x5c]
add ecx, 7
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb6
mov eax, dword [ebp - 0x58]
push 6
inc eax
push str._:_:__
push eax
call fcn.1009e330
add esp, 0xc
test eax, eax
jne 0x10078225
mov ecx, dword [ebp - 0x58]
mov ebx, str._b___w_
mov edx, dword [ebp - 0x5c]
add ecx, 7
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb6
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x80], esi
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x10078249
cmp al, 0x2e
je 0x10078249
cmp al, 0x3d
jne 0x10078264
lea eax, [ebp - 0xe4]
push eax
push ebx
call fcn.10077150
mov ebx, dword [ebp - 0x58]
add esp, 8
test eax, eax
jne 0x1007b602
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
lea esp, [esp]
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov dword [ebp - 0x78], eax
cmp eax, 0x5c
jne 0x100782ab
cmp byte [ebx + 1], 0x45
lea eax, [ebx + 1]
jne 0x1007828c
mov ebx, eax
jmp 0x10078270
push 3
push 0x100d2bb8
push eax
call fcn.1009e330
mov ebx, dword [ebp - 0x58]
add esp, 0xc
test eax, eax
jne 0x100782c1
mov ecx, dword [ebp - 0x7c]
add ebx, 3
jmp 0x10078270
test ecx, ecx
jne 0x1007836c
cmp eax, 0x5e
jne 0x1007836c
lea ecx, [eax - 0x5d]
jmp 0x10078266
mov eax, dword [ebp - 0x78]
xor ecx, ecx
lea edx, [esi + 4]
xor esi, esi
mov dword [ebp - 0x70], ecx
xor edi, edi
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ecx
test eax, eax
je 0x1007b5f4
jmp 0x10078310
cmp dword [ebp - 0x90], 0
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xcc], edi
je 0x10078493
cmp eax, 0xc0
jb 0x10078493
movzx eax, byte [ebx]
mov dword [ebp - 0x78], eax
cmp eax, 0xc0
jb 0x10078493
test al, 0x20
jne 0x100783ca
mov ecx, dword [ebp - 0x78]
inc ebx
and ecx, 0x1f
shl ecx, 6
movzx eax, byte [ebx]
and eax, 0x3f
or eax, ecx
jmp 0x1007848d
cmp eax, 0x5d
jne 0x100782c4
test dword [edi + 0x60], 0x2000000
je 0x100782c4
mov edx, dword [ebp - 0x5c]
neg ecx
mov eax, dword [ebp - 0x8c]
sbb cl, cl
and cl, 0x70
add cl, 0x9d
mov byte [edx], cl
inc edx
mov dword [ebp - 0x5c], edx
cmp eax, 0xfffffffe
jne 0x100783a9
or eax, 0xffffffff
mov dword [ebp - 0x8c], eax
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xc8]
inc ebx
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
movzx ecx, byte [ebx + 1]
and ecx, 0x3f
test al, 0x10
jne 0x100783f1
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 0x1007848a
test al, 8
jne 0x1007841a
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 0x1007848a
test al, 4
jne 0x1007844f
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 0x1007848a
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 edx, dword [ebp - 0x68]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x58], ebx
mov ecx, dword [ebp - 0x74]
cmp edx, ecx
jbe 0x100784a4
mov dword [ebp - 0xbc], 1
cmp dword [ebp - 0x98], 0
mov esi, dword [ebp - 0x84]
je 0x100784cf
cmp edx, ecx
jbe 0x100784cf
mov esi, dword [ebp - 0x98]
sub edx, ecx
add dword [esi], edx
mov edx, ecx
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0xc4], 0
je 0x100784ff
cmp eax, 0x5c
jne 0x1007890c
cmp byte [ebx + 1], 0x45
lea eax, [ebx + 1]
jne 0x1007890c
mov dword [ebp - 0xc4], 0
mov ebx, eax
jmp 0x10078c4d
cmp eax, 0x5b
jne 0x1007869f
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x1007851b
cmp al, 0x2e
je 0x1007851b
cmp al, 0x3d
jne 0x1007890c
lea eax, [ebp - 0xe4]
push eax
push ebx
call fcn.10077150
mov ebx, dword [ebp - 0x58]
add esp, 8
test eax, eax
je 0x1007890c
cmp byte [ebx + 1], 0x3a
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 8]
mov dword [ebp - 0xa4], eax
jne 0x1007b592
lea ecx, [ebx + 2]
mov dword [ebp - 0x58], ecx
mov al, byte [ecx]
mov dword [ebp - 0x88], ecx
mov byte [ebp - 0xb1], al
cmp al, 0x5e
jne 0x10078575
inc ecx
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x58], ecx
mov ebx, dword [ebp - 0xe4]
mov edi, str.alpha
sub ebx, ecx
xor esi, esi
movzx eax, byte [esi + 0x100d27e8]
cmp ebx, eax
jne 0x100785a4
push ebx
push edi
push ecx
call fcn.1009e330
add esp, 0xc
test eax, eax
je 0x100785c9
mov ecx, dword [ebp - 0x88]
movzx eax, byte [esi + 0x100d27e8]
inc edi
inc esi
add edi, eax
cmp byte [esi + 0x100d27e8], 0
jne 0x10078584
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x1e
mov ebx, dword [ebp - 0x58]
jmp 0x1007b8f3
test esi, esi
js 0x100785b8
test byte [ebp - 0x94], 1
je 0x100785e1
xor eax, eax
cmp esi, 2
setle al
dec eax
and esi, eax
mov edx, dword [ebp - 0xa4]
lea eax, [esi + esi*2]
mov esi, dword [eax*4 + 0x100d27f8]
lea edi, [ebp - 0x54]
add esi, edx
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax*4 + 0x100d27fc]
mov esi, dword [eax*4 + 0x100d2800]
test ecx, ecx
js 0x10078635
add edx, ecx
xor ecx, ecx
test esi, esi
js 0x10078626
mov al, byte [edx + ecx]
or byte [ebp + ecx - 0x54], al
inc ecx
cmp ecx, 0x20
jb 0x10078617
jmp 0x10078635
mov al, byte [edx + ecx]
not al
and byte [ebp + ecx - 0x54], al
inc ecx
cmp ecx, 0x20
jb 0x10078626
test esi, esi
jns 0x1007863b
neg esi
cmp esi, 1
jne 0x10078646
and byte [ebp - 0x53], 0xc3
jmp 0x1007864f
cmp esi, 2
jne 0x1007864f
and byte [ebp - 0x49], 0x7f
xor ecx, ecx
cmp byte [ebp - 0xb1], 0x5e
jne 0x10078672
lea ebx, [ebx]
mov al, byte [ebp + ecx - 0x54]
not al
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jb 0x10078660
jmp 0x10078680
mov al, byte [ebp + ecx - 0x54]
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jb 0x10078672
mov ebx, dword [ebp - 0xe4]
mov esi, 2
mov edx, dword [ebp - 0x68]
inc ebx
mov edi, 1
mov dword [ebp - 0x84], esi
jmp 0x10078c4a
cmp eax, 0x5c
jne 0x1007890c
mov ebx, dword [ebp - 0x64]
lea eax, [ebp - 0x104]
push 1
push dword [ebp - 0x94]
push dword [ebx + 0x40]
push dword [ebp - 0x60]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10076940
mov ecx, dword [ebp - 0x60]
add esp, 0x18
cmp dword [ecx], 0
jne 0x100785c1
test eax, eax
jne 0x100786ed
mov ecx, dword [ebp - 0x104]
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x78], ecx
jmp 0x1007890f
cmp eax, 5
jne 0x10078702
mov ebx, dword [ebp - 0x58]
mov ecx, 8
mov dword [ebp - 0x78], ecx
jmp 0x1007890f
cmp eax, 0xc
je 0x1007b5b9
cmp eax, 0x1a
jne 0x1007873c
mov ebx, dword [ebp - 0x58]
cmp byte [ebx + 1], 0x5c
jne 0x1007872a
cmp byte [ebx + 2], 0x45
jne 0x1007872a
mov edx, dword [ebp - 0x68]
add ebx, 2
jmp 0x10078c4a
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0xc4], 1
jmp 0x10078c4a
cmp eax, 0x19
je 0x10078775
add dword [ebp - 0x84], 2
add eax, 0xfffffffa
mov esi, dword [ebx + 8]
inc edi
cmp eax, 0xf
ja case.0x10078758.12
jmp dword [eax*4 + 0x1007b9c4]
xor ecx, ecx
mov al, byte [esi + ecx + 0x40]
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jb 0x10078761
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
jmp 0x10078c47
mov dword [ebp - 0x70], 1
xor ecx, ecx
mov al, byte [esi + ecx + 0x40]
not al
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jb 0x10078786
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
jmp 0x10078c47
xor ecx, ecx
jmp 0x100787b0
mov al, byte [esi + ecx + 0xa0]
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jb 0x100787b0
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
jmp 0x10078c47
mov dword [ebp - 0x70], 1
xor ecx, ecx
jmp 0x100787e0
mov al, byte [esi + ecx + 0xa0]
not al
or byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jb 0x100787e0
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
jmp 0x10078c47
lea eax, [ebp - 0x24]
xor edx, edx
sub esi, eax
lea ecx, [ebp - 0x24]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
or byte [ecx], al
cmp edx, 0x20
jb 0x10078808
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
jmp 0x10078c47
lea eax, [ebp - 0x24]
mov dword [ebp - 0x70], 1
xor edx, edx
sub esi, eax
lea ecx, [ebp - 0x24]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
not al
or byte [ecx], al
cmp edx, 0x20
jb 0x10078834
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x68]
jmp 0x10078c47
push 0xffffffffffffffff
push 0x100d2da0
push ebx
push dword [ebp - 0x94]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10075fe0
mov esi, dword [ebp - 0x84]
add esp, 0x18
jmp 0x10078c41
push 0x100d2da0
push ebx
push dword [ebp - 0x94]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10076160
mov esi, dword [ebp - 0x84]
add esp, 0x14
jmp 0x10078c41
push 0xffffffffffffffff
push 0x100d2df0
push ebx
push dword [ebp - 0x94]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10075fe0
mov esi, dword [ebp - 0x84]
add esp, 0x18
jmp 0x10078c41
push 0x100d2df0
push ebx
push dword [ebp - 0x94]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10076160
mov esi, dword [ebp - 0x84]
add esp, 0x14
jmp 0x10078c41
test byte [ebp - 0x94], 0x40
mov ebx, dword [ebp - 0x58]
jne 0x1007b5ae
movzx ecx, byte [ebx]
mov dword [ebp - 0x78], ecx
jmp 0x1007890f
mov ecx, dword [ebp - 0x78]
cmp byte [ebx + 1], 0x5c
jne 0x10078933
cmp byte [ebx + 2], 0x45
lea eax, [ebx + 2]
jne 0x10078933
mov ebx, eax
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x58], ebx
cmp byte [ebx + 1], 0x5c
je 0x10078915
mov edx, ebx
cmp ecx, 0xd
je 0x1007893f
cmp ecx, 0xa
jne 0x1007894b
mov edi, dword [ebp - 0x64]
or dword [edi + 0x64], 0x800
jmp 0x1007894e
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0xc4]
test esi, esi
jne 0x10078bec
cmp byte [ebx + 1], 0x2d
jne 0x10078bec
lea ebx, [edx + 2]
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x5c
jne 0x100789c1
cmp byte [ebx + 1], 0x45
jne 0x10078984
add ebx, 2
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x5c
je 0x10078971
jmp 0x100789c1
cmp byte [ebx], 0x5c
jne 0x100789c1
lea esp, [esp]
cmp byte [ebx + 1], 0x51
mov eax, ebx
jne 0x100789c1
add ebx, 2
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x5c
jne 0x100789b6
cmp byte [eax + 3], 0x45
jne 0x100789b6
lea ebx, [eax + 4]
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x5c
je 0x10078990
jmp 0x100789c1
mov esi, 1
mov dword [ebp - 0xc4], esi
mov al, byte [ebx]
test al, al
je 0x10078be7
test esi, esi
jne 0x100789d7
cmp al, 0x5d
je 0x10078be7
cmp dword [ebp - 0x90], 0
movzx eax, al
mov dword [ebp - 0x88], eax
mov ecx, eax
mov dword [ebp - 0xac], eax
je 0x10078b15
cmp eax, 0xc0
jb 0x10078b15
test al, 0x20
jne 0x10078a24
movzx esi, byte [ebx + 1]
inc ebx
and eax, 0x1f
mov dword [ebp - 0x58], ebx
and esi, 0x3f
shl eax, 6
or esi, eax
mov dword [ebp - 0xac], esi
mov ecx, esi
jmp 0x10078b1b
movzx esi, byte [ebx + 1]
and esi, 0x3f
test al, 0x10
jne 0x10078a56
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
mov dword [ebp - 0xac], esi
mov ecx, esi
mov dword [ebp - 0x58], ebx
jmp 0x10078b1b
test al, 8
jne 0x10078a8d
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
mov dword [ebp - 0xac], esi
mov ecx, esi
mov dword [ebp - 0x58], ebx
jmp 0x10078b1b
test al, 4
jne 0x10078acd
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
mov dword [ebp - 0xac], esi
mov ecx, esi
mov dword [ebp - 0x58], ebx
jmp 0x10078b1b
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 dword [ebp - 0xac], esi
mov ecx, esi
mov dword [ebp - 0x58], ebx
jmp 0x10078b1b
mov esi, dword [ebp - 0x88]
cmp dword [ebp - 0xc4], 0
jne 0x10078ba1
cmp ecx, 0x5c
jne 0x10078b72
mov ebx, dword [ebp - 0x60]
lea eax, [ebp - 0xac]
push 1
push dword [ebp - 0x94]
push dword [edi + 0x40]
push ebx
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10076940
add esp, 0x18
cmp dword [ebx], 0
jne 0x100785c1
test eax, eax
je 0x10078b6a
cmp eax, 5
jne 0x1007b5c7
lea esi, [eax + 3]
jmp 0x10078b9e
mov esi, dword [ebp - 0xac]
jmp 0x10078b9e
cmp ecx, 0x5b
jne 0x10078ba1
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x10078b86
cmp al, 0x2e
je 0x10078b86
cmp al, 0x3d
jne 0x10078ba1
lea eax, [ebp - 0xe4]
push eax
push ebx
call fcn.10077150
add esp, 8
test eax, eax
jne 0x1007b5d5
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x78]
cmp esi, ecx
jb 0x1007b5e6
je 0x10078bec
mov dword [ebp - 0x84], 2
cmp esi, 0xd
je 0x10078bc2
cmp esi, 0xa
jne 0x10078bc9
or dword [edi + 0x64], 0x800
push esi
push ecx
push edi
push dword [ebp - 0x94]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10076320
mov esi, dword [ebp - 0x84]
jmp 0x10078c36
mov ebx, edx
mov dword [ebp - 0x58], ebx
mov eax, dword [ebp - 0xa4]
mov esi, eax
mov dword [ebp - 0x84], eax
cmp eax, 2
jge 0x10078c08
lea esi, [eax + 1]
mov dword [ebp - 0x84], esi
cmp dword [ebp - 0xc4], 0
jne 0x10078c20
cmp esi, 1
jne 0x10078c20
cmp byte [ebx + 1], 0x5d
je 0x10078dac
push ecx
push ecx
push edi
push dword [ebp - 0x94]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10076320
mov edi, eax
add esp, 0x18
add edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x68], edx
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x74]
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x10078c85
cmp dword [ebp - 0xc0], eax
je 0x1007b5f4
mov ebx, dword [ebp - 0xe0]
inc ebx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
mov dword [ebp - 0x78], eax
test eax, eax
je 0x1007b5f4
cmp eax, 0x5d
jne 0x10078310
cmp dword [ebp - 0xc4], 0
jne 0x10078310
mov eax, 1
cmp edx, ecx
ja 0x10078caa
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0xfffffffe
jne 0x10078cbe
or ecx, 0xffffffff
mov dword [ebp - 0x8c], ecx
mov ebx, dword [ebp - 0xc8]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0xd8], ebx
test eax, eax
je 0x10078e7d
mov eax, dword [ebp - 0x94]
and eax, 0x20000000
test ecx, ecx
je 0x10078d0a
test eax, eax
je 0x10078e7d
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x10078d4e
test ecx, ecx
je 0x10078d4e
cmp dword [ebp - 0x7c], 0
jne 0x10078d4e
test eax, eax
jne 0x10078d4e
mov byte [edx], 2
inc edx
mov dword [ebp - 0x68], edx
test ebx, ebx
je 0x10078d4e
push edx
push 0x100
call fcn.10089490
mov esi, dword [ebp - 0x68]
add esi, eax
push esi
push 0x10ffff
call fcn.10089490
add esp, 0x10
lea edx, [esi + eax]
mov ecx, dword [ebp - 0x5c]
lea ebx, [edx + 1]
cmp dword [ebp - 0x7c], 0
mov byte [edx], 0
setne al
mov byte [ecx], 0x70
mov byte [ecx + 3], al
test edi, edi
jle 0x10078e4f
or al, 2
lea edi, [ecx + 4]
mov byte [ecx + 3], al
mov eax, ebx
sub eax, edi
push eax
lea eax, [edi + 0x20]
push edi
push eax
call fcn.10097ca0
add esp, 0xc
cmp dword [ebp - 0x7c], 0
je 0x10078d9a
xor ecx, ecx
mov edi, edi
not byte [ebp + ecx - 0x24]
inc ecx
cmp ecx, 0x20
jb 0x10078d90
mov ecx, 8
lea esi, [ebp - 0x24]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x20]
jmp 0x10078e51
inc ebx
cmp dword [ebp - 0x7c], 0
mov dword [ebp - 0x58], ebx
je 0x10078e14
mov eax, dword [ebp - 0x8c]
cmp eax, 0xfffffffe
jne 0x10078dca
or eax, 0xffffffff
mov dword [ebp - 0x8c], eax
test byte [ebp - 0x94], 1
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xbc], eax
setne al
add al, 0x1f
cmp dword [ebp - 0x90], 0
mov byte [edx], al
lea esi, [edx + 1]
je 0x10078e07
cmp ecx, 0x7f
jbe 0x10078e07
push esi
push ecx
call fcn.10089490
add esp, 8
lea edx, [esi + eax]
mov dword [ebp - 0x5c], edx
jmp 0x10078ed2
lea edx, [esi + 1]
mov byte [esi], cl
mov dword [ebp - 0x5c], edx
jmp 0x10078ed2
cmp dword [ebp - 0x90], 0
je 0x10078e3c
cmp ecx, 0x7f
jbe 0x10078e3c
lea eax, [ebp - 0x2c]
push eax
push ecx
call fcn.10089490
mov edi, dword [ebp - 0x64]
add esp, 8
mov esi, dword [ebp - 0x60]
mov ecx, eax
jmp 0x10078105
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov byte [ebp - 0x2c], cl
mov ecx, 1
jmp 0x10078105
mov ecx, ebx
mov edx, dword [ebp - 0x80]
mov eax, ecx
mov edi, dword [ebp - 0x64]
sub eax, edx
sar eax, 8
mov dword [ebp - 0x5c], ecx
mov byte [edx + 1], al
mov al, cl
sub al, dl
mov byte [edx + 2], al
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
inc ebx
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov ebx, dword [ebp - 0x98]
test ebx, ebx
je 0x10078e8c
sub edx, dword [ebp - 0x74]
add dword [ebx], edx
mov edx, dword [ebp - 0x7c]
cmp edx, ecx
mov ecx, dword [ebp - 0x5c]
setne al
add al, 0x6e
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x5c], ecx
test ebx, ebx
jne 0x10078eca
test edx, edx
je 0x10078eba
xor ecx, ecx
lea esp, [esp]
not byte [ebp + ecx - 0x24]
inc ecx
cmp ecx, 0x20
jb 0x10078eb0
mov edi, dword [ebp - 0x5c]
lea esi, [ebp - 0x24]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x5c]
add ecx, 0x20
mov dword [ebp - 0x5c], ecx
mov edx, ecx
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0xc8]
inc ebx
mov ecx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
test edx, edx
je case.0x10077fb6.1
mov al, byte [ebx + 1]
inc ebx
xor ecx, ecx
or edi, 0xffffffff
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edi
cmp al, 0x30
jb 0x10078f49
cmp al, 0x39
ja 0x10078f49
lea ecx, [ecx + ecx*4]
movzx eax, al
lea ecx, [ecx - 0x18]
inc ebx
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x78], ecx
cmp ecx, 0xffff
jg 0x1007b61c
mov al, byte [ebx]
cmp al, 0x30
jae 0x10078f23
cmp al, 0x7d
jne 0x10078f54
mov edi, ecx
mov dword [ebp - 0x74], edi
jmp 0x10078f96
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x7d
je 0x10078f96
xor edx, edx
mov dword [ebp - 0x74], edx
cmp al, 0x30
jb 0x10078f8e
cmp al, 0x39
ja 0x10078f8b
lea edx, [edx + edx*4]
movzx eax, al
lea edx, [edx - 0x18]
inc ebx
lea edx, [eax + edx*2]
mov dword [ebp - 0x74], edx
cmp edx, 0xffff
jg 0x1007b61c
mov al, byte [ebx]
cmp al, 0x30
jae 0x10078f65
mov ecx, dword [ebp - 0x78]
cmp edx, ecx
jl 0x1007b62a
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x58], ebx
cmp dword [edi], 0
jne 0x1007b8f3
mov eax, dword [ebp - 0x74]
jmp 0x10078fcb
xor ecx, ecx
or eax, 0xffffffff
jmp 0x10078fc2
mov ecx, 1
or eax, 0xffffffff
jmp 0x10078fc2
xor ecx, ecx
mov eax, 1
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x1007b638
test ecx, ecx
jne 0x1007900a
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], edi
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0xb8], edi
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0xa8], edi
mov edi, dword [ebp - 0x64]
sub ecx, eax
neg ecx
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0xa0], edx
sbb ecx, ecx
and ecx, 2
mov dword [ebp - 0xd4], ecx
test esi, esi
je 0x100790e9
inc ebx
mov cl, byte [ebx]
mov edx, dword [edi + 0xc]
movzx eax, cl
test byte [eax + edx], 1
je 0x1007904d
mov cl, byte [ebx + 1]
inc ebx
movzx eax, cl
test byte [eax + edx], 1
jne 0x10079040
cmp cl, 0x23
jne 0x100790e5
mov dl, byte [ebx + 1]
inc ebx
test dl, dl
je 0x10079032
mov edi, edi
mov ecx, dword [edi + 0x84]
mov eax, dword [edi + 0x1c]
test ecx, ecx
je 0x10079093
cmp ebx, eax
jae 0x100790b7
push dword [ebp - 0x90]
lea esi, [edi + 0x88]
push esi
push eax
push ecx
push ebx
call fcn.10089160
add esp, 0x14
test eax, eax
je 0x100790b7
mov ecx, dword [esi]
add ebx, ecx
jmp 0x10079032
mov ecx, dword [edi + 0x88]
sub eax, ecx
cmp ebx, eax
ja 0x100790b7
cmp dl, byte [edi + 0x8c]
jne 0x100790b7
cmp ecx, 1
je 0x1007908f
mov al, byte [ebx + 1]
cmp al, byte [edi + 0x8d]
je 0x1007908f
inc ebx
cmp dword [ebp - 0x90], 0
je 0x100790da
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x100790da
lea esp, [esp]
mov al, byte [ebx + 1]
inc ebx
and al, 0xc0
cmp al, 0x80
je 0x100790d0
mov dl, byte [ebx]
test dl, dl
jne 0x10079060
jmp 0x10079032
dec ebx
mov dword [ebp - 0x58], ebx
cmp byte [ebx + 1], 0x28
jne 0x10079135
cmp byte [ebx + 2], 0x3f
jne 0x10079135
cmp byte [ebx + 3], 0x23
jne 0x10079135
add ebx, 4
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
test al, al
je 0x10077ea4
jmp 0x10079110
cmp al, 0x29
je 0x1007912c
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
test al, al
jne 0x10079110
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x12
jmp 0x1007b8f3
cmp byte [ebx], 0
je 0x10077ea4
mov cl, byte [ebx + 1]
cmp cl, 0x2b
jne 0x10079154
inc ebx
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x58], ebx
jmp 0x10079177
cmp cl, 0x3f
jne 0x1007916b
mov ecx, dword [ebp - 0x114]
inc ebx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x58], ebx
jmp 0x10079177
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x84], eax
mov esi, dword [ebp - 0x80]
cmp byte [esi], 0x75
jne 0x100791f1
push 3
lea eax, [esi + 3]
push esi
push eax
call fcn.10097ca0
add dword [ebp - 0x5c], 6
add esp, 0xc
cmp dword [ebp - 0x98], 0
mov word [esi], 0x81
mov byte [esi + 2], 6
mov word [esi + 6], 0x78
mov byte [esi + 8], 6
mov dword [ebp - 0xe8], 9
jne 0x100791ee
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x20]
add eax, 2
cmp edx, eax
jb 0x100791ee
movzx ecx, byte [edx - 2]
movzx eax, byte [edx - 1]
shl ecx, 8
or ecx, eax
mov eax, esi
sub eax, dword [edi + 0x14]
inc eax
cmp ecx, eax
jne 0x100791ee
lea eax, [ecx + 3]
shr eax, 8
add cl, 3
mov byte [edx - 2], al
mov eax, dword [edi + 0x20]
mov byte [eax - 1], cl
mov ebx, dword [ebp - 0x58]
mov dl, byte [esi]
mov byte [ebp - 0xb1], dl
cmp dl, 0x1d
je 0x100799b7
cmp dl, 0x1e
je 0x100799b7
cmp dl, 0x1f
je 0x100799b7
cmp dl, 0x20
je 0x100799b7
cmp dl, 0x17
jae 0x10079235
mov eax, 0x34
movzx esi, dl
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x68], esi
jmp 0x10079a52
cmp dl, 0x6e
je 0x100798ef
cmp dl, 0x6f
je 0x100798ef
cmp dl, 0x70
je 0x100798ef
cmp dl, 0x71
je 0x100798ef
cmp dl, 0x72
je 0x100798ef
cmp dl, 0x73
je 0x100798ef
cmp dl, 0x74
je 0x100798ef
cmp dl, 0x7d
jb 0x100798d8
cmp dl, 0x87
ja 0x100798d8
mov eax, dword [ebp - 0x5c]
sub eax, esi
mov dword [ebp - 0x7c], 0
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], esi
mov dword [ebp - 0xa4], 0
cmp dl, 0x87
jne 0x100792b6
mov ecx, dword [ebp - 0x80]
cmp byte [ecx + 3], 0x91
je 0x10079325
cmp dl, 0x81
mov edx, dword [ebp - 0x78]
jae 0x100792d8
test edx, edx
jg 0x10079325
mov ecx, dword [ebp - 0x74]
test ecx, ecx
js 0x100792ce
cmp ecx, 1
jle 0x100792db
mov ecx, 1
mov dword [ebp - 0x74], ecx
jmp 0x100792db
mov ecx, dword [ebp - 0x74]
test edx, edx
jne 0x100793ad
mov eax, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x80]
push dword [ebp - 0x9c]
mov byte [eax], dl
push edi
push dword [ebp - 0x90]
cmp ecx, 1
jg 0x10079366
push 1
push ebx
call fcn.10076450
push dword [ebp - 0x68]
lea esi, [ebx + 1]
push ebx
push esi
call fcn.10097ca0
inc dword [ebp - 0x5c]
add esp, 0x20
mov edx, dword [ebp - 0x74]
test edx, edx
jne 0x10079347
mov byte [ebx], 0xa1
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x64]
mov eax, dword [ebp - 0xd4]
or dword [edi + 0x68], eax
inc ebx
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov al, byte [ebp - 0x84]
sub al, 0x6e
mov dword [ebp - 0xa4], ebx
mov byte [ebx], al
dec edx
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x80], esi
mov esi, dword [ebp - 0x70]
jmp 0x1007952c
push 4
push ebx
call fcn.10076450
push dword [ebp - 0x68]
lea eax, [ebx + 4]
push ebx
push eax
call fcn.10097ca0
mov al, byte [ebp - 0x84]
lea edi, [ebx + 2]
mov edx, dword [ebp - 0x74]
sub al, 0x6e
add dword [ebp - 0x5c], 4
add esp, 0x20
mov byte [ebx], al
dec edx
mov byte [ebx + 1], 0x83
lea eax, [edi + 2]
mov word [edi], 0
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], eax
jmp 0x1007952c
mov ecx, dword [ebp - 0x78]
cmp ecx, 1
jle 0x10079523
cmp dword [ebp - 0x98], 0
je 0x1007940e
lea eax, [ecx - 1]
mov esi, eax
imul dword [ebp - 0xe8]
imul esi, dword [ebp - 0xe8]
test edx, edx
jg 0x1007b8c6
jl 0x100793e9
cmp eax, 0x7fffffff
ja 0x1007b8c6
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [edx]
sub eax, ecx
cmp eax, esi
jl 0x1007b8c6
lea eax, [ecx + esi]
mov ecx, dword [ebp - 0x78]
mov dword [edx], eax
jmp 0x10079520
cmp dword [ebp - 0x100], 0
je 0x10079438
cmp dword [ebp - 0xa8], 0
jge 0x10079438
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], edx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x88], 1
cmp ecx, 1
jle 0x10079523
mov esi, dword [edi + 0x10]
mov ebx, dword [ebp - 0x70]
jmp 0x10079459
mov eax, dword [ebp - 0x68]
mov edi, dword [ebp - 0x64]
mov edi, dword [edi + 0x20]
push eax
push dword [ebp - 0x80]
sub edi, esi
push dword [ebp - 0x5c]
call fcn.10096ab0
mov edx, dword [ebp - 0x64]
add esp, 0xc
mov esi, dword [edx + 0x10]
mov ecx, esi
mov eax, dword [edx + 0x3c]
sub ecx, edi
add ecx, ebx
add eax, 0xffffff9c
add eax, ecx
cmp dword [edx + 0x20], eax
jbe 0x100794b5
push edx
call fcn.1007c420
mov ecx, dword [ebp - 0x60]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x100785c1
mov edx, dword [ebp - 0x64]
mov ecx, ebx
sub ecx, edi
mov eax, dword [edx + 0x3c]
mov esi, dword [edx + 0x10]
add eax, 0xffffff9c
add ecx, esi
add eax, ecx
cmp dword [edx + 0x20], eax
ja 0x10079486
lea edx, [esi + ebx]
lea eax, [esi + edi]
cmp edx, eax
jae 0x100794f7
mov ebx, dword [ebp - 0x68]
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
mov esi, dword [ebp - 0x64]
shl ecx, 8
or ecx, eax
add ecx, ebx
mov eax, dword [esi + 0x20]
sar ecx, 8
mov byte [eax], cl
mov eax, dword [esi + 0x20]
mov cl, byte [edx + 1]
add edx, 2
add cl, bl
mov byte [eax + 1], cl
add dword [esi + 0x20], 2
mov esi, dword [esi + 0x10]
lea eax, [edi + esi]
cmp edx, eax
jb 0x100794c2
mov eax, dword [ebp - 0x5c]
mov ebx, edi
add eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x88], eax
cmp eax, ecx
jl 0x10079453
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x70]
mov edx, dword [ebp - 0x74]
test edx, edx
jle 0x1007952e
sub edx, ecx
test edx, edx
js 0x1007976c
mov edi, dword [ebp - 0x98]
test edi, edi
je 0x1007960c
test edx, edx
jle 0x1007960c
mov eax, dword [ebp - 0xe8]
add eax, 7
mov ecx, eax
imul ecx, edx
imul edx
sub ecx, 6
test edx, edx
jg 0x1007b8c6
jl 0x10079572
cmp eax, 0x7fffffff
ja 0x1007b8c6
mov eax, dword [ebp - 0xdc]
mov edx, dword [edi]
sub eax, edx
cmp eax, ecx
jl 0x1007b8c6
lea eax, [edx + ecx]
mov dword [edi], eax
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x7c]
test esi, esi
je 0x100795d5
mov ebx, ecx
mov edx, ecx
sub ebx, esi
inc ebx
sub edx, ebx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov eax, ebx
sub esi, ecx
neg ecx
sbb ecx, ecx
sar eax, 8
and esi, ecx
mov ecx, dword [ebp - 0x5c]
mov byte [ecx], 0x78
mov byte [ecx + 1], al
mov byte [ecx + 2], bl
add ecx, 3
mov dword [ebp - 0x5c], ecx
mov byte [edx + 1], al
mov byte [edx + 2], bl
test esi, esi
jne 0x10079593
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x90]
test eax, eax
je 0x10079325
mov eax, dword [ebp - 0xa0]
movzx edx, byte [eax]
lea eax, [edx - 0x1d]
cmp eax, 0x53
ja case.0x10079605.33
movzx eax, byte [eax + 0x1007ba18]
jmp dword [eax*4 + 0x1007ba04]
lea eax, [edx - 1]
mov dword [ebp - 0x74], eax
test eax, eax
js 0x10079589
mov ecx, dword [ebp - 0x64]
sub byte [ebp - 0x84], 0x6e
mov edi, dword [ecx + 0x20]
mov edx, dword [ecx + 0x10]
lea ebx, [ebx]
mov ecx, dword [ebp - 0x7c]
sub edi, edx
mov edx, dword [ebp - 0x84]
mov ebx, edi
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x88], ebx
mov byte [edi], dl
mov edx, edi
inc edx
mov dword [ebp - 0x5c], edx
test eax, eax
je 0x10079673
mov byte [edx], 0x83
inc edx
mov eax, edx
mov dword [ebp - 0x7c], edx
sub eax, ecx
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, ecx
mov byte [edx + 1], cl
sar eax, 8
mov byte [edx], al
add edx, 2
mov dword [ebp - 0x5c], edx
push dword [ebp - 0x68]
push dword [ebp - 0x80]
push edx
call fcn.10096ab0
mov eax, dword [ebp - 0x64]
add esp, 0xc
mov edx, dword [eax + 0x10]
mov ecx, edx
mov edi, dword [eax + 0x20]
sub ecx, ebx
mov eax, dword [eax + 0x3c]
add ecx, esi
add eax, 0xffffff9c
add eax, ecx
cmp edi, eax
jbe 0x100796d3
lea ecx, [ecx]
push dword [ebp - 0x64]
call fcn.1007c420
mov ecx, dword [ebp - 0x60]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x100785c1
mov eax, dword [ebp - 0x64]
mov ecx, esi
sub ecx, ebx
mov edx, dword [eax + 0x10]
add ecx, edx
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x3c]
add eax, 0xffffff9c
add eax, ecx
cmp edi, eax
ja 0x100796a0
lea ecx, [edx + esi]
lea eax, [edx + ebx]
mov dword [ebp - 0x70], ecx
cmp ecx, eax
jae 0x1007974a
mov ebx, dword [ebp - 0x74]
mov esi, ebx
neg esi
sbb esi, esi
and esi, 3
inc esi
neg ebx
sbb bl, bl
and bl, 3
inc bl
mov edx, dword [ebp - 0x70]
mov edi, dword [ebp - 0x64]
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [edi + 0x20]
add ecx, dword [ebp - 0x68]
add ecx, esi
sar ecx, 8
mov byte [eax], cl
mov cl, byte [edx + 1]
add edx, 2
mov eax, dword [edi + 0x20]
add cl, byte [ebp - 0x68]
add cl, bl
mov dword [ebp - 0x70], edx
mov byte [eax + 1], cl
mov ecx, edi
mov eax, dword [ebp - 0x88]
mov edi, dword [ecx + 0x20]
add edi, 2
mov dword [ecx + 0x20], edi
mov edx, dword [ecx + 0x10]
add eax, edx
cmp dword [ebp - 0x70], eax
jb 0x100796f6
mov ebx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x5c]
mov esi, ebx
mov eax, dword [ebp - 0x74]
add ecx, dword [ebp - 0x68]
sub eax, 1
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x74], eax
jns 0x10079630
mov ebx, dword [ebp - 0x58]
jmp 0x1007958c
mov edi, dword [ebp - 0x5c]
add edi, 0xfffffffd
mov esi, edi
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
sub esi, ecx
mov dword [ebp - 0x88], esi
mov al, byte [esi]
cmp al, 0x81
je 0x10079793
cmp al, 0x82
jne 0x1007979f
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x100797a2
mov byte [esi], 0x83
jmp 0x100797b2
mov ebx, dword [ebp - 0x6c]
cmp al, 0x81
je 0x100798c9
cmp al, 0x82
je 0x100798c9
cmp dword [ebp - 0x98], 0
jne 0x100797f3
jmp 0x100797c0
push 0
push dword [ebp - 0x64]
push dword [ebp - 0x90]
push edi
push esi
call fcn.1007bfc0
add esp, 0x14
test eax, eax
jne 0x1007982d
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x77
je 0x100797c0
mov esi, dword [ebp - 0x88]
mov dl, byte [esi]
cmp dl, 0x87
jne 0x10079812
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + esi], 0x77
je 0x10079812
mov byte [esi], 0x8c
mov dl, 0x8c
test ebx, ebx
je 0x100798ba
cmp dl, 0x87
je 0x10079838
cmp dl, 0x8c
je 0x10079838
inc dl
mov byte [esi], dl
mov byte [edi], 0x7b
jmp 0x10079899
mov esi, dword [ebp - 0x88]
add byte [esi], 5
jmp 0x100797f3
push dword [ebp - 0x9c]
mov eax, dword [ebp - 0x5c]
mov ebx, eax
push dword [ebp - 0x64]
sub ebx, esi
push dword [ebp - 0x90]
mov byte [eax], 0
push 3
push esi
call fcn.10076450
push ebx
lea eax, [esi + 3]
push esi
push eax
call fcn.10097ca0
mov ecx, dword [ebp - 0x5c]
add ebx, 3
add esp, 0x20
cmp byte [esi], 0x87
setne al
dec al
and al, 0xfb
add al, 0x89
mov byte [esi], al
mov eax, ebx
mov byte [ecx + 3], 0x7b
sar eax, 8
mov byte [ecx + 5], bl
mov byte [ecx + 4], al
add ecx, 6
mov byte [esi + 2], bl
mov ebx, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], ecx
mov byte [esi + 1], al
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x100798a6
mov byte [eax], 0x94
xor eax, eax
cmp dword [ebp - 0x78], 2
setl al
dec eax
and eax, ebx
mov ebx, dword [ebp - 0x58]
jmp 0x100795d8
mov eax, dword [ebp - 0x84]
add al, 0x79
mov byte [edi], al
jmp 0x10079322
mov eax, dword [ebp - 0x84]
add al, 0x79
mov byte [edi], al
jmp 0x100795d2
cmp dl, 0x9d
je 0x10079325
mov eax, dword [ebp - 0x60]
mov dword [eax], 0xb
jmp 0x1007b8f3
mov edx, dword [ebp - 0x74]
test edx, edx
jne 0x10079900
mov edx, esi
mov dword [ebp - 0x5c], edx
jmp 0x10079328
mov ecx, dword [ebp - 0x78]
test ecx, ecx
jne 0x10079928
cmp edx, 0xffffffff
jne 0x10079952
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x84]
add al, 0x62
mov byte [ecx], al
inc ecx
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], ecx
jmp 0x100795db
cmp ecx, 1
jne 0x1007994e
cmp edx, 0xffffffff
jne 0x10079973
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x84]
add al, 0x64
mov byte [ecx], al
inc ecx
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], ecx
jmp 0x100795db
test ecx, ecx
jne 0x10079973
cmp edx, 1
jne 0x10079973
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x84]
add al, 0x66
mov byte [ecx], al
inc ecx
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], ecx
jmp 0x100795db
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x84]
add al, 0x68
mov byte [ebx], al
mov eax, ecx
mov byte [ebx + 2], cl
lea ecx, [edx + 1]
sar eax, 8
mov byte [ebx + 1], al
add ebx, 3
neg ecx
mov dword [ebp - 0x5c], ebx
sbb ecx, ecx
and ecx, edx
mov eax, ecx
mov byte [ebx + 1], cl
sar eax, 8
mov ecx, ebx
mov byte [ebx], al
add ecx, 2
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], ecx
jmp 0x100795db
movzx eax, dl
sub eax, 0x1e
je 0x100799e0
sub eax, 1
je 0x100799d9
sub eax, 1
je 0x100799d2
mov dword [ebp - 0x70], 0
jmp 0x100799e8
mov eax, 0x27
jmp 0x100799e5
mov eax, 0x1a
jmp 0x100799e5
mov eax, 0xd
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x90], 0
mov esi, dword [ebp - 0x5c]
je 0x10079a2b
mov al, byte [esi - 1]
lea ecx, [esi - 1]
and al, 0xc0
cmp al, 0x80
jne 0x10079a2b
mov al, byte [ecx - 1]
dec ecx
and al, 0xc0
cmp al, 0x80
je 0x10079a00
sub esi, ecx
lea eax, [ebp - 0x34]
push esi
push ecx
push eax
call fcn.10096ab0
mov dl, byte [ebp - 0xb1]
add esp, 0xc
or esi, 0x10000000
mov dword [ebp - 0x68], esi
jmp 0x10079a52
movzx esi, byte [esi - 1]
mov dword [ebp - 0x68], esi
cmp dl, 0x1e
ja 0x10079a52
cmp dword [ebp - 0x78], 1
jle 0x10079a52
mov eax, dword [edi + 0x68]
or eax, dword [ebp - 0xec]
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xa8], eax
cmp dl, 0x10
je 0x10079a72
cmp dl, 0xf
je 0x10079a72
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x88], 0xffffffff
mov dword [ebp - 0x7c], 0xffffffff
jmp 0x10079a86
mov ecx, dword [ebp - 0x80]
movzx eax, byte [ecx + 1]
mov dword [ebp - 0x7c], eax
movzx eax, byte [ecx + 2]
mov dword [ebp - 0x88], eax
mov edi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
test edi, edi
je 0x10079325
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x70]
add ecx, eax
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0xa4], ecx
test esi, esi
jne 0x10079aff
mov edx, edi
cmp edx, 0xffffffff
jne 0x10079ac9
mov eax, dword [ebp - 0x80]
add cl, 0x21
mov byte [eax], cl
lea ecx, [eax + 1]
mov dword [ebp - 0x5c], ecx
jmp 0x10079c92
cmp edx, 1
jne 0x10079ae1
mov eax, dword [ebp - 0x80]
add cl, 0x25
mov byte [eax], cl
lea ecx, [eax + 1]
mov dword [ebp - 0x5c], ecx
jmp 0x10079c92
mov ebx, dword [ebp - 0x80]
add cl, 0x27
mov eax, edx
sar eax, 8
mov byte [ebx], cl
lea ecx, [ebx + 3]
mov byte [ebx + 1], al
mov byte [ebx + 2], dl
mov dword [ebp - 0x5c], ecx
jmp 0x10079c92
cmp esi, 1
jne 0x10079b49
cmp edi, 0xffffffff
jne 0x10079b1c
mov eax, dword [ebp - 0x80]
add cl, 0x23
mov byte [eax], cl
lea ecx, [eax + 1]
mov dword [ebp - 0x5c], ecx
jmp 0x10079c92
mov dword [ebp - 0x5c], edx
cmp edi, 1
je 0x10079325
add cl, 0x27
mov byte [edx], cl
mov ecx, dword [ebp - 0x74]
lea eax, [ecx - 1]
sar eax, 8
dec cl
mov byte [edx + 2], cl
lea ecx, [edx + 3]
mov byte [edx + 1], al
mov dword [ebp - 0x5c], ecx
jmp 0x10079c92
mov ebx, dword [ebp - 0x80]
add al, 0x29
mov edx, dword [ebp - 0x78]
mov byte [ebx], al
mov eax, edx
sar eax, 8
mov byte [ebx + 1], al
lea eax, [ebx + 3]
mov byte [ebx + 2], dl
mov dword [ebp - 0x5c], eax
test edi, edi
jns 0x10079bf5
cmp dword [ebp - 0x90], 0
mov ebx, dword [ebp - 0x68]
je 0x10079bb1
test ebx, 0x10000000
je 0x10079bb1
mov esi, ebx
lea ecx, [ebp - 0x34]
and esi, 7
push esi
push ecx
push eax
call fcn.10096ab0
mov eax, dword [ebp - 0x5c]
add esp, 0xc
mov ecx, dword [ebp - 0xa4]
add eax, esi
add cl, 0x21
mov dword [ebp - 0x5c], eax
mov byte [eax], cl
mov ecx, eax
inc ecx
mov dword [ebp - 0x5c], ecx
jmp 0x10079c95
mov byte [eax], bl
inc eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x7c]
test eax, eax
js 0x10079be2
mov edx, dword [ebp - 0x5c]
add cl, 0x21
mov byte [edx], al
lea eax, [edx + 1]
mov edx, dword [ebp - 0x88]
mov byte [eax], dl
inc eax
mov dword [ebp - 0x5c], eax
mov byte [eax], cl
mov ecx, eax
inc ecx
mov dword [ebp - 0x5c], ecx
jmp 0x10079c95
mov eax, dword [ebp - 0x5c]
add cl, 0x21
mov byte [eax], cl
mov ecx, eax
inc ecx
mov dword [ebp - 0x5c], ecx
jmp 0x10079c95
cmp edi, edx
je 0x10079c8f
cmp dword [ebp - 0x90], 0
mov ebx, dword [ebp - 0x68]
je 0x10079c2f
test ebx, 0x10000000
je 0x10079c2f
mov esi, ebx
lea ecx, [ebp - 0x34]
and esi, 7
push esi
push ecx
push eax
call fcn.10096ab0
mov ecx, dword [ebp - 0xa4]
add esp, 0xc
mov eax, dword [ebp - 0x5c]
jmp 0x10079c36
mov byte [eax], bl
mov esi, 1
add eax, esi
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x7c]
test eax, eax
js 0x10079c58
mov edx, dword [ebp - 0x5c]
mov byte [edx], al
lea eax, [edx + 1]
mov edx, dword [ebp - 0x88]
mov byte [eax], dl
inc eax
mov dword [ebp - 0x5c], eax
jmp 0x10079c5b
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x74]
sub edx, dword [ebp - 0x78]
cmp edx, 1
jne 0x10079c74
add cl, 0x25
mov byte [eax], cl
mov ecx, dword [ebp - 0x5c]
inc ecx
mov dword [ebp - 0x5c], ecx
jmp 0x10079c95
add cl, 0x27
mov byte [eax], cl
mov eax, edx
mov ecx, dword [ebp - 0x5c]
sar eax, 8
mov byte [ecx + 1], al
mov byte [ecx + 2], dl
add ecx, 3
mov dword [ebp - 0x5c], ecx
jmp 0x10079c95
mov ecx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x90]
test esi, esi
je 0x10079ccb
test ebx, 0x10000000
je 0x10079ccb
and ebx, 7
lea eax, [ebp - 0x34]
push ebx
push eax
push ecx
call fcn.10096ab0
mov ecx, dword [ebp - 0x5c]
add esp, 0xc
mov eax, dword [ebp - 0x6c]
add ecx, ebx
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], ecx
jmp 0x100795e1
mov eax, dword [ebp - 0x6c]
mov byte [ecx], bl
inc ecx
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], ecx
jmp 0x100795e1
mov eax, dword [ebp - 0xa0]
mov al, byte [eax + 3]
cmp al, 0x10
je 0x10079d00
cmp al, 0xf
je 0x10079d00
movzx eax, byte [edx + 0x100d2cf8]
xor ecx, ecx
add eax, ecx
add dword [ebp - 0xa0], eax
jmp 0x10079d72
movzx eax, byte [edx + 0x100d2cf8]
mov ecx, 2
add eax, ecx
add dword [ebp - 0xa0], eax
jmp 0x10079d72
movzx edx, byte [edx + 0x100d2cf8]
mov eax, dword [ebp - 0xa0]
add edx, eax
mov dword [ebp - 0xa0], edx
test esi, esi
je 0x10079d72
mov al, byte [edx - 1]
mov ecx, dword [ebp - 0x5c]
cmp al, 0xc0
jb case.0x10079605.33
movzx eax, al
and eax, 0x3f
movzx eax, byte [eax + 0x100d2cb8]
add eax, edx
mov dword [ebp - 0xa0], eax
jmp case.0x10079605.33
add dword [ebp - 0xa0], 0x21
jmp case.0x10079605.33
mov edx, dword [ebp - 0xa0]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0xa0]
mov eax, ecx
sub eax, edx
mov dword [ebp - 0xe0], eax
test eax, eax
jle 0x10079325
movzx eax, byte [edx]
cmp eax, 0x76
jae 0x10079da6
mov al, byte [eax + 0x100d2b08]
test al, al
je 0x10079da6
mov byte [edx], al
jmp 0x10079322
push dword [ebp - 0x9c]
mov edi, dword [ebp - 0x64]
push edi
push esi
mov byte [ecx], 0
push 3
push dword [ebp - 0xa0]
call fcn.10076450
mov ebx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xa0]
push ebx
push eax
add eax, 3
push eax
call fcn.10097ca0
mov eax, dword [ebp - 0xa0]
add ebx, 3
mov edx, dword [ebp - 0x5c]
mov ecx, ebx
sar ecx, 8
add esp, 0x20
mov byte [eax], 0x81
mov byte [edx + 3], 0x78
mov byte [edx + 4], cl
mov byte [edx + 5], bl
add edx, 6
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x5c], edx
mov byte [eax + 1], cl
mov eax, dword [ebp - 0xa0]
mov byte [eax + 2], bl
mov ebx, dword [ebp - 0x58]
jmp 0x1007932b
inc ebx
mov dword [ebp - 0x58], ebx
mov esi, ebx
mov dl, byte [ebx]
cmp dl, 0x2a
jne 0x1007a059
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x10079e41
movzx ecx, al
mov eax, dword [edi + 0xc]
test byte [ecx + eax], 2
je 0x1007a059
mov eax, dword [ebp - 0x64]
inc ebx
mov dword [ebp - 0x58], ebx
xor esi, esi
mov edx, ebx
mov dword [ebp - 0x70], 0
mov edi, 0x100d1910
mov dword [ebp - 0x7c], edx
mov ecx, dword [eax + 0xc]
movzx eax, byte [ebx]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x80], esi
test byte [eax + ecx], 2
je 0x10079e7d
lea ecx, [ecx]
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 2
jne 0x10079e70
mov eax, ebx
sub eax, edx
cmp byte [ebx], 0x3a
mov dword [ebp - 0xa4], eax
jne 0x10079eca
inc ebx
mov dword [ebp - 0x58], ebx
mov esi, ebx
mov dword [ebp - 0x6c], ebx
mov al, byte [ebx]
test al, al
je 0x10079eae
jmp 0x10079ea0
cmp al, 0x29
je 0x10079eae
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
test al, al
jne 0x10079ea0
mov edx, ebx
sub edx, esi
mov dword [ebp - 0x70], edx
cmp edx, 0xff
ja 0x1007b643
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x7c]
cmp byte [ebx], 0x29
jne 0x1007b684
xor ebx, ebx
mov esi, 0x100d1940
mov dword [ebp - 0x88], ebx
cmp eax, dword [esi]
jne 0x10079ef3
push eax
push edi
push edx
call fcn.1009e330
add esp, 0xc
test eax, eax
je 0x10079f17
inc edi
inc ebx
add edi, dword [esi]
add esi, 0xc
mov dword [ebp - 0x88], ebx
cmp esi, str._b__w_
jge 0x1007b673
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x7c]
jmp 0x10079ee0
lea ecx, [ebx + ebx*2]
mov eax, dword [ecx*4 + 0x100d1944]
cmp eax, 0x9e
jne 0x10079fae
mov eax, dword [ebp - 0x70]
test eax, eax
jne 0x1007b651
mov edi, dword [ebp - 0x64]
mov ecx, dword [edi + 0x24]
mov dword [edi + 0x6c], 1
test ecx, ecx
je 0x10079f83
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x10079f5a
add dword [eax], 3
jmp 0x10079f74
mov byte [ebx], 0xa0
movzx eax, byte [ecx + 5]
mov byte [ebx + 1], al
movzx eax, byte [ecx + 4]
mov byte [ebx + 2], al
add ebx, 3
mov eax, dword [ebp - 0x98]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10079f51
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x88]
cmp dword [edi + 0x5c], 0
mov edx, dword [ebp - 0x5c]
setg al
add al, 0x9e
mov byte [edx], al
inc edx
cmp dword [ebp - 0x8c], 0xfffffffe
mov dword [ebp - 0x5c], edx
jne 0x1007a01d
mov dword [ebp - 0x8c], 0xffffffff
jmp 0x1007a01d
mov edx, dword [ebp - 0x70]
test edx, edx
jne 0x10079fc8
test eax, eax
js 0x1007b662
mov edx, dword [ebp - 0x5c]
mov byte [edx], al
inc edx
mov dword [ebp - 0x5c], edx
jmp 0x1007a01a
mov ebx, dword [ecx*4 + 0x100d1948]
test ebx, ebx
js 0x1007b651
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x98]
mov byte [ecx], bl
lea esi, [ecx + 2]
test eax, eax
je 0x10079ff3
add dword [eax], edx
mov byte [ecx + 1], 0
mov ecx, esi
jmp 0x1007a009
push edx
push dword [ebp - 0x6c]
mov byte [ecx + 1], dl
push esi
call fcn.10096ab0
mov eax, dword [ebp - 0x70]
add esp, 0xc
lea ecx, [eax + esi]
mov byte [ecx], 0
mov al, bl
mov ebx, dword [ebp - 0x88]
inc ecx
mov dword [ebp - 0x5c], ecx
mov edx, ecx
mov edi, dword [ebp - 0x64]
movzx eax, al
add eax, 0xffffff6a
cmp eax, 5
ja case.default.0x1007a02a
jmp dword [eax*4 + 0x1007ba6c]
or dword [edi + 0x64], 0x1000
jmp case.default.0x1007a02a
mov dword [edi + 0x70], 1
cmp ebx, 9
jge 0x1007b673
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x60]
inc ebx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov eax, dword [ebp - 0x94]
xor edi, edi
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x78], eax
mov eax, 0x85
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x74], edi
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x9c], eax
cmp dl, 0x3f
jne 0x1007a8e9
inc ebx
mov dword [ebp - 0x58], ebx
mov dh, byte [ebx]
movzx eax, dh
mov dl, dh
add eax, 0xffffffdf
cmp eax, 0x5b
ja case.0x1007a0a5.34
movzx eax, byte [eax + 0x1007babc]
jmp dword [eax*4 + 0x1007ba84]
mov dword [ebp - 0x74], 1
mov dword [ecx + 0x7c], 1
mov edx, 0x83
inc ebx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x58], ebx
jmp 0x1007a425
cmp byte [ebx + 1], 0x3f
mov eax, 0x87
mov edx, ebx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0xe4], edx
jne 0x1007a11d
cmp byte [ebx + 2], 0x43
jne 0x1007a11d
mov al, byte [ebx + 3]
mov ecx, 3
cmp al, 0x30
jb 0x1007a100
cmp al, 0x39
ja 0x1007a100
mov al, byte [ecx + ebx + 1]
inc ecx
cmp al, 0x30
jae 0x1007a0f3
cmp byte [ecx + ebx], 0x29
jne 0x1007a111
lea edx, [ebx + 1]
add edx, ecx
mov dword [ebp - 0xe4], edx
cmp byte [edx], 0x28
jne 0x1007b692
mov ecx, dword [ebp - 0x64]
cmp byte [edx + 1], 0x3f
jne 0x1007a14c
mov al, byte [edx + 2]
cmp al, 0x3d
je 0x1007a13d
cmp al, 0x21
je 0x1007a13d
cmp al, 0x3c
jne 0x1007a14c
mov al, byte [edx + 3]
cmp al, 0x3d
je 0x1007a13d
cmp al, 0x21
jne 0x1007a14c
mov dword [ecx + 0x80], 1
jmp 0x1007a422
mov eax, dword [ebp - 0x5c]
or esi, 0xffffffff
or edi, esi
mov dword [ebp - 0x6c], 3
xor edx, edx
mov dword [ebp - 0x7c], 0
mov ecx, esi
mov byte [eax + 3], 0x8d
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
cmp al, 0x52
jne 0x1007a192
cmp byte [ebx + 1], 0x26
jne 0x1007a192
mov eax, dword [ebp - 0x5c]
add ebx, 2
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x70], esi
mov byte [eax + 3], 0x8f
mov ebx, dword [ebp - 0x58]
jmp 0x1007a1a5
cmp al, 0x3c
jne 0x1007a234
mov dword [ebp - 0x70], 0x3e
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x1007a1b3
cmp al, 0x39
jbe 0x1007b6a0
mov ecx, dword [ebp - 0x64]
movzx eax, al
mov ecx, dword [ecx + 0xc]
test byte [eax + ecx], 0x10
je 0x1007b692
mov eax, ebx
mov dword [ebp - 0x7c], eax
lea ebx, [eax + 1]
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
je 0x1007a1ed
lea ebx, [ebx]
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x1007a1e0
mov ecx, dword [ebp - 0x70]
xor eax, eax
mov edi, ebx
sub edi, dword [ebp - 0x7c]
cmp dword [ebp - 0x98], eax
setne al
lea eax, [eax*2 + 3]
mov dword [ebp - 0x6c], eax
test ecx, ecx
jle 0x1007a296
mov al, byte [ebx]
inc ebx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x58], ebx
cmp al, cl
je 0x1007a296
mov eax, dword [ebp - 0x60]
dec ebx
mov dword [eax], 0x1a
jmp 0x1007b8f3
cmp al, 0x27
jne 0x1007a244
mov dword [ebp - 0x70], 0x27
jmp 0x1007a1a1
mov dword [ebp - 0x70], edx
cmp al, 0x2d
je 0x1007a263
cmp al, 0x2b
je 0x1007a263
cmp al, 0x30
jb 0x1007a1b3
cmp al, 0x39
ja 0x1007a1a5
xor esi, esi
jmp 0x1007a26a
inc ebx
movzx esi, al
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x1007a296
cmp al, 0x39
ja 0x1007a296
cmp edx, 0xccccccb
jg 0x1007b6ae
movzx eax, al
lea edx, [edx + edx*4]
inc ebx
lea edx, [edx - 0x18]
mov dword [ebp - 0x58], ebx
lea edx, [eax + edx*2]
mov al, byte [ebx]
cmp al, 0x30
jae 0x1007a270
mov al, byte [ebx]
inc ebx
mov dword [ebp - 0x58], ebx
cmp al, 0x29
jne 0x1007a225
cmp dword [ebp - 0x98], 0
jne 0x1007a41c
test esi, esi
js 0x1007a307
test edx, edx
jle 0x1007b6d0
mov ecx, dword [ebp - 0x64]
test esi, esi
je 0x1007a2d1
mov eax, dword [ecx + 0x40]
cmp esi, 0x2d
jne 0x1007a2cf
sub eax, edx
lea edx, [eax + 1]
jmp 0x1007a2d1
add edx, eax
test edx, edx
jle 0x1007b6e1
cmp edx, dword [ecx + 0x44]
jg 0x1007b6e1
mov ebx, dword [ebp - 0x5c]
mov eax, edx
mov edi, dword [ebp - 0x6c]
sar eax, 8
mov byte [ebx + 4], al
mov byte [ebx + 5], dl
mov ebx, dword [ebp - 0x58]
cmp edx, dword [ecx + 0x4c]
jle 0x1007a422
mov dword [ecx + 0x4c], edx
jmp 0x1007a422
mov eax, dword [ebp - 0x64]
xor esi, esi
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0xb0], edx
cmp dword [eax + 0x30], esi
jle 0x1007a35a
mov ebx, edx
lea esp, [esp]
push edi
lea eax, [ebx + 2]
push eax
push dword [ebp - 0x7c]
call fcn.1009e330
add esp, 0xc
test eax, eax
jne 0x1007a33a
cmp byte [ebx + edi + 2], al
je 0x1007a34e
mov eax, dword [ebp - 0x64]
inc esi
add ebx, dword [eax + 0x34]
mov dword [ebp - 0xb0], ebx
cmp esi, dword [eax + 0x30]
jl 0x1007a320
jmp 0x1007a351
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x30]
cmp esi, ecx
jge 0x1007a471
mov eax, dword [ebp - 0xb0]
mov ebx, 1
movzx edx, byte [edx + 1]
mov dword [ebp - 0xd4], esi
inc esi
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xe0], edx
cmp edx, dword [eax + 0x4c]
jle 0x1007a394
mov dword [eax + 0x4c], edx
cmp esi, ecx
jge 0x1007a40b
mov ecx, dword [ebp - 0xb0]
mov edi, edi
add ecx, dword [eax + 0x34]
push edi
mov dword [ebp - 0xb0], ecx
lea eax, [ecx + 2]
push eax
push dword [ebp - 0x7c]
call fcn.1009e330
add esp, 0xc
test eax, eax
jne 0x1007a3d3
mov ecx, dword [ebp - 0xb0]
cmp byte [ecx + edi + 2], al
jne 0x1007a3d3
mov eax, dword [ebp - 0x64]
inc esi
inc ebx
cmp esi, dword [eax + 0x30]
jl 0x1007a3a0
cmp ebx, 1
jle 0x1007a405
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xd4]
mov eax, ecx
mov edi, dword [ebp - 0x6c]
sar eax, 8
add edi, 2
mov byte [edx + 4], al
mov eax, ebx
sar eax, 8
inc byte [edx + 3]
mov byte [edx + 5], cl
mov byte [edx + 6], al
mov byte [edx + 7], bl
mov ebx, dword [ebp - 0x58]
jmp 0x1007a41f
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x5c]
mov eax, edx
shr eax, 8
mov byte [ecx + 4], al
mov byte [ecx + 5], dl
mov ebx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
mov ecx, dword [ecx + 0x58]
mov esi, dword [ebp - 0x64]
lea eax, [ecx + 1]
mov dword [esi + 0x58], eax
cmp ecx, 0xfa
jge 0x1007b7d1
mov ebx, esi
cmp edx, 0x80
ja 0x1007abd2
cmp dword [ebx + 0x80], 0
je 0x1007abd2
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x80], 0
mov dword [ebx + 0x80], 0
jmp 0x1007abe4
cmp dword [ebp - 0x70], 0
jne 0x1007b6e1
mov eax, dword [ebp - 0x7c]
cmp byte [eax], 0x52
jne 0x1007a4e3
xor ecx, ecx
lea edx, [ecx + 1]
cmp edi, edx
jle 0x1007a4c7
lea esp, [esp]
mov al, byte [eax + edx]
cmp al, 0x30
jb 0x1007b6e1
cmp al, 0x39
ja 0x1007b6e1
cmp ecx, 0xccccccb
jg 0x1007b6c2
movzx eax, al
lea ecx, [ecx + ecx*4]
lea ecx, [ecx - 0x18]
inc edx
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x7c]
cmp edx, edi
jl 0x1007a490
test ecx, ecx
jne 0x1007a4cc
mov ecx, 0xffff
mov edx, dword [ebp - 0x5c]
mov eax, ecx
sar eax, 8
mov byte [edx + 3], 0x8f
mov byte [edx + 4], al
mov byte [edx + 5], cl
jmp 0x1007a419
cmp edi, 6
jne 0x1007b6e1
push edi
push str.DEFINE
push eax
call fcn.1009e330
add esp, 0xc
test eax, eax
jne 0x1007b6de
mov eax, dword [ebp - 0x5c]
mov edi, 1
mov byte [eax + 3], 0x91
mov ebx, dword [ebp - 0x58]
jmp 0x1007a41f
inc dword [ecx + 0x5c]
lea ebx, [esi + 2]
mov edx, 0x7d
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x68], edx
jmp 0x1007a425
inc ebx
mov dword [ebp - 0x58], ebx
cmp byte [ebx], 0x29
jne 0x1007a57b
mov al, byte [ebx + 1]
cmp al, 0x2a
je 0x1007a57b
cmp al, 0x2b
je 0x1007a57b
cmp al, 0x3f
je 0x1007a57b
cmp al, 0x7b
jne 0x1007a559
lea eax, [ebx + 2]
push eax
call fcn.1007d120
add esp, 4
test eax, eax
jne 0x1007a578
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x80], edi
mov edi, dword [ebp - 0x64]
mov byte [edx], 0x9d
inc edx
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov ecx, dword [ebp - 0x64]
inc dword [ecx + 0x5c]
mov edx, 0x7e
mov dword [ebp - 0x68], edx
jmp 0x1007a425
mov al, byte [ebx + 1]
cmp al, 0x21
je 0x1007a6c3
cmp al, 0x3d
je 0x1007a6ad
movzx ecx, al
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0xc]
test byte [ecx + eax], 0x10
je 0x1007b6ef
mov ecx, dword [ebp - 0x64]
mov dl, dh
inc ebx
mov dword [ebp - 0x58], ebx
mov edi, ebx
mov dword [ebp - 0xa4], edi
mov al, byte [ebx]
cmp al, 0x30
jb 0x1007a5d0
cmp al, 0x39
jbe 0x1007b6a0
mov ecx, dword [ecx + 0xc]
movzx eax, al
test byte [eax + ecx], 0x10
je 0x1007a5ed
lea esp, [esp]
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x1007a5e0
mov esi, ebx
sub esi, edi
cmp dword [ebp - 0x98], 0
mov dword [ebp - 0x88], esi
je 0x1007a883
mov esi, dword [ebp - 0x64]
mov eax, dword [esi + 0x40]
inc eax
cmp dl, 0x3c
mov dword [ebp - 0x70], eax
setne al
dec al
and al, 0x17
add al, 0x27
cmp byte [ebx], al
jne 0x1007b76b
mov ecx, dword [esi + 0x30]
cmp ecx, 0x2710
jge 0x1007b75d
mov edx, dword [ebp - 0x88]
lea eax, [edx + 3]
cmp eax, dword [esi + 0x34]
jle 0x1007a64b
mov dword [esi + 0x34], eax
cmp edx, 0x20
jg 0x1007b71c
mov esi, dword [esi + 0x28]
xor edi, edi
test ecx, ecx
jle 0x1007a7e6
jmp 0x1007a660
cmp edx, dword [esi + 4]
jne 0x1007a7c1
push edx
push dword [esi]
push dword [ebp - 0xa4]
call fcn.1009e330
add esp, 0xc
test eax, eax
jne 0x1007a7c1
mov eax, dword [ebp - 0x70]
cmp dword [esi + 8], eax
je 0x1007a7e3
test dword [ebp - 0x94], 0x80000
je 0x1007b72a
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x78], 1
jmp 0x1007a7d0
inc dword [ecx + 0x5c]
lea ebx, [esi + 3]
mov edx, 0x7f
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x68], edx
jmp 0x1007a425
inc dword [ecx + 0x5c]
lea ebx, [esi + 3]
mov edx, 0x80
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x68], edx
jmp 0x1007a425
mov edx, 0x81
lea ebx, [esi + 2]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x58], ebx
jmp 0x1007a425
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov eax, edx
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0xd0], eax
mov byte [edx], 0x76
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x1007a72d
cmp al, 0x39
ja 0x1007a72d
movzx eax, al
lea ecx, [ecx + ecx*4]
inc ebx
lea ecx, [ecx - 0x18]
mov dword [ebp - 0x58], ebx
lea ecx, [eax + ecx*2]
mov al, byte [ebx]
cmp al, 0x30
jae 0x1007a713
cmp byte [ebx], 0x29
jne 0x1007b70e
cmp ecx, 0xff
jg 0x1007b700
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x58]
sub eax, dword [edi + 0x18]
inc eax
mov dword [ebp - 0x80], 0
sar eax, 8
mov byte [edx + 2], al
mov al, byte [ebp - 0x58]
sub al, byte [edi + 0x18]
inc al
mov word [edx + 4], 0
mov byte [edx + 3], al
add edx, 6
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
inc ebx
mov dword [ebp - 0x58], ebx
mov dl, byte [ebx]
cmp dl, 0x3d
je 0x1007a7a9
cmp dl, 0x3e
je 0x1007a7a9
cmp dl, 0x3c
je case.0x1007a0a5.39
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x29
jmp 0x1007b8f3
mov edi, dword [ebp - 0x64]
xor ecx, ecx
cmp dl, 0x3e
mov edx, 0x29
sete cl
mov dword [ebp - 0x70], ecx
jmp 0x1007af04
mov eax, dword [ebp - 0x70]
cmp dword [esi + 8], eax
je 0x1007b73b
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x88]
inc edi
add esi, 0xc
cmp edi, dword [eax + 0x30]
jl 0x1007a660
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x30]
cmp edi, eax
jl 0x1007a886
mov ebx, ecx
mov ecx, dword [ebx + 0x38]
cmp eax, ecx
jl 0x1007a84b
lea edi, [ecx + ecx]
lea eax, [edi + edi*2]
shl eax, 2
push eax
call dword [0x100f5218]
mov esi, eax
add esp, 4
test esi, esi
je 0x1007b74c
mov ecx, dword [ebx + 0x38]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [ebx + 0x28]
push esi
call fcn.10096ab0
add esp, 0xc
cmp dword [ebx + 0x38], 0x14
jle 0x1007a842
push dword [ebx + 0x28]
call dword [0x100f521c]
add esp, 4
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x38], edi
mov edx, dword [ebp - 0xa4]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x28]
mov esi, dword [ebp - 0x88]
mov dword [eax + ecx*4], edx
mov eax, dword [ebx + 0x30]
mov edx, dword [ebp - 0x70]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x28]
mov dword [eax + ecx*4 + 4], esi
mov eax, dword [ebx + 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x28]
mov dword [eax + ecx*4 + 8], edx
inc dword [ebx + 0x30]
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
inc ebx
mov dword [ebp - 0x58], ebx
inc dword [ecx + 0x40]
mov edi, 2
mov eax, dword [ecx + 0x40]
mov edx, dword [ebp - 0x5c]
shr eax, 8
mov byte [edx + 3], al
mov al, byte [ecx + 0x40]
mov byte [edx + 4], al
mov ebx, dword [ebp - 0x58]
jmp 0x1007a422
mov edx, 0x29
mov dword [ebp - 0x70], 1
mov edi, ecx
jmp 0x1007af04
inc ebx
xor edx, edx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x6c], edx
cmp byte [ebx], 0x29
jne 0x1007b779
mov edi, ecx
jmp 0x1007b0bd
mov esi, dword [ebp - 0x60]
mov edi, ecx
mov dword [ebp - 0x7c], 0x29
jmp 0x1007aa2c
test dword [ebp - 0x94], 0x1000
je 0x1007a88a
mov edx, 0x83
mov dword [ebp - 0x68], edx
jmp 0x1007a425
mov esi, dword [ebp - 0x60]
lea eax, [ebp - 0x104]
push 0
mov dword [ebp - 0xe4], ebx
mov ebx, dword [ebp - 0x94]
push ebx
push dword [edi + 0x40]
push esi
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10076940
add esp, 0x18
mov edx, eax
cmp dword [esi], 0
jne 0x100785c1
test edx, edx
jne 0x1007a96e
cmp dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x104]
je 0x1007a961
cmp eax, 0x7f
jbe 0x1007a961
lea ecx, [ebp - 0x2c]
push ecx
push eax
call fcn.10089490
add esp, 8
mov ecx, eax
jmp 0x10078105
mov byte [ebp - 0x2c], al
mov ecx, 1
jmp 0x10078105
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0xfffffffe
jne 0x1007a98a
lea eax, [edx - 6]
cmp eax, 0x10
ja 0x1007a98a
or ecx, 0xffffffff
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xac], eax
cmp edx, 0x1b
jne 0x1007aebf
mov ebx, dword [ebp - 0x58]
xor ecx, ecx
mov eax, dword [edi + 0x20]
inc ebx
sub eax, dword [edi + 0x10]
lea edx, [ebx + 1]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x9c], eax
cmp byte [ebx], 0x3c
mov al, byte [edx]
setne cl
dec ecx
and ecx, 0x17
add ecx, 0x27
mov dword [ebp - 0x7c], ecx
cmp al, 0x2b
je 0x1007aa06
cmp al, 0x2d
je 0x1007aa06
cmp al, 0x30
jb 0x1007a9f7
cmp al, 0x39
jbe 0x1007aa06
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x70], 1
jmp 0x1007af04
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x30
jb 0x1007aa1c
cmp al, 0x39
ja 0x1007aa1c
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jae 0x1007aa10
mov eax, dword [ebp - 0x7c]
cmp byte [ecx], al
jne 0x1007b814
mov ebx, edx
mov dword [ebp - 0x58], ebx
mov dl, byte [ebx]
cmp dl, 0x2b
jne 0x1007aab9
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x1007b787
cmp al, 0x39
ja 0x1007b787
mov al, byte [ebx]
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
cmp al, 0x30
jb 0x1007aa81
cmp al, 0x39
ja 0x1007aa81
cmp ecx, 0xccccccb
jg 0x1007b7df
movzx eax, al
lea ecx, [ecx + ecx*4]
inc ebx
lea ecx, [ecx - 0x18]
mov dword [ebp - 0x58], ebx
lea ecx, [eax + ecx*2]
mov al, byte [ebx]
mov dword [ebp - 0x6c], ecx
cmp al, 0x30
jae 0x1007aa58
mov eax, dword [ebp - 0x7c]
cmp byte [ebx], al
jne 0x1007b809
cmp dl, 0x2d
jne 0x1007aea0
test ecx, ecx
je 0x1007b7fe
mov edx, dword [edi + 0x40]
sub edx, ecx
inc edx
mov dword [ebp - 0x6c], edx
test edx, edx
jg 0x1007b0bd
mov dword [esi], 0xf
jmp 0x1007b8f3
cmp dl, 0x2d
jne 0x1007aa4d
mov al, byte [ebx + 1]
sub al, 0x30
cmp al, 9
ja case.0x1007a0a5.34
inc ebx
mov dword [ebp - 0x58], ebx
jmp 0x1007aa4d
xor eax, eax
lea ecx, [ebp - 0xa4]
xor esi, esi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xa4], esi
cmp dl, 0x29
je 0x1007ab5a
cmp dl, 0x3a
je 0x1007ab4e
movzx eax, dl
inc ebx
sub eax, 0x2d
mov dword [ebp - 0x58], ebx
cmp eax, 0x4b
ja case.0x1007ab07.46
movzx eax, byte [eax + 0x1007bb3c]
jmp dword [eax*4 + 0x1007bb18]
lea ecx, [ebp - 0x88]
jmp 0x1007ab47
mov eax, dword [ebp - 0x64]
or dword [ecx], 0x80000
or dword [eax + 0x64], 0x400
jmp 0x1007ab47
or dword [ecx], 1
jmp 0x1007ab47
or dword [ecx], 2
jmp 0x1007ab47
or dword [ecx], 4
jmp 0x1007ab47
or dword [ecx], 8
jmp 0x1007ab47
or dword [ecx], 0x200
jmp 0x1007ab47
or dword [ecx], 0x40
mov dl, byte [ebx]
cmp dl, 0x29
jne 0x1007aae8
mov esi, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x88]
or esi, dword [ebp - 0x94]
not eax
and esi, eax
cmp byte [ebx], 0x29
mov dword [ebp - 0x78], esi
jne 0x1007abb5
mov eax, esi
mov dword [ebp - 0x94], esi
shr eax, 9
and eax, 1
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x110], eax
xor eax, 1
mov dword [ebp - 0x114], eax
mov eax, esi
and eax, 1
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x124]
mov dword [eax], esi
mov edi, dword [ebp - 0x64]
inc ebx
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov ecx, dword [ebp - 0x64]
inc ebx
mov edx, 0x83
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x68], edx
xor edi, edi
mov dword [ebp - 0x74], 0
jmp 0x1007a425
mov ecx, dword [ebx + 0x20]
sub ecx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x9c], ecx
mov byte [eax], dl
mov esi, dword [ebx + 0x40]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 0x68]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xe8], 0
cmp edx, 0x7f
je 0x1007ac13
cmp edx, 0x80
je 0x1007ac13
xor ecx, ecx
jmp 0x1007ac18
mov ecx, 1
mov eax, dword [ebp - 0x98]
lea ebx, [ebp - 0xe8]
neg eax
sbb eax, eax
and eax, ebx
mov ebx, dword [ebp - 0x64]
push eax
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x120]
push eax
xor eax, eax
cmp edx, 0x87
sete al
add eax, dword [ebp + 0x2c]
push eax
push edi
push dword [ebp - 0x74]
lea eax, [ebp - 0x58]
push ecx
push dword [ebp - 0x60]
push eax
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0x78]
call fcn.1007bb90
add esp, 0x3c
test eax, eax
je 0x100785c1
dec dword [ebx + 0x58]
mov eax, dword [ebp - 0x68]
cmp eax, 0x81
jne 0x1007ad15
cmp dword [ebx + 0x40], esi
ja 0x1007aca2
mov eax, dword [ebp - 0x5c]
mov byte [eax], 0x82
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xfc]
mov ebx, dword [ebp - 0x58]
cmp byte [ebx], 0x29
jne 0x1007b7c3
mov edi, dword [ebp - 0x98]
test edi, edi
je 0x1007ad9b
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [edi]
sub ecx, edx
lea eax, [esi - 6]
cmp ecx, eax
jl 0x1007b8c6
mov ecx, dword [ebp - 0x5c]
lea eax, [esi - 6]
mov esi, dword [ebp - 0x60]
add eax, edx
mov dword [edi], eax
mov edi, dword [ebp - 0x64]
mov dword [ecx + 1], 0x780300
mov byte [ecx + 5], 3
add ecx, 6
mov ebx, dword [ebp - 0x58]
mov edx, ecx
inc ebx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
cmp eax, 0x80
ja 0x1007ad1f
dec dword [ebx + 0x5c]
cmp eax, 0x87
jne 0x1007aca2
cmp dword [ebp - 0x98], 0
jne 0x1007aca2
mov ebx, dword [ebp - 0x5c]
xor esi, esi
mov edx, ebx
mov edi, edi
movzx ecx, byte [edx + 1]
mov edi, esi
movzx eax, byte [edx + 2]
inc esi
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x78
jne 0x1007ad40
cmp byte [ebx + 3], 0x91
jne 0x1007ad70
cmp edi, 1
jge 0x1007b7a1
mov edx, 0x91
jmp 0x1007aca5
cmp edi, 2
jge 0x1007b7b2
cmp esi, 1
jne 0x1007aca2
mov edx, dword [ebp - 0x68]
or eax, 0xffffffff
or ecx, eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xfc], ecx
jmp 0x1007acb1
mov esi, dword [ebp - 0xa0]
mov dword [ebp - 0x5c], esi
cmp edx, 0x91
je 0x1007aba3
mov esi, dword [ebp - 0xb8]
mov dword [ebp - 0xcc], esi
mov esi, dword [ebp - 0xa8]
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0xd8], esi
mov esi, dword [ebp - 0x8c]
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0x100], 0
cmp edx, 0x81
jb 0x1007ae63
cmp esi, 0xfffffffe
jne 0x1007ae3d
test ecx, ecx
js 0x1007ae25
mov edx, dword [ebp - 0x120]
test eax, eax
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x100], 1
mov dword [ebp - 0xbc], 0xffffffff
jmp 0x1007ae76
mov dword [ebp - 0x8c], 0xffffffff
test eax, eax
mov dword [ebp - 0xbc], 0xffffffff
jmp 0x1007ae76
test ecx, ecx
js 0x1007ae5f
test eax, eax
jns 0x1007ae7c
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x108], eax
mov eax, ecx
or eax, dword [ebp - 0xd4]
mov dword [ebp - 0xf0], eax
test eax, eax
jmp 0x1007ae76
cmp edx, 0x7d
jne 0x1007aba3
test eax, eax
js 0x1007aba3
test ecx, ecx
js 0x1007aba3
mov ecx, dword [ebp - 0x108]
inc ebx
mov edi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
cmp dl, 0x2b
mov edx, dword [ebp - 0x6c]
jne 0x1007b0bd
test edx, edx
je 0x1007b7fe
add edx, dword [edi + 0x40]
mov dword [ebp - 0x6c], edx
jmp 0x1007b0bd
cmp edx, 0x1c
jne 0x1007b378
mov ebx, dword [ebp - 0x58]
mov al, byte [ebx + 1]
cmp al, 0x3c
je 0x1007aede
cmp al, 0x27
je 0x1007aede
cmp al, 0x7b
jne 0x1007b81f
inc ebx
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
cmp al, 0x3c
jne 0x1007aef6
mov edx, 0x3e
jmp 0x1007af04
xor edx, edx
cmp al, 0x27
setne dl
dec edx
and edx, 0xffffffaa
add edx, 0x7d
inc ebx
mov dword [ebp - 0x58], ebx
mov esi, ebx
mov dword [ebp - 0xd4], esi
mov al, byte [ebx]
cmp al, 0x30
jb 0x1007af1e
cmp al, 0x39
jbe 0x1007b6a0
mov ecx, dword [edi + 0xc]
movzx eax, al
test byte [eax + ecx], 0x10
je 0x1007af3d
lea ebx, [ebx]
inc ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x1007af30
mov edi, ebx
sub edi, esi
cmp dword [ebp - 0x98], 0
je 0x1007b024
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
test edi, edi
je 0x1007b82a
cmp byte [ebx], dl
jne 0x1007b76b
cmp edi, 0x20
jg 0x1007b71c
cmp dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x64]
jne 0x1007af77
inc dword [ecx + 0x54]
mov edx, dword [ebp - 0x98]
mov eax, dword [edx]
add eax, 0xe
mov dword [edx], eax
cmp dword [ecx + 0x7c], 0
je 0x1007af8f
add eax, 0xc
mov dword [edx], eax
mov esi, dword [ecx + 0x28]
xor eax, eax
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x88], ecx
test ecx, ecx
jle 0x1007b016
mov ebx, dword [ebp - 0xd4]
lea ecx, [ecx]
cmp edi, dword [esi + 4]
jne 0x1007aff9
push edi
push dword [esi]
push ebx
call fcn.1009e330
add esp, 0xc
test eax, eax
jne 0x1007aff9
mov edx, dword [esi + 8]
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x70], eax
jne 0x1007b0ba
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x1007aff9
mov edi, edi
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x1007aff0
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1007afe0
jmp 0x1007aff9
mov eax, 1
mov word [ecx + 6], ax
mov ecx, dword [ebp - 0x64]
add esi, 0xc
inc dword [ebp - 0x9c]
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0x88], ecx
cmp dword [ebp - 0x9c], ecx
jl 0x1007afb0
mov edx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x9c]
jmp 0x1007b0b0
mov ecx, dword [ebp - 0x64]
xor eax, eax
mov dword [ebp - 0x9c], eax
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0xb0], edx
cmp dword [ecx + 0x30], eax
jle 0x1007b084
mov ebx, edx
nop
push edi
lea eax, [ebx + 2]
push eax
push esi
call fcn.1009e330
add esp, 0xc
test eax, eax
jne 0x1007b058
cmp byte [ebx + edi + 2], al
je 0x1007b078
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
add ebx, dword [ecx + 0x34]
mov dword [ebp - 0xb0], ebx
cmp eax, dword [ecx + 0x30]
jl 0x1007b040
jmp 0x1007b07b
mov ecx, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ecx + 0x30]
mov edi, dword [ebp - 0x9c]
mov dword [ebp - 0x88], ecx
cmp edi, ecx
jge 0x1007b6e1
mov eax, dword [ebp - 0xb0]
movzx edx, byte [edx + 1]
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x70], 0
je 0x1007b1ff
mov edi, dword [ebp - 0x64]
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
cmp dword [ebp - 0x98], 0
mov ecx, dword [ebp - 0x5c]
mov ebx, dword [edi + 0x14]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x9c], eax
jne 0x1007b158
mov byte [ecx], 0
test edx, edx
je 0x1007b0f9
push edx
push dword [ebp - 0x90]
push dword [edi + 0x14]
call fcn.10075e90
mov edx, dword [ebp - 0x6c]
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x1007b1a4
cmp edx, dword [edi + 0x44]
jg 0x1007b838
mov eax, dword [edi + 0x10]
mov ebx, dword [edi + 0x14]
add eax, 0xffffff9c
add eax, dword [edi + 0x3c]
add ebx, edx
cmp dword [edi + 0x20], eax
jb 0x1007b133
push edi
call fcn.1007c420
mov ecx, dword [ebp - 0x60]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x100785c1
mov edx, dword [ebp - 0x5c]
mov ecx, edx
sub ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x20]
inc ecx
sar ecx, 8
mov byte [eax], cl
mov cl, dl
sub cl, byte [edi + 0x14]
mov eax, dword [edi + 0x20]
inc cl
mov byte [eax + 1], cl
add dword [edi + 0x20], 2
mov ecx, dword [ebp - 0x5c]
mov byte [ecx], 0x75
mov eax, ebx
sub eax, dword [edi + 0x14]
sar eax, 8
mov byte [ecx + 1], al
sub bl, byte [edi + 0x14]
mov byte [ecx + 2], bl
add ecx, 3
cmp dword [ebp - 0x8c], 0xfffffffe
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x100], 0
jne 0x10078e6b
mov ebx, dword [ebp - 0x58]
mov edx, ecx
mov esi, dword [ebp - 0x60]
inc ebx
mov dword [ebp - 0x8c], 0xffffffff
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
jne 0x1007b155
cmp dword [ebp + 0x2c], ecx
jg 0x1007b155
mov eax, dword [ebp - 0x118]
mov esi, eax
test eax, eax
je 0x1007b1ee
mov eax, dword [esi + 4]
cmp eax, ebx
jb 0x1007b1ee
push 0
push edi
push dword [ebp - 0x90]
push dword [ebp - 0x5c]
push eax
call fcn.1007bfc0
add esp, 0x14
test eax, eax
je 0x1007b155
mov esi, dword [esi]
test esi, esi
jne 0x1007b1c4
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x28
jmp 0x1007b8f3
cmp dword [ebp - 0x98], 0
jne 0x1007b387
mov eax, dword [ebp - 0x64]
cmp dword [eax + 0x78], 0
je 0x1007b3e7
mov esi, dword [eax + 0x34]
mov ebx, 1
mov eax, dword [ebp - 0xb0]
add esi, eax
mov dword [ebp - 0xe0], edi
inc edi
mov dword [ebp - 0x70], esi
cmp edi, ecx
jge 0x1007b387
mov esi, dword [ebp - 0x88]
add eax, 2
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0xd4], eax
lea ecx, [ecx]
lea ecx, [edx + 2]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007b273
test dl, dl
je 0x1007b26f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007b273
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007b253
xor eax, eax
jmp 0x1007b278
sbb eax, eax
or eax, 1
mov edx, dword [ebp - 0x70]
test eax, eax
jne 0x1007b294
mov eax, dword [ebp - 0x64]
inc edi
inc ebx
add edx, dword [eax + 0x34]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x70], edx
cmp edi, esi
jl 0x1007b250
cmp ebx, 1
jle 0x1007b384
cmp dword [ebp - 0x8c], 0xfffffffe
jne 0x1007b2b0
mov dword [ebp - 0x8c], 0xffffffff
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x80], ecx
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
test byte [ebp - 0x94], 1
mov dword [ebp - 0x9c], eax
setne al
add al, 0x73
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x5c], ecx
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xe0]
mov eax, ecx
shr eax, 8
mov byte [esi + 1], cl
mov ecx, esi
mov byte [esi], al
mov eax, ebx
sar eax, 8
mov byte [ecx + 3], bl
mov ebx, dword [ebp - 0xb0]
mov byte [ecx + 2], al
add ecx, 4
mov dword [ebp - 0x5c], ecx
cmp ebx, edx
jae 0x10078e6b
mov esi, dword [ebp - 0x70]
mov edi, edi
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
or edx, eax
mov eax, 1
cmp edx, 0x20
jae 0x1007b32a
mov ecx, edx
shl eax, cl
or dword [edi + 0x50], eax
cmp edx, dword [edi + 0x4c]
jle 0x1007b335
mov dword [edi + 0x4c], edx
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x1007b359
lea esp, [esp]
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x1007b350
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1007b340
jmp 0x1007b359
mov eax, 1
mov word [ecx + 6], ax
add ebx, dword [edi + 0x34]
cmp ebx, esi
jb 0x1007b310
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0xb0], ebx
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
test edx, edx
jns 0x1007b438
neg edx
jmp 0x1007b399
mov edx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 0x60]
cmp ecx, 0xfffffffe
jne 0x1007b3a8
mov dword [ebp - 0x8c], 0xffffffff
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
test bl, 1
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x9c], eax
setne al
add al, 0x71
mov dword [ebp - 0x80], ecx
mov byte [ecx], al
mov eax, edx
sar eax, 8
mov byte [ecx + 1], al
mov byte [ecx + 2], dl
add ecx, 3
mov dword [ebp - 0x5c], ecx
cmp edx, 0x20
jge 0x1007b3eb
mov ebx, 1
mov ecx, edx
mov eax, ebx
shl eax, cl
jmp 0x1007b3f2
mov edi, eax
jmp 0x1007b38a
mov eax, 1
mov ebx, eax
or dword [edi + 0x50], eax
cmp edx, dword [edi + 0x4c]
jle 0x1007b3fd
mov dword [edi + 0x4c], edx
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x10078e6b
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x1007b425
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1007b408
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
inc ebx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov edx, dword [ebp - 0x5c]
mov word [ecx + 6], bx
mov ebx, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
cmp edx, 0x16
je 0x1007b849
cmp edx, 0xf
je 0x1007b849
cmp edx, 0x10
je 0x1007b849
cmp edx, 5
je 0x1007b462
cmp edx, 4
je 0x1007b462
cmp edx, 1
jne 0x1007b46f
cmp dword [edi + 0x48], 0
jne 0x1007b46f
mov dword [edi + 0x48], 1
lea eax, [edx - 6]
mov ecx, 0x10
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
sbb ecx, ecx
not ecx
and ecx, eax
mov dword [ebp - 0x80], ecx
mov ecx, dword [edi + 0x20]
sub ecx, dword [edi + 0x10]
cmp dword [ebp - 0x90], 0
mov dword [ebp - 0x9c], ecx
jne 0x1007b4a4
cmp edx, 0xe
jne 0x1007b4a4
mov edx, 0xd
mov byte [eax], dl
mov edx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x58]
inc edx
inc ebx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
movzx eax, al
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x8c], eax
cmp ecx, 1
je 0x10078e6b
mov edx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x58]
mov eax, dword [edi + 0x68]
inc ebx
mov dword [ebp - 0xa8], eax
movzx ecx, byte [edx - 1]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xac], eax
cmp ecx, 1
je 0x1007b540
cmp dword [ebp - 0xec], 0
je 0x1007b540
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
inc ebx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edi + 0x68]
mov ebx, dword [ebp - 0x58]
or ecx, dword [ebp - 0xec]
inc ebx
movzx eax, byte [edx - 1]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x58], ebx
jmp 0x10077bb0
mov dword [esi], 0x14
jmp 0x1007b8f3
cmp edx, ecx
sbb eax, eax
and eax, 0x23
add eax, 0x34
mov dword [esi], eax
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x40
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x1f
jmp 0x1007b8f3
mov ebx, dword [ebp - 0x58]
mov dword [ecx], 0x2d
jmp 0x1007b8f3
mov dword [ecx], 7
jmp 0x1007b8f3
mov ebx, dword [ebp - 0x58]
mov dword [ecx], 0x47
jmp 0x1007b8f3
mov dword [ebx], 0x53
mov ebx, dword [ebp - 0x58]
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x53
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 8
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 6
jmp 0x1007b8f3
mov ecx, dword [ebp - 0x60]
xor eax, eax
cmp byte [ebx + 1], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
mov dword [ecx], eax
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 5
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 4
jmp 0x1007b8f3
mov dword [edi], 9
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x4b
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x3b
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x42
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x3c
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x3c
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x1c
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x54
jmp 0x1007b8f3
mov al, byte [ebx]
cmp al, 0x30
jb 0x1007b6c2
cmp al, 0x39
ja 0x1007b6c2
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
cmp al, 0x30
jae 0x1007b6b4
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x3d
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x23
jmp 0x1007b8f3
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x60]
mov dword [eax], 0xf
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
lea ebx, [esi + 2]
mov dword [eax], 0x18
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x26
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x27
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x30
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x2b
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x41
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x15
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x31
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x2a
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x1d
jmp 0x1007b8f3
mov dword [esi], 0x3f
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
dec ebx
mov dword [eax], 0xc
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x36
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0x1b
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0xe
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x52
jmp 0x1007b8f3
mov al, byte [ebx]
cmp al, 0x30
jb 0x1007b7f3
cmp al, 0x39
ja 0x1007b7f3
inc ebx
mov dword [ebp - 0x58], ebx
mov al, byte [ebx]
cmp al, 0x30
jae 0x1007b7e5
mov dword [esi], 0x3d
jmp 0x1007b8f3
mov dword [esi], 0x3a
jmp 0x1007b8f3
mov dword [esi], 0x1d
jmp 0x1007b8f3
mov dword [esi], 0x39
jmp 0x1007b8f3
mov dword [esi], 0x45
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x3e
jmp 0x1007b8f3
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
mov dword [eax], 0xf
jmp 0x1007b8f3
mov ebx, dword [ebp - 0x58]
mov dword [esi], 0x2d
jmp 0x1007b8f3
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x98]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x8c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xb8]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0xa8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x134]
mov dword [eax], edx
mov eax, dword [ebp - 0x11c]
mov dword [eax], ebx
test esi, esi
je 0x1007b8d7
mov ecx, dword [esi]
mov eax, edx
mov edi, dword [ebp - 0xf4]
sub eax, edi
sub dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], eax
jge 0x1007b8d1
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x14
jmp 0x1007b8f3
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.10071699
mov esp, ebp
pop ebp
ret
mov dword [esi], 0x34
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov dword [eax], ebx
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.10071699
mov esp, ebp
pop ebp
ret