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

Disassembly:
sub esp, 0x140
push ebx
push ebp
push esi
push edi
mov edi, edx
mov esi, ecx
mov dword [esp + 0x14], edi
test edi, edi
jne 0x1003fd2a
cmp dword [esp + 0x164], edx
jne 0x1003fd0f
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x178]
call fcn.1003fcd0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
lea eax, [esp + 0x164]
sub eax, esi
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x44], 0
mov dword [esp + 0x34], 0
mov ebp, dword [eax + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0x18], ebp
cmp eax, dword [ecx + 4]
jae 0x10044553
nop word [eax + eax]
inc eax
mov dword [ecx], eax
mov eax, dword [esp + 0x164]
cmp eax, dword [ecx + 8]
jae 0x1004d0a4
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x98], 2
jne 0x1003fda7
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x160], ecx
mov dword [eax + 0x98], 0
mov ebx, dword [esp + 0x158]
mov edx, eax
jmp 0x1003fdd1
mov edx, dword [esp + 0x15c]
jmp 0x1003fdc9
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov cl, byte [edi]
movzx edi, cl
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], edi
cmp edi, 0xa1
ja case.0x1003fdfd.98
movzx eax, byte [edi + 0x1004d200]
jmp dword [eax*4 + 0x1004d0b4]
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x15c]
inc dword [eax + 0x28]
mov eax, dword [eax + 0x28]
cmp eax, dword [edx + 0x2c]
ja 0x10049f87
mov ebx, dword [esp + 0x14]
movzx eax, byte [ebx]
movzx edi, byte [ebx + 1]
add edi, ebx
mov ebx, dword [esp + 0x158]
movzx ecx, byte [eax + 0x10067470]
add edi, ecx
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
mov eax, dword [esp + 0x15c]
mov ebp, esi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], edi
mov ebx, dword [eax + 0xac]
nop dword [eax + eax]
mov eax, dword [esp + 0x164]
lea edx, [edi + 3]
inc eax
mov ecx, esi
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x1003ff6d
cmp edi, 0xfffffc20
jne 0x1003fed6
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x15c]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x1004a0d8
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x77
je 0x1003fede
cmp byte [eax], 0x77
jmp 0x1003fed8
test edi, edi
jne 0x1004a0d8
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x15c]
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [eax + 0xac], ebx
cmp byte [edi], 0x77
je 0x1003fe60
mov edx, dword [esp + 0x154]
mov al, byte [edi]
cmp al, 0x82
je 0x1003ff20
cmp al, 0x77
jne case.0x1004c9f2.14
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x1003ff20
cmp byte [edi], 0x78
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x14], edi
mov ebx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov dword [esp + 0x158], ebx
je 0x1003ff5f
cmp esi, ebp
jne 0x10049a8f
add edi, 3
mov edx, eax
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x154], edx
jmp 0x1003ff12
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], 0
jmp 0x10040c6f
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], 0
jmp 0x10040c8c
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
add edx, 3
shl ecx, 8
mov ebp, edx
or ecx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
cmp byte [edx], 0x76
jne 0x100400ee
mov edi, dword [0x1008701c]
test edi, edi
je 0x100400de
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x70], 2
movzx eax, byte [edx + 1]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x78]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x154]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0x84], eax
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [esp + 0x88], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x98], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov dword [esp + 0x9c], ecx
sar eax, 1
mov ecx, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xb0]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x70]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.0x1004c9f2.14
js 0x1004a0d8
mov ecx, dword [esp + 0x1c]
mov edx, ebp
add edx, 6
add ecx, 0xfffffffa
mov dword [esp + 0x14], edx
mov ebp, edx
mov dword [esp + 0x1c], ecx
movzx eax, byte [edx]
xor ebx, ebx
mov dword [esp + 0x28], eax
add eax, 0xffffff73
cmp eax, 0x10
ja case.0x1004010c.146
movzx eax, byte [eax + 0x1004d2bc]
jmp dword [eax*4 + 0x1004d2a4]
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0xa4]
test edx, edx
je case.0x1004010c.145
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x1004014a
cmp ecx, dword [edx + 4]
jne 0x100403b9
mov ecx, dword [esp + 0x28]
mov ebx, 1
mov ebp, dword [esp + 0x158]
movzx ecx, byte [ecx + 0x10067470]
jmp 0x100403c4
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0xa4], ebx
je case.0x1004010c.145
movzx edi, byte [edx + 3]
movzx eax, byte [edx + 4]
movzx ecx, byte [edx + 1]
movzx edx, byte [edx + 2]
shl edi, 8
or edi, eax
shl ecx, 8
mov eax, dword [esp + 0x15c]
or edx, ecx
imul edx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add edx, eax
test edi, edi
je 0x100403b9
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0xa4]
mov ebp, dword [eax + 4]
nop
movzx eax, byte [edx]
xor ebx, ebx
movzx ecx, byte [edx + 1]
dec edi
shl eax, 8
or ecx, eax
cmp ecx, ebp
sete bl
je 0x10040220
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0x24]
add edx, eax
mov dword [esp + 0x30], edx
test edi, edi
jg 0x100401c0
jmp 0x10040220
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x158]
jge 0x1004021e
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x1004021e
mov ebx, 1
jmp 0x10040220
xor ebx, ebx
mov ebp, dword [esp + 0x158]
test ebx, ebx
je 0x100402b7
mov ecx, dword [esp + 0x28]
movzx ecx, byte [ecx + 0x10067470]
jmp 0x100403c4
mov edi, dword [esp + 0x14]
movzx edx, byte [edx + 3]
mov ebp, dword [esp + 0x158]
shl edx, 8
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 1]
or edx, eax
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x15c]
imul ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add eax, ecx
test edx, edx
je 0x100402b7
mov edi, eax
nop word [eax + eax]
movzx ecx, byte [eax + 1]
dec edx
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
add ecx, ecx
cmp ecx, ebp
jge 0x100402a3
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x100402c0
mov eax, dword [esp + 0x15c]
xor ebx, ebx
mov eax, dword [eax + 0x24]
add eax, edi
mov edi, eax
test edx, edx
jg 0x10040280
mov ecx, dword [esp + 0x1c]
jmp 0x100403c4
mov ecx, dword [esp + 0x28]
mov ebx, 1
movzx ecx, byte [ecx + 0x10067470]
jmp 0x100403c4
mov eax, dword [esp + 0x15c]
mov ecx, esi
mov dword [eax + 0x98], 1
mov eax, dword [esp + 0x164]
inc eax
push eax
push 0
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 1
jne 0x100403a9
mov eax, dword [esp + 0x15c]
mov ebx, edi
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x30], ebx
mov eax, dword [eax + 0x8c]
cmp eax, ecx
cmovg ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x158], ecx
cmp byte [eax], 0x92
jne 0x1004034f
lea eax, [ebp + 1]
mov ebp, eax
movzx edi, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edi, 8
or edi, eax
add edi, ebp
mov edx, edi
cmp byte [edx], 0x77
jne 0x10040385
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
mov edx, ebx
mov dword [esp + 0x14], ebx
cmp byte [edx], 0x77
je 0x10040365
mov ebx, dword [esp + 0x30]
mov edi, edx
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x158]
movzx eax, byte [ecx + 0x10067470]
movzx ecx, byte [ecx + 0x10067470]
sub edi, eax
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x100403c4
test edi, edi
je 0x100403b9
cmp edi, 0xfffffc20
jne 0x1004a0d8
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x14]
add edi, ecx
mov dword [esp + 0x14], edi
test ebx, ebx
jne 0x10049af9
cmp byte [edi - 3], 0x77
je 0x10049af9
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
jmp 0x1003fdcd
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x15c]
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x90]
lea ebx, [edx + edx]
and eax, 0xffff0000
or eax, edx
mov dword [ecx + 0x90], eax
cmp ebx, dword [ecx + 0x14]
jl 0x1004044d
mov ebx, dword [esp + 0x158]
mov edx, ecx
or eax, 0x10000
add edi, 3
mov dword [esp + 0x14], edi
mov dword [edx + 0x90], eax
jmp 0x1003fdcd
mov eax, ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [esp + 0x15c]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esp + 0x158]
cmp ebx, ecx
jl 0x10042a14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x1004049f
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x14]
add ebx, 2
mov edx, dword [esp + 0x15c]
add edi, 3
mov dword [esp + 0x158], ebx
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x100404e7
mov dword [eax + 0x98], 0
mov ebp, 1
jmp 0x100404e9
xor ebp, ebp
mov edi, dword [esp + 0x14]
nop dword [eax]
mov eax, dword [esp + 0x164]
lea edx, [edi + 3]
inc eax
mov ecx, esi
push eax
push 0
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x10040598
cmp edi, 0xfffffc19
je 0x10040598
mov eax, dword [esp + 0x15c]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jne 0x1004056e
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x15c]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x1004a0d8
cmp byte [edx], 0x77
je 0x10040576
cmp byte [eax], 0x77
jmp 0x10040570
test edi, edi
jne 0x1004a0d8
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x14], edi
cmp byte [edi], 0x77
je 0x100404f0
jmp 0x100405ad
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x154], eax
cmp byte [edi], 0x78
je case.0x1004c9f2.14
test ebp, ebp
jne 0x1004a14a
nop
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x100405c0
mov eax, dword [esp + 0x15c]
add edi, 3
mov dword [esp + 0x14], edi
mov edx, eax
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x158], ebx
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x1004061d
mov dword [eax + 0x98], 0
mov ebp, 1
jmp 0x1004061f
xor ebp, ebp
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x164]
lea edx, [edi + 3]
inc eax
mov ecx, esi
push eax
push 0
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
mov eax, dword [esp + 0x15c]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jg 0x10040694
jne 0x100406c8
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or eax, ecx
add eax, edi
cmp dword [edx + 0x7c], eax
jae 0x100406f0
cmp byte [edi], 0x77
je 0x100406aa
cmp byte [eax], 0x77
jne 0x100406f0
jmp 0x100406aa
mov eax, edi
sub eax, 0
jne 0x10049fe7
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x14], edi
cmp byte [edi], 0x77
je 0x10040623
jmp 0x10040704
cmp edi, 0xfffffc19
je case.0x1004c9f2.14
lea eax, [edi + 0x3e4]
cmp eax, 3
ja 0x1004a0d8
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
nop
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x100406f0
test ebp, ebp
jne 0x1004a14a
mov ebx, dword [esp + 0x158]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
test ebp, ebp
je 0x10040769
or ecx, eax
mov eax, dword [esp + 0x15c]
jbe 0x1004077d
mov edx, dword [eax + 0x74]
dec esi
dec ecx
cmp esi, edx
jb case.0x1004c9f2.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x1004075c
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x10040752
test ecx, ecx
jg 0x10040740
mov eax, dword [esp + 0x15c]
jmp 0x1004077d
or ecx, eax
mov eax, dword [esp + 0x15c]
sub esi, ecx
cmp esi, dword [eax + 0x74]
jb case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [eax + 0x84]
jae 0x10042a22
add edi, 3
mov dword [eax + 0x84], esi
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov edi, dword [0x1008701c]
test edi, edi
je 0x100408c0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0xa4], 2
movzx eax, byte [edx + 1]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x74]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x78]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x154]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0xb8], eax
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [esp + 0xbc], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0xcc], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov dword [esp + 0xd0], ecx
sar eax, 1
mov ecx, 0xffffffff
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xb0]
mov dword [esp + 0xd4], eax
lea eax, [esp + 0xa4]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.0x1004c9f2.14
js 0x1004a0d8
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
add edi, 6
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x15c]
movzx ebx, byte [edi + 1]
mov edx, dword [eax + 0x70]
movzx eax, byte [edi + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
cmp ebx, edx
jne 0x100408fc
xor ecx, ecx
jmp 0x10040909
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x10040934
nop word [eax + eax]
cmp ecx, dword [eax + 4]
jne 0x1004092e
cmp esi, dword [eax + 0x14]
je 0x10049ffd
mov eax, dword [eax]
test eax, eax
jne 0x10040920
mov eax, dword [esp + 0x15c]
add edi, 3
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x14], edi
mov eax, dword [eax + 0x90]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x5c], esi
mov eax, dword [eax + 0xa4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x15c]
mov dword [eax + 0xa4], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x54], ecx
cmp ecx, 0x1e
jg 0x1004098f
lea eax, [esp + 0xd8]
mov dword [esp + 0x50], eax
jmp 0x100409af
lea eax, [ecx*4]
push eax
call fcn.10036a50
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
je 0x1004a036
mov ecx, dword [esp + 0x54]
shl ecx, 2
push ecx
mov ecx, dword [esp + 0x160]
push dword [ecx + 0xc]
push eax
call fcn.1000f420
add esp, 0xc
cmp byte [ebx], 0x88
sbb ebp, ebp
inc ebp
nop dword [eax]
test ebp, ebp
je 0x100409e5
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ebx]
push dword [esp + 0x164]
push dword [esp + 0x164]
movzx edx, byte [eax + 0x10067470]
push dword [esp + 0x164]
add edx, ebx
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
mov eax, dword [esp + 0x54]
shl eax, 2
push eax
mov eax, dword [esp + 0x160]
push dword [esp + 0x54]
push dword [eax + 0xc]
call fcn.1000f420
mov ecx, dword [esp + 0x168]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0x90], eax
mov eax, dword [esp + 0x48]
mov dword [ecx + 0xa4], eax
cmp edi, 1
je 0x10040ae3
cmp edi, 0xfffffc19
je 0x10040ae3
cmp edi, 0xfffffc1c
jl 0x10040a7c
cmp edi, 0xfffffc20
jle 0x10040abe
test edi, edi
jne 0x1004a00d
mov eax, dword [esp + 0x15c]
lea ecx, [esp + 0x48]
mov dword [eax + 0xa4], ecx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x100409d0
mov ecx, dword [esp + 0x15c]
mov eax, dword [esp + 0x48]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je case.0x1004c9f2.14
push eax
call fcn.10036a40
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x10040afb
push eax
call fcn.10036a40
add esp, 4
mov eax, dword [esp + 0x15c]
mov esi, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x154], eax
jmp 0x1003fdbb
mov edi, dword [esp + 0x14]
nop dword [eax + eax]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x10040b20
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push dword [esp + 0x164]
mov edx, ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop dword [eax]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x10040b80
mov edx, dword [esp + 0x15c]
lea edi, [ebx + 3]
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
mov edx, eax
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x10040bc0
mov eax, dword [esp + 0x164]
add edx, 3
inc eax
mov ecx, esi
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebx
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
jmp 0x1003fdd1
mov edx, dword [esp + 0x14]
inc edx
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x10040c20
lea edi, [edx + 3]
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x28], 1
mov dword [esp + 0x14], ecx
movzx edi, byte [ecx]
mov dword [esp + 0x2c], edi
cmp edi, 0x86
je 0x10040c6f
cmp edi, 0x8b
jne 0x10040c8c
movzx ebp, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl ebp, 8
or ebp, eax
lea eax, [ebp*2]
cmp eax, dword [edx + 0x14]
jl 0x10040e26
mov eax, dword [esp + 0x15c]
mov ebx, ecx
xor ebp, ebp
sub ebx, dword [eax + 0x70]
mov eax, dword [eax + 0x90]
mov dword [esp + 0x30], eax
cmp edi, 0x88
jb 0x10040cbd
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push dword [esp + 0x164]
push dword [esp + 0x164]
movzx edx, byte [eax + 0x10067470]
push dword [esp + 0x164]
add edx, ecx
mov ecx, esi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1a
jne 0x10040d4b
mov eax, dword [esp + 0x15c]
mov ebp, 1
mov ecx, dword [eax + 0x8c]
mov edi, dword [eax + 0x70]
mov dword [esp + 0x158], ecx
add edi, ebx
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov dword [esp + 0x14], edi
mov dword [esp + 0x154], ecx
cmp esi, eax
je 0x10040dd0
mov edi, dword [esp + 0x2c]
mov esi, eax
mov ecx, dword [esp + 0x14]
jmp 0x10040ca4
cmp edi, 0xfffffc20
jne 0x10040d8a
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x7c], eax
jae 0x1004a0d8
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x77
je 0x10040d99
cmp byte [eax], 0x77
jne 0x1004a0d8
jmp 0x10040d99
test edi, edi
jne 0x1004a0d8
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x14], edi
cmp byte [edi], 0x77
jne 0x10040dfe
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0x90], eax
jmp 0x10040ca4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x10040dd0
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
test ebp, ebp
jne 0x10040e0c
cmp dword [esp + 0x28], ebp
je case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
sub ecx, dword [edx + 0x70]
shl eax, 2
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], 0
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x38], edx
mov eax, dword [eax + 0x10]
sub eax, ebp
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x90]
nop
mov ecx, dword [eax + 0x10]
mov edx, esi
sub edx, dword [eax + 0x74]
sub ecx, ebp
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x10040e99
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push dword [esp + 0x164]
push dword [esp + 0x164]
movzx edx, byte [eax + 0x10067470]
push dword [esp + 0x164]
add edx, ecx
mov ecx, esi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1a
jne 0x10040f3a
mov eax, dword [esp + 0x15c]
mov edi, 1
mov dword [esp + 0x30], edi
mov ecx, dword [eax + 0x8c]
mov edx, dword [eax + 0x70]
add edx, dword [esp + 0x40]
mov ebx, dword [eax + 0x90]
mov dword [esp + 0x158], ecx
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov dword [esp + 0x14], edx
mov dword [esp + 0x154], ecx
cmp esi, eax
je 0x10040fc0
mov edi, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x15c]
jmp 0x10040e70
cmp edi, 0xfffffc20
jne 0x10040f75
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x15c]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x1004a0d8
cmp byte [edx], 0x77
je 0x10040f81
cmp byte [eax], 0x77
jne 0x1004a0d8
jmp 0x10040f81
test edi, edi
jne 0x1004a0d8
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x90], ebx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esp + 0x14], edx
cmp byte [edx], 0x77
jne 0x10040fda
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x15c]
jmp 0x10040e70
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x10040fc0
mov dword [esp + 0x14], edx
jmp 0x1004101f
mov edi, dword [esp + 0x30]
test edi, edi
jne 0x1004101f
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov eax, dword [eax + 0xc]
mov dword [ecx + eax], edx
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 0xc]
mov dword [ecx + eax + 4], edx
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x24]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
sub ecx, ebp
mov dword [eax + ecx*4], edx
cmp dword [esp + 0x28], 0
jne 0x1004102e
test edi, edi
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov edi, dword [esp + 0x14]
mov ebx, edi
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
mov dword [esp + 0x1c], ebx
mov cl, byte [ebx]
cmp cl, 0x88
jae 0x10041075
cmp cl, 0x81
je 0x10041075
xor ebp, ebp
jmp 0x1004108b
mov ebp, dword [esp + 0x160]
lea eax, [ebp + 4]
mov ebp, dword [ebp]
mov dword [esp + 0x160], ebp
mov ebp, dword [eax]
cmp cl, 0x7d
jb 0x10041099
cmp cl, 0x80
jbe 0x1004a12d
cmp cl, 0x82
je 0x1004a12d
cmp cl, 0x85
je 0x100410b6
cmp cl, 0x8a
je 0x100410b6
cmp cl, 0x86
je 0x100410b6
cmp cl, 0x8b
jne 0x10041121
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xa4]
lea ebx, [edx + edx]
mov ecx, ebx
test eax, eax
je 0x100410e2
cmp dword [eax + 4], edx
je 0x1004a046
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x15c]
mov eax, dword [eax + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [edi + 0x90], eax
cmp ecx, dword [edi + 0x14]
jl 0x10041194
mov ebx, dword [esp + 0x1c]
mov edx, edi
mov edi, dword [esp + 0x14]
or eax, 0x10000
mov dword [edx + 0x90], eax
mov ecx, dword [esp + 0x158]
mov al, byte [edi]
cmp al, 0x7b
je 0x1004a107
cmp al, 0x78
je 0x1004113e
cmp esi, ebp
jne 0x10049b48
cmp byte [ebx], 0x81
jne 0x10042a1b
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push ecx
push dword [esp + 0x164]
lea edx, [edi + 3]
mov ecx, esi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov eax, dword [esp + 0x15c]
mov dword [eax + 0xb4], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edi, dword [esp + 0x158]
cmp ecx, edi
jle 0x100411bf
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
lea edi, [eax + edi*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x100411bf
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x15c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [esp + 0x15c]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esp + 0x158]
cmp ecx, ebx
jg 0x10041207
lea ecx, [ebx + 2]
mov dword [esp + 0x158], ecx
mov ebx, dword [esp + 0x1c]
jmp 0x10041128
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x44], 0
je 0x1004122f
cmp esi, dword [eax + 0x74]
je case.0x1004c9f2.14
jmp 0x1004122f
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x74]
jne case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
inc edi
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x44], 0
je 0x1004126a
cmp esi, dword [eax + 0x74]
je case.0x1004c9f2.14
mov ecx, dword [eax + 0x74]
cmp esi, ecx
je 0x100422db
cmp esi, dword [eax + 0x78]
je case.0x1004c9f2.14
mov edx, dword [eax + 0x18]
test edx, edx
je 0x100412c1
cmp esi, ecx
jbe case.0x1004c9f2.14
push ebp
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.100500e0
add esp, 0xc
test eax, eax
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov edx, dword [eax + 0x1c]
lea eax, [edx + ecx]
cmp esi, eax
jb case.0x1004c9f2.14
mov edi, dword [esp + 0x15c]
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [edi + 0x34]
jne case.0x1004c9f2.14
cmp edx, 1
mov edx, edi
je 0x1004123f
mov al, byte [ecx + 1]
cmp al, byte [edx + 0x35]
jne case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
inc edi
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x15c]
mov eax, dword [eax + 0x94]
add eax, dword [edx + 0x74]
cmp esi, eax
jne case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
inc edi
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x154], esi
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x10041416
mov edx, dword [eax + 0x18]
test edx, edx
je 0x10041394
push ebp
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.10050270
add esp, 0xc
test eax, eax
jne 0x10041238
mov eax, dword [esp + 0x15c]
jmp 0x100413c4
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x100413c4
mov ecx, dword [esp + 0x15c]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x100413c2
cmp edx, 1
mov edx, ecx
je 0x1004123f
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x1004123f
mov eax, ecx
cmp dword [eax + 0x88], 0
je case.0x1004c9f2.14
mov ecx, dword [esp + 0x15c]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb case.0x1004c9f2.14
cmp dword [ecx + 0x18], 0
jne case.0x1004c9f2.14
cmp dword [ecx + 0x1c], 2
jne case.0x1004c9f2.14
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne case.0x1004c9f2.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x1004cb5c
cmp dword [eax + 0x48], 0
jne case.0x1004c9f2.14
jmp 0x10041544
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x48], 0
jne case.0x1004c9f2.14
cmp dword [eax + 0x58], 0
je 0x1004149e
jmp 0x10041445
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jb case.0x1004c9f2.14
cmp dword [eax + 0x88], 0
je 0x10041238
cmp esi, dword [eax + 0x84]
jbe 0x10041238
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x1004cb62
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x78]
cmp esi, eax
jae 0x1004153d
mov ebx, dword [esp + 0x15c]
mov edx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test edx, edx
je 0x10041516
push ebp
push edi
push eax
mov ecx, esi
call fcn.10050270
add esp, 0xc
test eax, eax
jne 0x10041532
cmp dword [ebx + 0x88], 0
je case.0x1004c9f2.14
lea eax, [esi + 1]
cmp eax, dword [ebx + 0x78]
jb case.0x1004c9f2.14
cmp dword [ebx + 0x18], 0
jne case.0x1004c9f2.14
cmp dword [ebx + 0x1c], 2
jne case.0x1004c9f2.14
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.0x1004c9f2.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jmp 0x1004cb5c
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x100414cb
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x100414cb
cmp ecx, 1
je 0x10041532
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
jne 0x100414cb
mov eax, ebx
mov eax, dword [eax + 0x78]
sub eax, dword [edi]
cmp esi, eax
jne 0x100414cb
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x100422db
cmp esi, dword [eax + 0x84]
jbe 0x100422db
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x1004cb62
mov edi, dword [esp + 0x14]
mov edx, eax
mov ebx, dword [esp + 0x158]
inc edi
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
test ebp, ebp
je 0x100417f0
cmp esi, dword [eax + 0x74]
je 0x100416e8
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x100415bc
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x100415b0
mov eax, dword [esp + 0x15c]
cmp ecx, dword [eax + 0x84]
jae 0x100415d1
mov dword [eax + 0x84], edx
movzx ebx, byte [edx]
mov ecx, ebx
cmp ebx, 0xc0
jb 0x10041689
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x100415fd
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x1004167e
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x10041610
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x10041678
and eax, 0x3f
test bl, 8
jne 0x1004162b
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x10041678
test bl, 4
jne 0x1004164f
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
jmp 0x10041678
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x15c]
mov ecx, ebx
cmp dword [eax + 0x54], 0
je 0x100416d0
cmp ecx, 0x5f
je 0x100416c9
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x100416c9
cmp eax, 3
jne 0x100416e8
mov edi, 1
jmp 0x100416ea
cmp ecx, 0x100
jae 0x100416e8
mov eax, dword [eax + 0x40]
test byte [ebx + eax], 0x10
je 0x100416e8
mov edi, 1
jmp 0x100416ea
xor edi, edi
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004188d
movzx edx, byte [esi]
mov ecx, edx
cmp edx, 0xc0
jb 0x100417b2
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x10041726
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x100417a7
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x10041739
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x100417a1
and eax, 0x3f
test dl, 8
jne 0x10041754
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x100417a1
test dl, 4
jne 0x10041778
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x100417a1
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, dword [esp + 0x15c]
mov ecx, edx
cmp dword [eax + 0x54], 0
je 0x100417d8
cmp ecx, 0x5f
je 0x10041920
mov eax, ecx
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
and ecx, 0x7f
jmp 0x100418fd
cmp ecx, 0x100
jae 0x100418b2
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jmp 0x1004192e
cmp esi, dword [eax + 0x74]
je 0x1004187f
cmp esi, dword [eax + 0x84]
ja 0x10041813
mov ecx, dword [esp + 0x15c]
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
mov eax, ecx
cmp dword [eax + 0x54], 0
movzx ecx, byte [esi - 1]
je 0x1004186f
cmp ecx, 0x5f
je 0x10041868
mov eax, ecx
test eax, eax
jns 0x1004182b
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
and ecx, 0x8000007f
jns 0x10041845
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x10041868
cmp eax, 3
jne 0x1004187f
mov edi, 1
jmp 0x10041881
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x1004187f
mov edi, 1
jmp 0x10041881
xor edi, edi
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jb 0x100418cc
cmp dword [eax + 0x88], 0
je 0x100418b2
cmp esi, dword [eax + 0x84]
jbe 0x100418b2
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x1004cb62
xor ecx, ecx
mov edx, dword [esp + 0x14]
mov al, byte [edx]
inc edx
mov dword [esp + 0x14], edx
cmp al, 5
jne 0x1004193a
xor eax, eax
cmp ecx, edi
sete al
jmp 0x10041941
cmp dword [eax + 0x54], 0
movzx ecx, byte [esi]
je 0x10041927
cmp ecx, 0x5f
je 0x10041920
mov eax, ecx
test eax, eax
jns 0x100418e3
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
and ecx, 0x8000007f
jns 0x100418fd
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x10041920
cmp eax, 3
jne 0x100418b2
mov ecx, 1
jmp 0x100418b4
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x100418b2
mov ecx, 1
jmp 0x100418b4
xor eax, eax
cmp ecx, edi
setne al
test eax, eax
jne case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
jmp 0x1003fdd1
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x100419d9
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x10041994
push ebp
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.10050270
add esp, 0xc
test eax, eax
jne case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x10041a13
mov ecx, dword [esp + 0x15c]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
mov eax, ecx
jb 0x10041a13
cmp dword [eax + 0x18], 0
jne 0x10041a13
cmp dword [eax + 0x1c], 2
jne 0x10041a13
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov eax, ecx
jne 0x10041a13
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x1004cb62
jmp 0x10041a13
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x78]
sub eax, ecx
cmp esi, eax
ja 0x1004198d
mov edx, dword [esp + 0x15c]
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x10041a08
cmp ecx, 1
je case.0x1004c9f2.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x1004c9f2.14
mov eax, edx
jmp 0x10041994
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x1004a2b4
inc esi
test ebp, ebp
je 0x10041238
cmp esi, edx
jae 0x10041238
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x10041238
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x10041a31
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
mov edi, dword [esp + 0x14]
inc esi
inc edi
mov edx, eax
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x10041b79
cmp edx, 0xc0
jb 0x10041b79
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x10041ac8
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x10041b77
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x10041aeb
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x10041b77
test dl, 8
jne 0x10041b10
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x10041b77
test dl, 4
jne 0x10041b41
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x10041b77
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0x100
jae 0x10041238
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jmp 0x10041232
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x10041c8d
cmp edx, 0xc0
jb 0x10041c8d
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x10041bdc
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x10041c8b
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x10041bff
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x10041c8b
test dl, 8
jne 0x10041c24
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x10041c8b
test dl, 4
jne 0x10041c55
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x10041c8b
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0xff
ja case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x10041dbe
cmp edx, 0xc0
jb 0x10041dbe
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x10041d0d
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x10041dbc
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x10041d30
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x10041dbc
test dl, 8
jne 0x10041d55
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x10041dbc
test dl, 4
jne 0x10041d86
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x10041dbc
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0x100
jae 0x10041238
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jmp 0x10041232
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x10041ed2
cmp edx, 0xc0
jb 0x10041ed2
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x10041e21
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x10041ed0
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x10041e44
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x10041ed0
test dl, 8
jne 0x10041e69
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x10041ed0
test dl, 4
jne 0x10041e9a
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x10041ed0
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0xff
ja case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x10042003
cmp edx, 0xc0
jb 0x10042003
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x10041f52
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x10042001
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x10041f75
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x10042001
test dl, 8
jne 0x10041f9a
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x10042001
test dl, 4
jne 0x10041fcb
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x10042001
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0x100
jae 0x10041238
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jmp 0x10041232
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x10042122
cmp ecx, 0xc0
jb 0x10042122
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x10042064
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x10042120
test cl, 0x10
jne 0x10042085
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x10042120
test cl, 8
jne 0x100420af
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x10042120
test cl, 4
jne 0x100420e5
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x10042120
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0xff
ja case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
inc edi
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
mov eax, esi
test ebp, ebp
je 0x1004224c
cmp edx, 0xc0
jb 0x1004224c
test dl, 0x20
jne 0x1004219b
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x1004224a
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x100421c2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x10042248
test dl, 8
jne 0x100421e5
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x10042248
test dl, 4
jne 0x10042214
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x10042248
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
mov eax, esi
cmp edx, 0xd
ja 0x100422b3
je 0x10042267
cmp edx, 0xa
je 0x10041238
jbe case.0x1004c9f2.14
cmp edx, 0xc
jmp 0x100422c4
mov edx, dword [esp + 0x15c]
cmp eax, edi
jb 0x10042292
cmp dword [edx + 0x88], 0
je 0x1004123f
cmp eax, dword [edx + 0x84]
jbe 0x1004123f
mov eax, edx
jmp 0x1004155d
cmp byte [esi], 0xa
jne 0x1004123f
mov edi, dword [esp + 0x14]
lea esi, [eax + 1]
mov ebx, dword [esp + 0x158]
inc edi
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
cmp edx, 0x85
je 0x100422ca
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x68], 0
jne case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, eax
mov ebx, dword [esp + 0x158]
inc edi
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
test ebp, ebp
je 0x100423e2
cmp edx, 0xc0
jb 0x100423e2
test dl, 0x20
jne 0x10042333
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x100423e2
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x1004235a
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x100423e0
test dl, 8
jne 0x1004237d
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x100423e0
test dl, 4
jne 0x100423ac
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x100423e0
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp edx, 0x180e
ja 0x10042454
je case.0x1004c9f2.14
cmp edx, 0xa0
ja 0x1004242c
je case.0x1004c9f2.14
cmp edx, 9
je case.0x1004c9f2.14
cmp edx, 0x20
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
cmp edx, 0x1680
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
cmp edx, 0x205f
ja 0x100424a2
je case.0x1004c9f2.14
cmp edx, 0x2000
jb 0x10041238
cmp edx, 0x200a
jbe case.0x1004c9f2.14
cmp edx, 0x202f
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
cmp edx, 0x3000
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
test ebp, ebp
je 0x100425ba
cmp edx, 0xc0
jb 0x100425ba
test dl, 0x20
jne 0x1004250b
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x100425ba
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x10042532
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x100425b8
test dl, 8
jne 0x10042555
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x100425b8
test dl, 4
jne 0x10042584
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x100425b8
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp edx, 0x180e
ja 0x100425f2
je 0x10041238
cmp edx, 0xa0
ja 0x100425e7
je 0x10041238
cmp edx, 9
je 0x10041238
cmp edx, 0x20
jmp 0x10041232
cmp edx, 0x1680
jmp 0x10041232
cmp edx, 0x205f
ja 0x10042623
je 0x10041238
cmp edx, 0x2000
jb case.0x1004c9f2.14
cmp edx, 0x200a
jbe 0x10041238
cmp edx, 0x202f
jmp 0x10041232
cmp edx, 0x3000
jmp 0x10041232
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
test ebp, ebp
je 0x1004271e
cmp edx, 0xc0
jb 0x1004271e
test dl, 0x20
jne 0x1004266f
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x1004271e
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x10042696
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x1004271c
test dl, 8
jne 0x100426b9
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x1004271c
test dl, 4
jne 0x100426e8
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x1004271c
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp edx, 0x85
ja 0x1004275a
je case.0x1004c9f2.14
cmp edx, 0xa
jb 0x10041238
cmp edx, 0xd
jbe case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
cmp edx, 0x2028
jb 0x10041238
cmp edx, 0x2029
jbe case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
test ebp, ebp
je 0x1004287e
cmp edx, 0xc0
jb 0x1004287e
test dl, 0x20
jne 0x100427cf
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x1004287e
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x100427f6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x1004287c
test dl, 8
jne 0x10042819
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x1004287c
test dl, 4
jne 0x10042848
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x1004287c
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp edx, 0x85
ja 0x100428b4
je 0x10041238
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
mov edi, edx
test ebp, ebp
je 0x100429cf
cmp edx, 0xc0
jb 0x100429cf
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x10042926
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x100429cd
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x10042947
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x100429cd
test dl, 8
jne 0x1004296a
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x100429cd
test dl, 4
jne 0x10042999
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x100429cd
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov edi, edx
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x10067fd0]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ebx, word [ecx*2 + 0x1006b990]
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 1]
cmp eax, 0xa
ja case.default.0x100429fe
jmp dword [eax*4 + 0x1004d2d0]
cmp dword [esp + 0x2c], 0xf
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov al, byte [ebx*8 + 0x1006a1d1]
cmp al, 9
je 0x10042a51
cmp al, 5
je 0x10042a51
cmp al, 8
je 0x10042a51
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x2c], 0xf
sete al
cmp ecx, eax
jmp 0x10042a0a
xor eax, eax
mov ecx, 1
cmp dword [esp + 0x2c], 0xf
sete al
cmp ecx, eax
jmp 0x10042a0a
mov edi, dword [esp + 0x14]
xor edx, edx
movzx ecx, byte [ebx*8 + 0x1006a1d1]
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x10067570]
setne dl
xor eax, eax
cmp dword [esp + 0x2c], 0x10
sete al
cmp edx, eax
je case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x1006a1d1]
setne cl
xor eax, eax
cmp dword [esp + 0x2c], 0x10
sete al
cmp ecx, eax
je case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x1006a1d0]
setne cl
xor eax, eax
cmp dword [esp + 0x2c], 0x10
sete al
cmp ecx, eax
je case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
movzx eax, byte [ebx*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x10042a51
cmp eax, 3
je 0x10042a51
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x2c], 0xf
sete al
cmp ecx, eax
jmp 0x10042a0a
cmp edx, 0x180e
ja 0x10042ba1
je case.0x100429fe.0
cmp edx, 0x85
ja 0x10042b8d
je case.0x100429fe.0
cmp edx, 9
jb case.0x10042bc1.8203
cmp edx, 0xd
jbe case.0x100429fe.0
cmp edx, 0x20
jmp 0x10042bda
cmp edx, 0xa0
je case.0x100429fe.0
cmp edx, 0x1680
jmp 0x10042bda
cmp edx, 0x202f
ja 0x10042bc8
je case.0x100429fe.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x10042bc1.8203
movzx eax, byte [edx + 0x1004d304]
jmp dword [eax*4 + 0x1004d2fc]
cmp edx, 0x205f
je case.0x100429fe.0
cmp edx, 0x3000
je case.0x100429fe.0
movzx eax, byte [ebx*8 + 0x1006a1d1]
xor ecx, ecx
cmp dword [eax*4 + 0x10067570], 6
sete cl
xor eax, eax
cmp dword [esp + 0x2c], 0xf
sete al
cmp ecx, eax
jmp 0x10042a0a
movzx eax, byte [ebx*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x10042a51
cmp eax, 3
je 0x10042a51
cmp edi, 0x5f
je 0x10042a51
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x2c], 0xf
sete al
cmp ecx, eax
jmp 0x10042a0a
movzx eax, byte [ecx + 2]
mov ecx, dword [eax*4 + 0x1006b850]
lea eax, [eax*4 + 0x1006b850]
cmp edi, ecx
jb 0x10042c6d
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x10042c77
mov ecx, dword [eax]
cmp edx, ecx
jae 0x10042c60
cmp dword [esp + 0x2c], 0x10
jmp 0x10042a0a
cmp dword [esp + 0x2c], 0x10
jne case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], edi
jmp 0x1003fdcd
cmp edi, 0x24
je 0x10042ccb
cmp edi, 0x40
je 0x10042ccb
cmp edi, 0x60
je 0x10042ccb
cmp edi, 0xa0
jb 0x10042cbf
cmp edi, 0xd7ff
jbe 0x10042ccb
cmp edi, 0xe000
jae 0x10042ccb
xor ecx, ecx
jmp 0x10042cd0
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x2c], 0xf
sete al
cmp ecx, eax
jne 0x10042a10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
mov edx, dword [esp + 0x18]
mov ebp, ebx
mov dword [esp + 0x30], ebx
mov ecx, esi
test edx, edx
je 0x10042e08
cmp ebx, 0xc0
jb 0x10042e08
mov al, byte [esi]
test bl, 0x20
jne 0x10042d3e
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x10042e06
lea ecx, [esi + 1]
test bl, 0x10
jne 0x10042d61
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x10042dfe
lea edx, [esi + 2]
test bl, 8
jne 0x10042d8a
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x10042dfa
lea edi, [esi + 3]
test bl, 4
jne 0x10042dbe
movzx ebp, al
and ebx, 3
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x10042dfa
mov ebp, dword [esp + 0x30]
lea ebx, [esi + 4]
and ebp, 1
movzx eax, al
and eax, 0x3f
shl ebp, 6
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x18]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ecx, esi
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx ebx, byte [eax*8 + 0x1006a1d2]
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
cmp ecx, ebp
jae 0x10042f5a
nop
test edx, edx
mov edi, 1
movzx edx, byte [esi]
je 0x10042f0f
cmp edx, 0xc0
jb 0x10042f0f
test dl, 0x20
jne 0x10042e72
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x10042f07
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x10042e91
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x10042f07
and eax, 0x3f
test dl, 8
jne 0x10042eb1
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x10042f07
test dl, 4
jne 0x10042eda
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x10042f07
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x1006b990]
movzx ecx, byte [eax*8 + 0x1006a1d2]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x10067f50], eax
je 0x10042f53
mov edx, dword [esp + 0x18]
add esi, edi
mov ebx, ecx
cmp esi, ebp
jb 0x10042e40
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x10041238
cmp esi, ebp
jb 0x10041238
jmp 0x1004145b
mov ebp, dword [esp + 0x14]
xor ebx, ebx
cmp edi, 0x74
mov edi, dword [esp + 0x15c]
sete bl
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
movzx ecx, byte [ebp + 1]
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [ebp + 2]
add ebp, 5
or ecx, eax
mov dword [esp + 0x14], ebp
imul ecx, dword [edi + 0x24]
mov eax, dword [edi + 0x30]
mov edi, dword [edi + 0x50]
mov dword [esp + 0x38], ebx
add eax, ecx
neg edi
sbb edi, edi
xor ebp, ebp
neg edi
dec edi
mov dword [esp + 0x1c], edi
test edx, edx
je 0x10043067
mov ebx, eax
nop
movzx ecx, byte [eax + 1]
dec edx
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
lea ebp, [ecx + ecx]
mov ecx, dword [esp + 0x15c]
cmp ebp, dword [esp + 0x158]
jge 0x10042ff9
mov eax, dword [ecx + 0xc]
cmp dword [eax + ebp*4], 0
jge 0x1004300a
mov eax, dword [ecx + 0x24]
add eax, ebx
mov ebx, eax
test edx, edx
jg 0x10042fd0
mov ebx, dword [esp + 0x38]
jmp 0x10043067
mov edi, dword [eax + ebp*4 + 4]
sub edi, dword [eax + ebp*4]
mov ebx, dword [esp + 0x38]
jmp 0x10043063
xor ebx, ebx
cmp edi, 0x72
mov edi, dword [esp + 0x14]
sete bl
mov dword [esp + 0x38], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
add edi, 3
shl ecx, 8
or ecx, eax
mov dword [esp + 0x14], edi
lea ebp, [ecx + ecx]
cmp ebp, dword [esp + 0x158]
jge 0x10043059
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ebp*4]
test ecx, ecx
js 0x10043059
mov edi, dword [eax + ebp*4 + 4]
sub edi, ecx
jmp 0x10043063
mov edi, dword [edx + 0x50]
neg edi
sbb edi, edi
neg edi
dec edi
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x14]
mov dl, byte [eax]
movzx ecx, dl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x10043083
movzx eax, byte [eax + 0x1004d338]
jmp dword [eax*4 + 0x1004d330]
movsx eax, byte [ecx + 0x100662c6]
lea edx, [ecx - 0x62]
inc dword [esp + 0x14]
and edx, 1
movsx ebx, byte [ecx + 0x100662d2]
test eax, eax
mov ecx, 0x7fffffff
mov dword [esp + 0x30], edx
cmove eax, ecx
mov dword [esp + 0x28], eax
jmp 0x100430f3
xor eax, eax
cmp dl, 0x69
mov edx, dword [esp + 0x14]
sete al
mov dword [esp + 0x30], eax
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
movzx ecx, byte [edx + 3]
shl ebx, 8
or ebx, eax
shl ecx, 8
movzx eax, byte [edx + 4]
or ecx, eax
mov eax, 0x7fffffff
cmove ecx, eax
add edx, 5
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edx
mov eax, ebx
test edi, edi
je 0x1003fdbb
jns 0x10043107
test ebx, ebx
je 0x1003fdbb
mov edi, 1
cmp eax, edi
jl 0x1004313a
push dword [esp + 0x38]
mov edx, esi
mov ecx, ebp
push dword [esp + 0x160]
push dword [esp + 0x24]
call fcn.1004d720
add esp, 0xc
test eax, eax
js 0x1004a15a
inc edi
add esi, eax
cmp edi, ebx
jle 0x10043110
mov edi, dword [esp + 0x28]
cmp ebx, edi
je 0x1003fdbb
cmp dword [esp + 0x30], 0
je 0x1004a1a7
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop
cmp ebx, dword [esp + 0x28]
jge case.0x1004c9f2.14
push dword [esp + 0x38]
mov edi, dword [esp + 0x160]
mov edx, esi
push edi
push dword [esp + 0x24]
mov ecx, ebp
call fcn.1004d720
add esp, 0xc
test eax, eax
js 0x1004a184
mov edx, dword [esp + 0x14]
add esi, eax
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
inc ebx
push eax
push dword [esp + 0x164]
push edi
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10043190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
push ebx
mov ebx, dword [esp + 0x160]
mov edx, esi
push ebx
push edi
mov ecx, ebp
call fcn.1004d720
add esp, 0xc
test eax, eax
js 0x1004a270
add esi, eax
mov edx, ebx
jmp 0x1003fdc2
mov ebp, dword [esp + 0x14]
mov cl, byte [ebp + 0x21]
lea ebx, [ebp + 1]
add ebp, 0x21
movzx edx, cl
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], ebp
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x10043251
movzx eax, byte [eax + 0x1004d348]
jmp dword [eax*4 + 0x1004d340]
lea eax, [edx - 0x62]
inc ebp
mov dword [esp + 0x14], ebp
cmp eax, 8
jae 0x10043270
mov ecx, eax
and ecx, 1
mov dword [esp + 0x38], ecx
jmp 0x10043278
mov dword [esp + 0x3c], 1
movsx edx, byte [eax + 0x10066334]
movsx eax, byte [eax + 0x10066328]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], eax
test eax, eax
jne 0x100432f4
mov dword [esp + 0x24], 0x7fffffff
jmp 0x100432f4
movzx edx, byte [ebp + 1]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x38], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [ebp + 3]
sete al
shl edx, 8
mov dword [esp + 0x3c], eax
movzx eax, byte [ebp + 2]
or edx, eax
shl ecx, 8
movzx eax, byte [ebp + 4]
or ecx, eax
mov eax, 0x7fffffff
cmove ecx, eax
add ebp, 5
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], ebp
jmp 0x100432f0
mov dword [esp + 0x24], 1
mov edx, 1
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x18]
mov ebp, 1
mov dword [esp + 0x30], ebp
test ecx, ecx
je 0x1004346d
cmp edx, ebp
jl 0x100434b1
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x20], ebx
cmp ebx, 0xc0
jb 0x10043431
test bl, 0x20
jne 0x10043361
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x10043431
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x10043387
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x1004342c
lea edx, [esi + 2]
test bl, 8
jne 0x100433b0
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x10043428
lea edi, [esi + 3]
test bl, 4
jne 0x100433e1
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x10043424
mov ebp, dword [esp + 0x20]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x20], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
and eax, 0x3f
or ebx, eax
cmp ebx, 0xff
jbe 0x1004343e
cmp edi, 0x6e
jmp 0x10043454
mov ecx, ebx
mov eax, 1
and ecx, 7
shr ebx, 3
shl eax, cl
mov ecx, dword [esp + 0x28]
test byte [ebx + ecx], al
je case.0x1004c9f2.14
inc ebp
mov dword [esp + 0x30], ebp
cmp ebp, edx
jle 0x10043320
mov ebx, dword [esp + 0x28]
jmp 0x100434ad
cmp edx, 1
jl 0x100434b1
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x1004a2ad
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x1004c9f2.14
mov edx, dword [esp + 0x1c]
inc ebp
cmp ebp, edx
jle 0x10043480
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
cmp edx, eax
je 0x1003fdbb
cmp dword [esp + 0x38], 0
jne 0x1004a2e0
mov ebp, esi
test ecx, ecx
je 0x100436fd
cmp edx, eax
jge 0x100435db
mov ecx, dword [esp + 0x15c]
mov ebx, dword [ecx + 0x78]
cmp esi, ebx
jae 0x100436c4
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x100435c4
test dl, 0x20
jne 0x1004351e
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov edi, 2
jmp 0x100435c0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x10043540
and edx, 0xf
mov edi, 3
shl edx, 6
or ecx, edx
jmp 0x100435b6
and eax, 0x3f
test dl, 8
jne 0x10043560
and edx, 7
mov edi, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x100435b6
test dl, 4
jne 0x10043589
and edx, 3
mov edi, 5
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x100435b6
and edx, edi
mov edi, 6
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov eax, dword [esp + 0x24]
cmp edx, 0xff
jbe 0x1004368c
cmp dword [esp + 0x2c], 0x6e
jne 0x100436ac
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, ebx
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov eax, esi
dec esi
cmp eax, ebp
je case.0x1004c9f2.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x1004364a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x10043640
mov eax, dword [esp + 0x164]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10043626
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x28]
test byte [edx + ecx], al
je 0x100435db
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add esi, edi
inc edx
mov dword [esp + 0x1c], edx
cmp edx, eax
jl 0x100434e4
jmp 0x100435db
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x100435e2
cmp esi, dword [edx + 0x84]
jbe 0x100435e2
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x100435e2
cmp edx, eax
jge 0x1004373f
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x100437ae
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
test byte [edx + ebx], al
je 0x1004373f
mov eax, dword [esp + 0x1c]
inc esi
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x24]
jl 0x10043710
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
cmp esi, ebp
jb case.0x1004c9f2.14
nop dword [eax]
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov edx, dword [esp + 0x15c]
dec esi
cmp esi, ebp
jae 0x10043760
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10043746
cmp esi, dword [edx + 0x84]
jbe 0x10043746
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x10043746
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
lea ebp, [edi + 3]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x30], ebp
add edi, ecx
mov dword [esp + 0x14], edi
mov cl, byte [edi]
movzx edx, cl
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x10043815
movzx eax, byte [eax + 0x1004d35c]
jmp dword [eax*4 + 0x1004d354]
lea eax, [edx - 0x62]
inc edi
mov dword [esp + 0x14], edi
cmp eax, 8
jae 0x10043834
mov ecx, eax
and ecx, 1
mov dword [esp + 0x38], ecx
jmp 0x1004383c
mov dword [esp + 0x3c], 1
movsx ebx, byte [eax + 0x10066334]
movsx eax, byte [eax + 0x10066328]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x100438b8
mov dword [esp + 0x2c], 0x7fffffff
jmp 0x100438b8
movzx ebx, byte [edi + 1]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x38], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edi + 3]
sete al
shl ebx, 8
mov dword [esp + 0x3c], eax
movzx eax, byte [edi + 2]
or ebx, eax
shl ecx, 8
movzx eax, byte [edi + 4]
or ecx, eax
mov eax, 0x7fffffff
cmove ecx, eax
add edi, 5
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], edi
jmp 0x100438b4
mov dword [esp + 0x2c], 1
mov ebx, 1
mov dword [esp + 0x1c], ebx
mov edi, 1
cmp ebx, edi
jl 0x100439e4
nop word [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
mov edx, dword [esp + 0x18]
test edx, edx
je 0x100439c2
cmp ebx, 0xc0
jb 0x100439c2
test bl, 0x20
jne 0x10043915
movzx eax, byte [esi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
inc esi
jmp 0x100439c2
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x1004393c
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add esi, 2
jmp 0x100439c2
test bl, 8
jne 0x1004395f
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
jmp 0x100439c2
test bl, 4
jne 0x1004398e
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
jmp 0x100439c2
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
push edx
mov edx, ebp
mov ecx, ebx
call fcn.1004fa00
add esp, 4
test eax, eax
je case.0x1004c9f2.14
mov ebx, dword [esp + 0x1c]
inc edi
cmp edi, ebx
jle 0x100438d0
mov eax, dword [esp + 0x2c]
cmp ebx, eax
je 0x1003fdbb
cmp dword [esp + 0x38], 0
jne 0x1004a58e
mov ebp, esi
cmp ebx, eax
jge 0x10043b1b
nop word [eax + eax]
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x10043bcc
mov edx, dword [esp + 0x18]
mov edi, 1
movzx ebx, byte [esi]
test edx, edx
je 0x10043af3
cmp ebx, 0xc0
jb 0x10043af3
test bl, 0x20
jne 0x10043a56
movzx eax, byte [esi + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x10043aeb
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x10043a75
and ebx, 0xf
mov edi, 3
shl ebx, 6
or ebx, ecx
jmp 0x10043aeb
and eax, 0x3f
test bl, 8
jne 0x10043a95
and ebx, 7
mov edi, 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
jmp 0x10043aeb
test bl, 4
jne 0x10043abe
and ebx, 3
mov edi, 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
jmp 0x10043aeb
and ebx, edi
mov edi, 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
push edx
mov edx, dword [esp + 0x34]
mov ecx, ebx
call fcn.1004fa00
add esp, 4
test eax, eax
je 0x10043b1b
mov ebx, dword [esp + 0x1c]
add esi, edi
inc ebx
mov dword [esp + 0x1c], ebx
cmp ebx, dword [esp + 0x2c]
jl 0x10043a10
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, ebx
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov eax, esi
dec esi
cmp eax, ebp
je case.0x1004c9f2.14
cmp dword [esp + 0x18], 0
je 0x10043b8a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x10043b8a
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x10043b80
mov eax, dword [esp + 0x164]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10043b66
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x88], 0
je 0x10043b22
cmp esi, dword [edx + 0x84]
jbe 0x10043b22
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x10043b22
test ebp, ebp
je 0x10043c95
mov eax, dword [esp + 0x14]
mov edx, 1
inc eax
mov ecx, edx
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x10043c4f
test al, 0x20
jne 0x10043c29
lea edx, [ecx + 1]
jmp 0x10043c4d
test al, 0x10
jne 0x10043c34
mov edx, 3
jmp 0x10043c4d
test al, 8
jne 0x10043c3f
mov edx, 4
jmp 0x10043c4d
mov edx, 5
test al, 4
je 0x10043c4d
mov edx, 6
mov ecx, edx
mov ebx, dword [esp + 0x15c]
mov edi, dword [ebx + 0x78]
mov eax, edi
sub eax, esi
cmp ecx, eax
jg 0x1004a72c
mov edi, dword [esp + 0x14]
nop dword [eax]
mov cl, byte [edi]
dec edx
mov al, byte [esi]
inc edi
inc esi
mov dword [esp + 0x14], edi
cmp cl, al
jne case.0x1004c9f2.14
test edx, edx
jg 0x10043c70
mov edx, ebx
mov ebx, dword [esp + 0x158]
jmp 0x1003fdd1
mov eax, dword [edx + 0x78]
sub eax, esi
cmp eax, 1
jl 0x1004a740
mov edi, dword [esp + 0x14]
mov al, byte [esi]
inc esi
cmp byte [edi + 1], al
jne case.0x1004c9f2.14
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
cmp esi, dword [edx + 0x78]
jae 0x1004a740
mov edi, dword [esp + 0x14]
test ebp, ebp
je 0x10043f83
movzx ebx, byte [edi + 1]
inc edi
mov dword [esp + 0x38], 1
mov edx, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], edx
cmp ebx, 0xc0
jb 0x10043dce
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x10043d1c
mov eax, ebx
mov dword [esp + 0x38], 2
and eax, 0x1f
shl eax, 6
jmp 0x10043dc0
movzx eax, byte [edi + 2]
test bl, 0x10
jne 0x10043d3a
and ebx, 0xf
mov dword [esp + 0x38], 3
shl ebx, 6
or ecx, ebx
jmp 0x10043dba
and eax, 0x3f
test bl, 8
jne 0x10043d5d
and ebx, 7
mov dword [esp + 0x38], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x10043dba
test bl, 4
jne 0x10043d89
and ebx, 3
mov dword [esp + 0x38], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x10043dba
and ebx, 1
mov dword [esp + 0x38], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
shl ecx, 6
and eax, 0x3f
mov ebx, ecx
or ebx, eax
mov edx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], edx
cmp edx, 0x80
jae 0x10043e08
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov edx, dword [eax + 0x38]
mov al, byte [edx + ebx]
cmp al, byte [ecx + edx]
jne case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
inc edi
mov ebx, dword [esp + 0x158]
inc esi
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x30], ebx
cmp ebx, 0xc0
jb 0x10043f24
test bl, 0x20
jne 0x10043e39
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x10043f24
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x10043e64
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x10043f20
lea edx, [esi + 2]
test bl, 8
jne 0x10043e98
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x10043f20
lea edi, [esi + 3]
test bl, 4
jne 0x10043ed4
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x10043f1c
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x30]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edi, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], edi
cmp eax, ebx
je 0x10043f70
mov eax, eax
test eax, eax
jns 0x10043f3d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x10067fd0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x1006b990]
mov eax, dword [eax*8 + 0x1006a1d4]
add eax, edx
cmp ebx, eax
jne case.0x1004c9f2.14
nop word [eax + eax]
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
jmp 0x1003fdd1
mov edx, dword [edx + 0x38]
movzx eax, byte [edi + 1]
movzx ecx, byte [esi]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
inc esi
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
mov ebx, dword [esp + 0x14]
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov edx, ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edx
mov ecx, ebx
jmp 0x100440b2
mov dword [esp + 0x3c], 1
mov ebx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x1c], edx
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x24], ebp
cmp cl, 0x28
je 0x10044003
mov dword [esp + 0x38], edx
cmp cl, 0x35
jne 0x1004400b
mov dword [esp + 0x38], 1
add ebx, 3
mov dword [esp + 0x14], ebx
mov ecx, ebx
jmp 0x100440b6
mov ebx, dword [esp + 0x14]
xor edx, edx
inc ebx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x1c], edx
mov ecx, ebx
mov dword [esp + 0x14], ebx
jmp 0x100440ad
mov ebx, dword [esp + 0x14]
mov edx, 1
inc ebx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x1c], edx
mov ecx, ebx
mov dword [esp + 0x14], ebx
jmp 0x100440ad
mov ebx, dword [esp + 0x14]
xor edx, edx
inc ebx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x1c], edx
mov ecx, ebx
mov dword [esp + 0x14], ebx
lea ebp, [edx + 1]
jmp 0x100440b2
mov ecx, dword [esp + 0x14]
cmp edi, 0x2e
mov ebx, edi
sbb eax, eax
inc ecx
and eax, 0xfffffff3
mov dword [esp + 0x14], ecx
add eax, 0x2e
sub ebx, eax
mov eax, ebx
and ebx, 1
mov dword [esp + 0x38], ebx
mov ebx, ecx
movsx ebp, byte [eax + 0x10066328]
movsx edx, byte [eax + 0x10066334]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ebp
test ebp, ebp
jne 0x100440b6
mov ebp, 0x7fffffff
mov dword [esp + 0x24], ebp
cmp dword [esp + 0x18], 0
je 0x100445a0
mov dword [esp + 0x40], ebx
mov eax, 1
movzx ebx, byte [ebx]
mov ecx, eax
mov dword [esp + 0x2c], eax
mov edx, ebx
cmp ebx, 0xc0
jb 0x10044226
test bl, 0x20
jne 0x1004410d
mov eax, dword [esp + 0x14]
and ebx, 0x1f
shl ebx, 6
mov dword [esp + 0x2c], 2
movzx edx, byte [eax + 1]
and edx, 0x3f
or edx, ebx
add eax, 2
mov dword [esp + 0x14], eax
jmp 0x10044233
test bl, 0x10
jne 0x10044145
mov ecx, dword [esp + 0x14]
and ebx, 0xf
shl ebx, 6
mov dword [esp + 0x2c], 3
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
add ecx, 3
mov dword [esp + 0x14], ecx
jmp 0x10044233
test bl, 8
jne 0x10044189
mov ecx, dword [esp + 0x14]
and ebx, 7
shl ebx, 6
mov dword [esp + 0x2c], 4
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 4
mov dword [esp + 0x14], ecx
jmp 0x10044233
test bl, 4
jne 0x100441d7
mov ecx, dword [esp + 0x14]
and ebx, 3
mov eax, 5
shl ebx, 6
mov dword [esp + 0x2c], eax
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 5
mov dword [esp + 0x14], ecx
jmp 0x10044233
mov edx, dword [esp + 0x14]
and ebx, eax
shl ebx, 6
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
or ebx, ecx
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 6
mov dword [esp + 0x2c], eax
mov edx, ebx
mov ecx, eax
add dword [esp + 0x14], eax
cmp ecx, 1
jbe 0x100445aa
cmp edi, 0x2e
jb 0x1004426e
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x10067fd0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x1006b990]
mov ecx, dword [eax*8 + 0x1006a1d4]
add ecx, edx
cmp ecx, edx
je 0x1004426e
lea edx, [esp + 0x60]
call fcn.1004f9b0
jmp 0x10044270
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov ebx, 1
mov dword [esp + 0x20], eax
cmp ecx, ebx
jl 0x1004438f
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x2c]
mov eax, dword [eax + 0x78]
mov ebp, eax
mov dword [esp + 0x28], eax
sub ebp, edi
nop dword [eax + eax]
cmp esi, ebp
ja 0x10044302
mov edx, dword [esp + 0x40]
mov ecx, esi
sub edi, 4
jb 0x100442c1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100442c6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100442b0
cmp edi, 0xfffffffc
je 0x100442f3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100442fe
cmp edi, 0xfffffffd
je 0x100442f3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100442fe
cmp edi, 0xfffffffe
je 0x100442f3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100442fe
cmp edi, 0xffffffff
je 0x100442f3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100442fe
mov edi, dword [esp + 0x2c]
add esi, edi
jmp 0x1004437e
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
test edi, edi
jle 0x1004a76c
sub eax, edi
cmp esi, eax
ja 0x1004a76c
lea edx, [esp + 0x60]
mov ecx, esi
sub edi, 4
jb 0x10044334
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10044339
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10044323
cmp edi, 0xfffffffc
je 0x10044376
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1004a76c
cmp edi, 0xfffffffd
je 0x10044376
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1004a76c
cmp edi, 0xfffffffe
je 0x10044376
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1004a76c
cmp edi, 0xffffffff
je 0x10044376
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1004a76c
add esi, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
inc ebx
mov eax, dword [esp + 0x28]
cmp ebx, ecx
jle 0x100442a0
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x158]
cmp ecx, ebp
je 0x1003fdb2
cmp dword [esp + 0x38], 0
jne 0x1004a778
mov ebx, esi
mov dword [esp + 0x28], ebx
cmp ecx, ebp
jge 0x100444c8
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
mov ebx, ebp
mov eax, dword [esp + 0x2c]
sub ebx, eax
nop dword [eax]
cmp esi, ebx
ja 0x10044433
mov edx, dword [esp + 0x40]
mov edi, eax
mov ecx, esi
sub edi, 4
jb 0x100443f6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100443fb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100443e1
mov eax, dword [esp + 0x2c]
cmp edi, 0xfffffffc
je 0x1004442c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10044433
cmp edi, 0xfffffffd
je 0x10044428
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10044433
cmp edi, 0xfffffffe
je 0x10044428
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10044433
cmp edi, 0xffffffff
je 0x10044428
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x10044433
mov eax, dword [esp + 0x2c]
add esi, eax
jmp 0x100444b1
mov edi, dword [esp + 0x20]
test edi, edi
jle 0x10044566
mov eax, ebp
sub eax, edi
cmp esi, eax
ja 0x10044566
lea edx, [esp + 0x60]
mov ecx, esi
sub edi, 4
jb 0x10044467
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1004446c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10044456
cmp edi, 0xfffffffc
je 0x100444a9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10044566
cmp edi, 0xfffffffd
je 0x100444a9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10044566
cmp edi, 0xfffffffe
je 0x100444a9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10044566
cmp edi, 0xffffffff
je 0x100444a9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x10044566
add esi, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x24]
jl 0x100443d0
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
cmp esi, ebx
jbe 0x10044536
nop
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x1004452b
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x10044521
mov edx, dword [esp + 0x15c]
cmp esi, ebx
ja 0x100444e0
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx]
mov ebp, dword [ecx + 0x4c]
mov dword [esp + 0x18], ebp
cmp eax, dword [ecx + 4]
jb 0x1003fd60
inc eax
mov dword [ecx], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10044597
cmp esi, dword [edx + 0x78]
jb 0x10044597
cmp esi, dword [edx + 0x84]
jbe 0x10044597
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
mov ebx, dword [esp + 0x28]
jmp 0x100444cf
movzx ebx, byte [ebx]
lea eax, [ecx + 1]
mov dword [esp + 0x14], eax
cmp edi, 0x2e
mov ecx, 1
mov edi, dword [esp + 0x1c]
jb 0x100446d9
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx + 0x3c]
movzx ebp, byte [eax + ebx]
cmp edi, 1
jl 0x100445fb
mov edx, dword [ecx + 0x78]
mov ecx, 1
cmp esi, edx
jae 0x1004a2ad
movzx eax, byte [esi]
cmp ebx, eax
je 0x100445ee
cmp ebp, eax
jne case.0x1004c9f2.14
inc ecx
inc esi
cmp ecx, edi
jle 0x100445d7
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x24]
cmp edi, edx
je 0x1003fdbb
cmp dword [esp + 0x38], 0
jne 0x1004a926
mov dword [esp + 0x30], esi
cmp edi, edx
jge 0x10044639
mov ecx, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x100446a8
movzx eax, byte [esi]
cmp ebx, eax
je 0x10044633
cmp ebp, eax
jne 0x10044639
inc edi
inc esi
cmp edi, edx
jl 0x10044620
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
mov ebx, dword [esp + 0x30]
cmp esi, ebx
je 0x10044536
nop word [eax + eax]
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
dec esi
test edi, edi
jne 0x1004a0d8
mov edx, dword [esp + 0x15c]
cmp esi, ebx
jne 0x10044660
jmp 0x10044536
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10044640
cmp esi, dword [edx + 0x84]
jbe 0x10044640
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x10044640
cmp edi, 1
jl 0x10044701
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x1004a2ad
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x1004c9f2.14
inc ecx
cmp ecx, edi
jle 0x100446e8
cmp edi, ebp
je 0x1003fdbb
cmp dword [esp + 0x38], 0
jne 0x1004a9d1
mov edx, dword [esp + 0x24]
mov ebp, esi
cmp edi, edx
jge 0x10044739
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x1004479b
movzx eax, byte [esi]
cmp ebx, eax
jne 0x10044739
inc edi
inc esi
cmp edi, edx
jl 0x10044728
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
cmp esi, ebp
je 0x10044536
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
dec esi
test edi, edi
jne 0x1004a0d8
mov edx, dword [esp + 0x15c]
cmp esi, ebp
jne 0x10044753
jmp 0x10044536
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10044740
cmp esi, dword [edx + 0x84]
jbe 0x10044740
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x10044740
cmp esi, dword [edx + 0x78]
jae 0x1004a740
mov eax, dword [esp + 0x14]
test ebp, ebp
je 0x10044a71
movzx edx, byte [eax + 1]
lea ebx, [eax + 2]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
cmp edx, 0xc0
jb 0x100448ce
test dl, 0x20
jne 0x10044819
movzx eax, byte [ebx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc ebx
mov dword [esp + 0x1c], edx
jmp 0x100448ca
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x10044840
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add ebx, 2
jmp 0x100448c6
test dl, 8
jne 0x10044863
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 3
jmp 0x100448c6
test dl, 4
jne 0x10044892
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 4
jmp 0x100448c6
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 5
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ebx
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x28], ebx
cmp ebx, 0xc0
jb 0x100449d4
mov al, byte [esi]
test bl, 0x20
jne 0x100448f8
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x100449cf
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004491c
and ebx, 0xf
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 2
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x100449cf
lea edx, [esi + 2]
test bl, 8
jne 0x1004494b
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x100449cf
mov ebp, dword [esp + 0x28]
lea edi, [esi + 3]
test bl, 4
jne 0x10044986
movzx ebx, al
and ebp, 3
movzx eax, byte [ecx]
and ebx, 0x3f
shl ebp, 6
and eax, 0x3f
or ebx, ebp
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x100449c7
and ebp, 1
movzx eax, al
and eax, 0x3f
shl ebp, 6
or ebp, eax
lea ebx, [esi + 4]
movzx eax, byte [ecx]
add esi, 5
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x28], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
and eax, 0x3f
or ebx, eax
cmp edi, 0x1f
jne 0x100449fa
cmp dword [esp + 0x1c], ebx
je case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
jmp 0x1003fdd1
mov edx, dword [esp + 0x1c]
cmp edx, 0x7f
jbe 0x10044a3c
mov eax, edx
test eax, eax
jns 0x10044a0c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x10067fd0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x10044a27
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x1006b990]
mov eax, dword [eax*8 + 0x1006a1d4]
add eax, edx
jmp 0x10044a4a
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
cmp edx, ebx
je case.0x1004c9f2.14
cmp eax, ebx
je case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
jmp 0x1003fdd1
movzx edx, byte [esi]
inc esi
movzx ecx, byte [eax + 1]
cmp ecx, edx
je case.0x1004c9f2.14
cmp edi, 0x20
jne 0x10044a9c
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.0x1004c9f2.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x1003fdd1
mov ebx, dword [esp + 0x14]
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov edi, ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], edi
mov ecx, ebx
jmp 0x10044bd4
mov ebx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x24], edi
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x1c], ebp
cmp cl, 0x42
je 0x10044b01
mov dword [esp + 0x38], edi
cmp cl, 0x4f
jne 0x10044b09
mov dword [esp + 0x38], 1
add ebx, 3
mov ecx, ebx
jmp 0x10044bd4
mov ebx, dword [esp + 0x14]
xor edi, edi
inc ebx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x24], edi
mov ecx, ebx
jmp 0x10044bcc
mov ebx, dword [esp + 0x14]
mov edi, 1
inc ebx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x24], edi
mov ecx, ebx
jmp 0x10044bcc
mov ebx, dword [esp + 0x14]
xor edi, edi
inc ebx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x24], edi
mov ecx, ebx
mov dword [esp + 0x1c], 1
jmp 0x10044bd4
mov ebx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x3c], 1
mov dword [esp + 0x24], edi
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov dword [esp + 0x1c], ebp
mov ecx, ebx
jmp 0x10044bd4
mov ebx, dword [esp + 0x14]
cmp edi, 0x48
mov edx, edi
sbb eax, eax
inc ebx
and eax, 0xfffffff3
mov ecx, ebx
add eax, 0x48
sub edx, eax
mov eax, edx
and edx, 1
mov dword [esp + 0x38], edx
movsx edi, byte [eax + 0x10066334]
movsx eax, byte [eax + 0x10066328]
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x10044bd4
mov dword [esp + 0x1c], 0x7fffffff
movzx ebx, byte [ebx]
lea ebp, [ecx + 1]
mov eax, dword [esp + 0x18]
mov edx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], ebp
test eax, eax
je 0x10044ccf
cmp ebx, 0xc0
jb 0x10044ccf
movzx ecx, byte [ebp]
and ecx, 0x3f
test bl, 0x20
jne 0x10044c1a
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
or ebx, eax
inc ebp
jmp 0x10044cc1
movzx eax, byte [ebp + 1]
and eax, 0x3f
test bl, 0x10
jne 0x10044c3b
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add ebp, 2
jmp 0x10044cc1
test bl, 8
jne 0x10044c5e
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [ebp + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ebp, 3
jmp 0x10044cc1
test bl, 4
jne 0x10044c8d
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [ebp + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ebp + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ebp, 4
jmp 0x10044cc1
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [ebp + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ebp + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ebp + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ebp, 5
mov eax, dword [esp + 0x18]
mov edx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x2c], 0x48
jb 0x10045179
test eax, eax
je 0x10044d13
cmp edx, 0x7f
jbe 0x10044d13
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x10067fd0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x1006b990]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [eax*8 + 0x1006a1d4]
add ebp, edx
jmp 0x10044d21
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx + 0x3c]
movzx ebp, byte [eax + ebx]
cmp dword [esp + 0x18], 0
mov edx, 1
mov dword [esp + 0x30], ebp
mov dword [esp + 0x28], edx
je 0x10044e72
cmp edi, edx
jl 0x10044ea1
mov eax, dword [esp + 0x20]
cmp esi, dword [ecx + 0x78]
jae 0x1004aa7b
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x2c], ebx
cmp ebx, 0xc0
jb 0x10044e4f
test bl, 0x20
jne 0x10044d7b
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x10044e4b
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x10044da1
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x10044e3f
lea edx, [esi + 2]
test bl, 8
jne 0x10044dc7
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x10044e3b
lea edi, [esi + 3]
test bl, 4
jne 0x10044df8
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x10044e37
mov ebp, dword [esp + 0x2c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x2c], ebp
mov ebx, ebp
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x15c]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x20]
cmp eax, ebx
je case.0x1004c9f2.14
mov ebp, dword [esp + 0x30]
cmp ebp, ebx
je case.0x1004c9f2.14
inc edx
mov dword [esp + 0x28], edx
cmp edx, edi
jle 0x10044d45
jmp 0x10044ea1
cmp edi, 1
jl 0x10044ea1
mov ecx, dword [ecx + 0x78]
nop word [eax + eax]
cmp esi, ecx
jae 0x1004a2ad
movzx eax, byte [esi]
cmp ebx, eax
je case.0x1004c9f2.14
cmp ebp, eax
je case.0x1004c9f2.14
inc edx
inc esi
cmp edx, edi
jle 0x10044e80
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x158]
cmp edi, eax
je 0x1003fdb2
cmp dword [esp + 0x38], 0
jne 0x1004aaa7
cmp dword [esp + 0x18], 0
mov ebx, esi
je 0x100450b1
cmp edi, eax
jge 0x10045007
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x20]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x1004507c
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x10044fea
test dl, 0x20
jne 0x10044f1c
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x10044fea
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x10044f46
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x10044fe6
test dl, 8
jne 0x10044f72
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x10044fe6
test dl, 4
jne 0x10044faa
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x10044fe6
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [esp + 0x20]
cmp ecx, edx
je 0x10045007
cmp ebp, edx
je 0x10045007
add esi, eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x1c]
jl 0x10044ee2
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
cmp esi, ebx
jbe 0x10044536
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x1004506c
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x10045062
mov edx, dword [esp + 0x15c]
cmp esi, ebx
ja 0x10045021
jmp 0x10044536
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x1004500e
cmp esi, dword [edx + 0x84]
jbe 0x1004500e
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x1004500e
cmp edi, eax
jge 0x100450de
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x10045148
movzx eax, byte [esi]
cmp edx, eax
je 0x100450de
cmp ebp, eax
je 0x100450de
inc edi
inc esi
cmp edi, dword [esp + 0x1c]
jl 0x100450c3
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
cmp esi, ebx
je 0x10044536
nop dword [eax + eax]
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov edx, dword [esp + 0x15c]
dec esi
cmp esi, ebx
jne 0x10045100
jmp 0x10044536
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x100450e5
cmp esi, dword [edx + 0x84]
jbe 0x100450e5
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x100450e5
mov ebp, dword [esp + 0x20]
mov ebx, 1
mov dword [esp + 0x2c], ebx
test eax, eax
je 0x1004535a
cmp edi, ebx
jl 0x1004538e
mov eax, dword [esp + 0x15c]
nop dword [eax]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx edx, byte [esi]
inc esi
mov dword [esp + 0x28], edx
cmp edx, 0xc0
jb 0x100452cd
test dl, 0x20
jne 0x100451da
movzx ecx, byte [esi]
mov eax, edx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov edx, ecx
or edx, eax
inc esi
jmp 0x100452c6
mov al, byte [esi]
lea ecx, [esi + 1]
test dl, 0x10
jne 0x100451fd
and edx, 0xf
movzx eax, al
and eax, 0x3f
shl edx, 6
add esi, 2
or edx, eax
movzx eax, byte [ecx]
jmp 0x100452be
mov ebp, dword [esp + 0x28]
test dl, 8
jne 0x1004523d
movzx edi, al
lea edx, [esi + 2]
movzx eax, byte [ecx]
and edi, 0x3f
movzx edx, byte [edx]
and ebp, 7
shl ebp, 6
and eax, 0x3f
or edi, ebp
and edx, 0x3f
mov ebp, dword [esp + 0x20]
add esi, 3
shl edi, 6
or edi, eax
shl edi, 6
or edx, edi
mov edi, dword [esp + 0x24]
jmp 0x100452c6
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x10045274
movzx edx, byte [edx]
and ebp, 3
movzx ebx, al
and edx, 0x3f
movzx eax, byte [ecx]
and ebx, 0x3f
shl ebp, 6
and eax, 0x3f
or ebx, ebp
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
or edx, ebx
jmp 0x100452b2
movzx eax, al
lea ebx, [esi + 4]
and eax, 0x3f
and ebp, 1
shl ebp, 6
add esi, 5
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
mov edx, ebp
mov dword [esp + 0x28], ebp
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [esp + 0x15c]
cmp ebp, edx
je case.0x1004c9f2.14
inc ebx
mov dword [esp + 0x2c], ebx
cmp ebx, edi
jle 0x100451a0
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x158]
cmp edi, ecx
je 0x1003fdc9
cmp dword [esp + 0x38], 0
jne 0x1004acff
mov ebx, esi
test eax, eax
je 0x1004551a
cmp edi, ecx
jge 0x100454ad
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x10045481
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x10045468
test dl, 0x20
jne 0x1004539a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x10045468
mov edx, dword [esp + 0x15c]
cmp edi, 1
jl 0x100452ed
mov ecx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x1004a740
movzx eax, byte [esi]
inc esi
cmp ebp, eax
je case.0x1004c9f2.14
inc ebx
cmp ebx, edi
jle 0x10045370
jmp 0x100452e9
mov edx, dword [esp + 0x15c]
jmp 0x100452ed
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x100453c4
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x10045464
test dl, 8
jne 0x100453f0
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x10045464
test dl, 4
jne 0x10045428
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x10045464
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [esp + 0x1c]
cmp ebp, edx
je 0x100454ad
add esi, eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, ecx
jl 0x10045320
jmp 0x100454ad
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x100454ad
cmp esi, dword [edx + 0x84]
jbe 0x100454ad
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
cmp dword [esp + 0x3c], 0
jne 0x1003fdbb
cmp esi, ebx
jbe 0x10044536
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x10045511
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x10045507
cmp esi, ebx
ja 0x100454c0
jmp 0x10044536
cmp edi, ecx
jge 0x1004555b
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x10045536
movzx eax, byte [esi]
cmp ebp, eax
je 0x1004555b
inc edi
inc esi
cmp edi, dword [esp + 0x1c]
jl 0x10045521
jmp 0x1004555b
cmp dword [edx + 0x88], 0
je 0x1004555b
cmp esi, dword [edx + 0x84]
jbe 0x1004555b
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
cmp esi, ebx
je 0x10044536
nop
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov edx, dword [esp + 0x15c]
dec esi
cmp esi, ebx
jne 0x10045570
jmp 0x10044536
mov edi, dword [esp + 0x14]
mov dword [esp + 0x38], 1
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov ebx, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
mov ecx, edi
jmp 0x100456cc
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x20], 0
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
cmp cl, 0x5c
mov dword [esp + 0x24], edx
sete bl
add edi, 3
mov dword [esp + 0x38], ebx
mov ecx, edi
xor ebx, ebx
jmp 0x100456cc
mov edi, dword [esp + 0x14]
xor ebx, ebx
inc edi
mov dword [esp + 0x3c], 1
mov dword [esp + 0x20], ebx
mov ecx, edi
jmp 0x100456c4
mov edi, dword [esp + 0x14]
mov ebx, 1
inc edi
mov dword [esp + 0x3c], 1
mov dword [esp + 0x20], ebx
mov ecx, edi
jmp 0x100456c4
mov edi, dword [esp + 0x14]
xor ebx, ebx
inc edi
mov dword [esp + 0x3c], 1
mov dword [esp + 0x20], ebx
mov ecx, edi
mov dword [esp + 0x24], 1
jmp 0x100456cc
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x20], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov dword [esp + 0x24], ecx
mov ecx, edi
jmp 0x100456cc
lea ebx, [edi - 0x55]
mov edi, dword [esp + 0x14]
mov eax, ebx
inc edi
and ebx, 1
mov ecx, edi
mov dword [esp + 0x38], ebx
movsx ebx, byte [eax + 0x10066334]
movsx eax, byte [eax + 0x10066328]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
test eax, eax
jne 0x100456cc
mov dword [esp + 0x24], 0x7fffffff
movzx ebp, byte [edi]
lea edx, [ecx + 1]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x14], edx
cmp ebp, 0x10
je 0x100456e9
cmp ebp, 0xf
je 0x100456e9
or eax, 0xffffffff
jmp 0x10045709
mov cl, byte [edx]
xor eax, eax
cmp ebp, 0xf
sete al
mov dword [esp + 0x34], eax
lea eax, [edx + 1]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x44], edx
movzx eax, cl
mov dword [esp + 0x30], eax
test ebx, ebx
jle 0x10045791
test eax, eax
js 0x1004655b
cmp eax, 0xa
ja case.default.0x100429fe
jmp dword [eax*4 + 0x1004d368]
cmp dword [esp + 0x34], 0
jne case.0x1004c9f2.14
mov ecx, 1
cmp ebx, ecx
jl 0x10045791
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x18]
mov edx, dword [eax + 0x78]
nop
cmp esi, edx
jae 0x1004a2ad
movzx eax, byte [esi]
inc esi
test edi, edi
je 0x1004578c
cmp eax, 0xc0
jb 0x1004578c
test al, 0x20
jne 0x1004576e
inc esi
jmp 0x1004578c
test al, 0x10
jne 0x10045777
add esi, 2
jmp 0x1004578c
test al, 8
jne 0x10045780
add esi, 3
jmp 0x1004578c
test al, 4
jne 0x10045789
add esi, 4
jmp 0x1004578c
add esi, 5
inc ecx
cmp ecx, ebx
jle 0x10045750
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov ecx, 1
mov dword [esp + 0x28], ecx
cmp ebx, ecx
jl 0x10045791
nop word [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x40], ebx
je 0x100458ab
cmp ebx, 0xc0
jb 0x100458ab
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x100457f4
inc esi
and ebp, 0x1f
jmp 0x100458a3
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x10045814
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x1004589f
lea edx, [esi + 2]
test bl, 8
jne 0x10045839
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x1004589f
lea edi, [esi + 3]
test bl, 4
jne 0x10045869
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x1004589f
mov ebp, dword [esp + 0x40]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x28]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp eax, 9
je 0x100458e2
cmp eax, 5
je 0x100458e2
cmp eax, 8
je 0x100458e2
xor eax, eax
jmp 0x100458e7
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x1004c9f2.14
mov ebx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, ebx
jle 0x100457b0
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edx, 1
mov dword [esp + 0x28], edx
cmp ebx, edx
jl 0x10045791
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x40], ebx
je 0x10045a3e
cmp ebx, 0xc0
jb 0x10045a3e
mov al, byte [esi]
test bl, 0x20
jne 0x1004597c
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x10045a3e
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004599d
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x10045a36
lea edx, [esi + 2]
test bl, 8
jne 0x100459c8
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x10045a32
movzx ebp, al
lea edi, [esi + 3]
and ebp, 0x3f
test bl, 4
jne 0x100459fc
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x10045a32
mov eax, dword [esp + 0x40]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x28]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ebx, dword [esp + 0x44]
mov eax, ebp
shr eax, 7
and ebp, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp dword [eax*4 + 0x10067570], ebx
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x1004c9f2.14
mov ebx, dword [esp + 0x20]
inc edx
mov dword [esp + 0x28], edx
cmp edx, ebx
jle 0x10045930
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edx, 1
mov dword [esp + 0x28], edx
cmp ebx, edx
jl 0x10045791
nop
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x40], ebx
je 0x10045bb2
cmp ebx, 0xc0
jb 0x10045bb2
mov al, byte [esi]
test bl, 0x20
jne 0x10045af4
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x10045baa
lea ecx, [esi + 1]
test bl, 0x10
jne 0x10045b15
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x10045baa
movzx eax, al
lea edx, [esi + 2]
and eax, 0x3f
test bl, 8
jne 0x10045b40
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x10045ba6
lea edi, [esi + 3]
test bl, 4
jne 0x10045b70
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x10045ba6
mov ebp, dword [esp + 0x40]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x28]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x1004c9f2.14
mov ebx, dword [esp + 0x20]
inc edx
mov dword [esp + 0x28], edx
cmp edx, ebx
jle 0x10045ab0
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edx, 1
mov dword [esp + 0x28], edx
cmp ebx, edx
jl 0x10045791
nop dword [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x40], ebx
je 0x10045d2a
cmp ebx, 0xc0
jb 0x10045d2a
mov al, byte [esi]
test bl, 0x20
jne 0x10045c64
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x10045d22
lea ecx, [esi + 1]
test bl, 0x10
jne 0x10045c85
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x10045d22
lea edx, [esi + 2]
test bl, 8
jne 0x10045cae
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x10045d1e
lea edi, [esi + 3]
test bl, 4
jne 0x10045ce2
movzx ebp, al
and ebx, 3
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x10045d1e
mov ebp, dword [esp + 0x40]
lea ebx, [esi + 4]
and ebp, 1
movzx eax, al
and eax, 0x3f
shl ebp, 6
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x28]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d0]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x1004c9f2.14
mov ebx, dword [esp + 0x20]
inc edx
mov dword [esp + 0x28], edx
cmp edx, ebx
jle 0x10045c20
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov ecx, 1
mov dword [esp + 0x28], ecx
cmp ebx, ecx
jl 0x10045791
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x40], ebx
je 0x10045eb0
cmp ebx, 0xc0
jb 0x10045eb0
mov al, byte [esi]
test bl, 0x20
jne 0x10045de4
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x10045ea8
lea ecx, [esi + 1]
test bl, 0x10
jne 0x10045e07
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x10045ea4
lea edx, [esi + 2]
test bl, 8
jne 0x10045e32
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x10045ea4
lea edi, [esi + 3]
test bl, 4
jne 0x10045e68
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x10045ea4
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x40]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x28]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x10045ee9
cmp eax, 3
je 0x10045ee9
xor eax, eax
jmp 0x10045eee
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x1004c9f2.14
mov ebx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, ebx
jle 0x10045da0
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edi, 1
cmp ebx, edi
jl 0x10045791
mov eax, dword [esp + 0x15c]
mov ebp, dword [esp + 0x20]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x1004a2ad
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ecx, edx
je 0x1004601f
cmp edx, 0xc0
jb 0x1004601f
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x10045f76
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x1004601d
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x10045f97
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x1004601d
test dl, 8
jne 0x10045fba
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x1004601d
test dl, 4
jne 0x10045fe9
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x1004601d
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, edx
cmp edx, 0x180e
ja 0x10046062
je case.0x1004607e.8192
cmp edx, 0x85
ja 0x1004604e
je case.0x1004607e.8192
cmp edx, 9
jb case.0x1004607e.8203
cmp edx, 0xd
jbe case.0x1004607e.8192
cmp edx, 0x20
jmp 0x10046093
cmp edx, 0xa0
je case.0x1004607e.8192
cmp edx, 0x1680
jmp 0x10046093
cmp edx, 0x202f
ja 0x10046085
je case.0x1004607e.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x1004607e.8203
movzx eax, byte [edx + 0x1004d39c]
jmp dword [eax*4 + 0x1004d394]
cmp edx, 0x205f
je case.0x1004607e.8192
cmp edx, 0x3000
je case.0x1004607e.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp dword [eax*4 + 0x10067570], 6
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x1004c9f2.14
jmp 0x100460dd
cmp dword [esp + 0x34], 0
jne case.0x1004c9f2.14
inc edi
cmp edi, ebp
jle 0x10045f34
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edx, 1
mov dword [esp + 0x28], edx
cmp ebx, edx
jl 0x10045791
nop dword [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x40], ebx
je 0x1004620a
cmp ebx, 0xc0
jb 0x1004620a
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x1004615c
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x1004620a
lea ecx, [esi + 1]
test bl, 0x10
jne 0x10046177
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x10046202
lea edx, [esi + 2]
test bl, 8
jne 0x1004619a
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x100461fe
lea edi, [esi + 3]
test bl, 4
jne 0x100461c8
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x100461fe
mov eax, dword [esp + 0x40]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x28]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x10067fd0]
mov eax, ebp
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x1004624a
cmp eax, 3
je 0x1004624a
cmp ebp, 0x5f
je 0x1004624a
xor eax, eax
jmp 0x1004624f
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x1004c9f2.14
mov ebx, dword [esp + 0x20]
inc edx
mov dword [esp + 0x28], edx
cmp edx, ebx
jle 0x10046110
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov ebx, 1
cmp dword [esp + 0x20], ebx
jl 0x100460e6
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
cmp esi, ebp
jae 0x1004a2ad
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov edi, edx
je 0x1004637e
cmp edx, 0xc0
jb 0x1004637e
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x100462d5
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x1004637c
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x100462f6
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x1004637c
test dl, 8
jne 0x10046319
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x1004637c
test dl, 4
jne 0x10046348
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x1004637c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov edi, edx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax*4 + 0x1006b850]
lea eax, [eax*4 + 0x1006b850]
cmp edi, ecx
jb 0x100463a1
lea eax, [eax + 4]
cmp edx, ecx
je 0x100463cb
mov ecx, dword [eax]
cmp edx, ecx
jae 0x10046394
cmp dword [esp + 0x34], 0
je case.0x1004c9f2.14
inc ebx
cmp ebx, dword [esp + 0x20]
jle 0x10046293
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
cmp dword [esp + 0x34], 0
jne case.0x1004c9f2.14
jmp 0x100463ac
mov ecx, 1
mov dword [esp + 0x28], ecx
cmp ebx, ecx
jl 0x10045791
nop dword [eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x40], ebx
je 0x10046500
cmp ebx, 0xc0
jb 0x10046500
test bl, 0x20
jne 0x1004643a
movzx ebp, byte [esi]
and ebx, 0x1f
and ebp, 0x3f
shl ebx, 6
or ebp, ebx
inc esi
jmp 0x10046500
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004645f
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x100464f4
lea edx, [esi + 2]
test bl, 8
jne 0x1004648a
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x100464f4
movzx ebp, al
lea edi, [esi + 3]
and ebp, 0x3f
test bl, 4
jne 0x100464be
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x100464f4
mov eax, dword [esp + 0x40]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x28]
and eax, 0x3f
shl ebp, 6
or ebp, eax
cmp ebp, 0x24
je 0x1004652b
cmp ebp, 0x40
je 0x1004652b
cmp ebp, 0x60
je 0x1004652b
cmp ebp, 0xa0
jb 0x1004651f
cmp ebp, 0xd7ff
jbe 0x1004652b
cmp ebp, 0xe000
jae 0x1004652b
xor eax, eax
jmp 0x10046530
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x1004c9f2.14
mov ebx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, ebx
jle 0x100463f0
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
cmp ebp, 0x16
jne 0x10046834
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x40], 1
cmp ebx, 1
jl 0x100471f3
nop dword [eax]
cmp esi, dword [edx + 0x78]
jae 0x1004a740
movzx ebx, byte [esi]
inc esi
mov ecx, dword [esp + 0x18]
mov ebp, ebx
mov dword [esp + 0x28], ebx
test ecx, ecx
je 0x10046697
cmp ebx, 0xc0
jb 0x10046697
mov al, byte [esi]
test bl, 0x20
jne 0x100465c6
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x10046697
lea ecx, [esi + 1]
test bl, 0x10
jne 0x100465e9
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x1004668b
lea edx, [esi + 2]
test bl, 8
jne 0x10046614
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x10046684
lea edi, [esi + 3]
test bl, 4
jne 0x10046648
movzx ebp, al
and ebx, 3
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x10046684
mov ebp, dword [esp + 0x28]
lea ebx, [esi + 4]
and ebp, 1
movzx eax, al
and eax, 0x3f
shl ebp, 6
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x18]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
mov edi, esi
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
mov ebp, dword [edx + 0x78]
movzx eax, word [eax*2 + 0x1006b990]
movzx ebx, byte [eax*8 + 0x1006a1d2]
cmp edi, ebp
jae 0x100467ed
nop dword [eax + eax]
movzx edx, byte [esi]
mov edi, 1
test ecx, ecx
je 0x100467a2
cmp edx, 0xc0
jb 0x100467a2
test dl, 0x20
jne 0x10046702
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x1004679a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x10046724
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x1004679a
and eax, 0x3f
test dl, 8
jne 0x10046744
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x1004679a
test dl, 4
jne 0x1004676d
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x1004679a
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x1006b990]
movzx ecx, byte [eax*8 + 0x1006a1d2]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x10067f50], eax
je 0x100467e6
add esi, edi
mov ebx, ecx
mov ecx, dword [esp + 0x18]
cmp esi, ebp
jb 0x100466d0
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10046816
cmp esi, ebp
jb 0x10046816
cmp esi, dword [edx + 0x84]
jbe 0x10046816
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x40], eax
cmp eax, ebx
jle 0x10046580
mov ebp, dword [esp + 0x2c]
jmp 0x100471f3
mov ecx, dword [esp + 0x18]
lea eax, [ebp - 6]
test ecx, ecx
je 0x100473a6
cmp eax, 0xf
ja case.default.0x100429fe
jmp dword [eax*4 + 0x1004d3c8]
mov ebp, dword [esp + 0x20]
mov ebx, 1
cmp ebp, ebx
jl 0x100477d8
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x1004aa7b
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x100468a1
push dword [esp + 0x18]
lea edi, [ecx + 0x1c]
mov ecx, esi
push edi
push eax
call fcn.10050270
add esp, 0xc
test eax, eax
jne case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
jmp 0x100468cb
mov edx, ecx
mov ecx, dword [edx + 0x1c]
sub eax, ecx
lea edi, [edx + 0x1c]
cmp esi, eax
ja 0x100468cb
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x100468cb
cmp ecx, 1
je case.0x1004c9f2.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x1004c9f2.14
cmp dword [edx + 0x88], 0
je 0x10046902
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x10046902
cmp dword [edx + 0x18], 0
jne 0x10046902
cmp dword [edi], 2
jne 0x10046902
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x10046902
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x10046921
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x10046921
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x10046910
inc ebx
cmp ebx, ebp
jle 0x10046864
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edi, 1
cmp ebx, edi
jl 0x100477e0
mov ecx, dword [esp + 0x15c]
mov eax, dword [esp + 0x20]
mov ebx, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x1004aa7b
mov edx, dword [ecx + 0x78]
inc esi
cmp esi, edx
jae 0x1004698e
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x10046983
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x10046972
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x15c]
inc edi
cmp edi, eax
jle 0x10046960
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x1004c9f2.14
add esi, ebx
jmp 0x100471f7
mov edx, dword [esp + 0x15c]
mov edi, 1
cmp ebx, edi
jl 0x100471f7
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x1004a740
movzx edx, byte [esi]
inc esi
mov eax, esi
cmp edx, 0xc0
jb 0x10046ab7
test dl, 0x20
jne 0x10046a08
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x10046ab5
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x10046a2f
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x10046ab5
test dl, 8
jne 0x10046a52
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x10046ab5
test dl, 4
jne 0x10046a81
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x10046ab5
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, esi
cmp edx, 0xd
ja 0x10046add
je 0x10046ac8
cmp edx, 0xa
je 0x10046b07
lea eax, [edx - 0xb]
jmp 0x10046aeb
cmp eax, ebx
jae 0x10046b07
cmp byte [esi], 0xa
mov edx, dword [esp + 0x15c]
jne 0x10046b0e
lea esi, [eax + 1]
jmp 0x10046b0e
cmp edx, 0x85
je 0x10046af4
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x68], 0
jne case.0x1004c9f2.14
jmp 0x10046b0e
mov edx, dword [esp + 0x15c]
inc edi
cmp edi, dword [esp + 0x20]
jle 0x100469d5
mov ebx, dword [esp + 0x20]
jmp 0x100471f3
mov edi, 1
cmp ebx, edi
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x1004a2ad
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x10046c1e
test dl, 0x20
jne 0x10046b71
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x10046c1e
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x10046b98
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x10046c1e
test dl, 8
jne 0x10046bbb
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x10046c1e
test dl, 4
jne 0x10046bea
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x10046c1e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x180e
ja 0x10046c50
je case.0x1004c9f2.14
cmp edx, 0xa0
ja 0x10046c48
je case.0x1004c9f2.14
cmp edx, 9
je case.0x1004c9f2.14
cmp edx, 0x20
jmp 0x10046c80
cmp edx, 0x1680
jmp 0x10046c80
cmp edx, 0x205f
ja 0x10046c7a
je case.0x1004c9f2.14
cmp edx, 0x2000
jb 0x10046c86
cmp edx, 0x200a
jbe case.0x1004c9f2.14
cmp edx, 0x202f
jmp 0x10046c80
cmp edx, 0x3000
je case.0x1004c9f2.14
inc edi
cmp edi, dword [esp + 0x20]
jle 0x10046b40
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edi, 1
cmp ebx, edi
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x1004a2ad
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x10046d96
test dl, 0x20
jne 0x10046ce9
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x10046d96
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x10046d10
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x10046d96
test dl, 8
jne 0x10046d33
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x10046d96
test dl, 4
jne 0x10046d62
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x10046d96
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x180e
ja 0x10046dbc
je 0x10046dee
cmp edx, 0xa0
ja 0x10046db4
je 0x10046dee
cmp edx, 9
je 0x10046dee
cmp edx, 0x20
jmp 0x10046de8
cmp edx, 0x1680
jmp 0x10046de8
cmp edx, 0x205f
ja 0x10046de2
je 0x10046dee
cmp edx, 0x2000
jb case.0x1004c9f2.14
cmp edx, 0x200a
jbe 0x10046dee
cmp edx, 0x202f
jmp 0x10046de8
cmp edx, 0x3000
jne case.0x1004c9f2.14
inc edi
cmp edi, dword [esp + 0x20]
jle 0x10046cb8
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edi, 1
cmp ebx, edi
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x1004a2ad
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x10046efe
test dl, 0x20
jne 0x10046e51
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x10046efe
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x10046e78
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x10046efe
test dl, 8
jne 0x10046e9b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x10046efe
test dl, 4
jne 0x10046eca
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x10046efe
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x85
ja 0x10046f16
je case.0x1004c9f2.14
cmp edx, 0xa
jb 0x10046f2a
cmp edx, 0xd
jmp 0x10046f24
cmp edx, 0x2028
jb 0x10046f2a
cmp edx, 0x2029
jbe case.0x1004c9f2.14
inc edi
cmp edi, dword [esp + 0x20]
jle 0x10046e20
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edi, 1
cmp ebx, edi
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x1004a2ad
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x1004703e
test dl, 0x20
jne 0x10046f91
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x1004703e
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x10046fb8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x1004703e
test dl, 8
jne 0x10046fdb
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x1004703e
test dl, 4
jne 0x1004700a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x1004703e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x85
ja 0x10047050
je 0x1004705f
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x10047059
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x1004c9f2.14
inc edi
cmp edi, dword [esp + 0x20]
jle 0x10046f60
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edi, 1
cmp ebx, edi
jl 0x100477e0
mov ecx, dword [esp + 0x15c]
mov ebx, dword [ecx + 0x78]
cmp esi, ebx
jae 0x1004aa7b
movzx edx, byte [esi]
inc esi
mov eax, edx
cmp edx, 0xc0
jb 0x10047176
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x100470c6
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x1004716d
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x100470e7
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x1004716d
test dl, 8
jne 0x1004710a
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x1004716d
test dl, 4
jne 0x10047139
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x1004716d
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [esp + 0x15c]
mov eax, edx
cmp eax, 0x80
jae 0x1004718a
mov eax, dword [ecx + 0x40]
test byte [edx + eax], 4
jne case.0x1004c9f2.14
inc edi
cmp edi, dword [esp + 0x20]
jle 0x10047091
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edx, 1
cmp ebx, edx
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x1004a2b4
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x1004c9f2.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x100471c0
mov edx, eax
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
cmp ebx, edi
je 0x1003fdc2
cmp dword [esp + 0x38], 0
mov eax, dword [esp + 0x30]
jne 0x1004af65
mov ebp, esi
mov dword [esp + 0x1c], ebp
test eax, eax
js 0x10048598
cmp eax, 0xa
ja case.default.0x100429fe
jmp dword [eax*4 + 0x1004d408]
mov edx, dword [esp + 0x15c]
mov edi, 1
cmp ebx, edi
jl 0x100471f7
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x1004a740
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x10047263
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x1004c9f2.14
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x10047281
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x10047281
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x10047270
mov edx, dword [esp + 0x15c]
inc edi
cmp edi, dword [esp + 0x20]
jle 0x10047243
mov ebx, dword [esp + 0x20]
jmp 0x100471f3
mov edx, 1
cmp ebx, edx
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x1004a2b4
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x1004c9f2.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x100472b0
jmp 0x100471f1
mov edx, dword [esp + 0x15c]
mov edi, 1
cmp ebx, edi
jl 0x100471f7
mov ebx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x1004a740
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x10047320
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x1004c9f2.14
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x10047341
mov ecx, esi
nop word [eax + eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x10047341
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x10047330
mov edx, dword [esp + 0x15c]
inc edi
cmp edi, dword [esp + 0x20]
jle 0x10047300
mov ebx, dword [esp + 0x20]
jmp 0x100471f3
mov edx, 1
cmp ebx, edx
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x1004a2b4
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x1004c9f2.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x10047370
jmp 0x100471f1
cmp eax, 0xf
ja case.default.0x100429fe
jmp dword [eax*4 + 0x1004d434]
mov ebp, dword [esp + 0x20]
mov ebx, 1
mov edx, dword [esp + 0x15c]
cmp ebp, ebx
jl 0x100477cb
nop
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x1004a740
mov edx, dword [edx + 0x18]
test edx, edx
je 0x1004740b
mov edi, dword [esp + 0x15c]
mov ecx, esi
push 0
add edi, 0x1c
push edi
push eax
call fcn.10050270
add esp, 0xc
test eax, eax
jne case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
jmp 0x1004743a
mov edx, dword [esp + 0x15c]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x1004743a
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x1004743a
cmp ecx, 1
je case.0x1004c9f2.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x1004c9f2.14
cmp dword [edx + 0x88], 0
je 0x10047471
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x10047471
cmp dword [edx + 0x18], 0
jne 0x10047471
cmp dword [edi], 2
jne 0x10047471
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x10047471
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
inc ebx
inc esi
cmp ebx, ebp
jle 0x100473d0
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
jmp 0x100471f3
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja 0x1004a740
add esi, ebx
jmp 0x100471f7
mov ecx, 1
cmp ebx, ecx
jl 0x10045791
mov edi, dword [esp + 0x15c]
mov edx, dword [edi + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x1004cb35
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x1004c9f2.14
movzx eax, byte [eax + 0x1004d484]
jmp dword [eax*4 + 0x1004d474]
cmp esi, edx
jae case.0x100474e1.10
cmp byte [esi], 0xa
jne case.0x100474e1.10
inc esi
jmp case.0x100474e1.10
cmp dword [edi + 0x68], 0
jne case.0x1004c9f2.14
inc ecx
cmp ecx, ebx
jle 0x100474c0
mov edx, edi
jmp 0x100471f3
mov ecx, 1
cmp ebx, ecx
jl 0x10045791
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x1004a2ad
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x1004c9f2.14
cmp eax, 0x20
je case.0x1004c9f2.14
cmp eax, 0xa0
je case.0x1004c9f2.14
inc ecx
cmp ecx, ebx
jle 0x10047521
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov ecx, 1
cmp ebx, ecx
jl 0x10045791
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x1004a2ad
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x10047593
cmp eax, 0x20
je 0x10047593
cmp eax, 0xa0
jne case.0x1004c9f2.14
inc ecx
cmp ecx, ebx
jle 0x10047572
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov ecx, 1
cmp ebx, ecx
jl 0x10045791
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edx
jae 0x1004a2ad
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jb 0x100475e5
cmp eax, 0xd
jbe case.0x1004c9f2.14
cmp eax, 0x85
je case.0x1004c9f2.14
inc ecx
cmp ecx, ebx
jle 0x100475c0
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov ecx, 1
cmp ebx, ecx
jl 0x10045791
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x1004a2ad
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jb case.0x1004c9f2.14
cmp eax, 0xd
jbe 0x10047635
cmp eax, 0x85
jne case.0x1004c9f2.14
inc ecx
cmp ecx, ebx
jle 0x10047610
mov edx, dword [esp + 0x15c]
jmp 0x100471f3
mov edx, 1
cmp ebx, edx
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x1004a2b4
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x10047660
jmp 0x100471f1
mov edx, 1
cmp ebx, edx
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x1004a2b4
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x100476a1
jmp 0x100471f1
mov edx, 1
cmp ebx, edx
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x1004a2b4
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x100476e2
jmp 0x100471f1
mov edx, 1
cmp ebx, edx
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x1004a2b4
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x10047723
jmp 0x100471f1
mov edx, 1
cmp ebx, edx
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x1004a2b4
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x10047764
jmp 0x100471f1
mov edx, 1
cmp ebx, edx
jl 0x100477e0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x1004a2b4
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x100477a1
jmp 0x100471f1
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
jmp 0x100471f7
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
jmp 0x100471f7
cmp ebx, edi
jge 0x1004839c
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x1004785b
cmp dword [esp + 0x18], 0
mov eax, 1
movzx ecx, byte [esi]
je 0x10047844
cmp ecx, 0xc0
jb 0x10047844
test cl, 0x20
jne 0x1004781e
mov eax, 2
jmp 0x10047844
test cl, 0x10
jne 0x1004782a
mov eax, 3
jmp 0x10047844
test cl, 8
jne 0x10047836
mov eax, 4
jmp 0x10047844
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esp + 0x34], 0
jne 0x10048395
inc ebx
add esi, eax
cmp ebx, edi
jl 0x100477f7
jmp 0x10048395
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x1004839c
cmp esi, dword [edx + 0x84]
jbe 0x1004839c
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x1004839c
cmp ebx, edi
jge 0x1004839c
mov edi, dword [edx + 0x78]
nop
mov edx, 1
cmp esi, edi
jae 0x1004785b
cmp dword [esp + 0x18], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x10047988
cmp eax, 0xc0
jb 0x10047988
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x100478df
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x10047986
test al, 0x10
jne 0x100478f9
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x10047980
test al, 8
jne 0x1004791c
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x10047980
test al, 4
jne 0x1004794b
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x10047980
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp eax, 9
je 0x100479bf
cmp eax, 5
je 0x100479bf
cmp eax, 8
je 0x100479bf
xor eax, eax
jmp 0x100479c4
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x10048395
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x24]
jl 0x100478a0
jmp 0x10048395
cmp ebx, edi
jge 0x1004839c
mov edi, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x1004785b
cmp dword [esp + 0x18], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x10047adc
cmp eax, 0xc0
jb 0x10047adc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x10047a33
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x10047ada
test al, 0x10
jne 0x10047a4d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x10047ad4
test al, 8
jne 0x10047a70
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x10047ad4
test al, 4
jne 0x10047a9f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x10047ad4
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov ebp, dword [esp + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp dword [eax*4 + 0x10067570], ebp
mov ebp, dword [esp + 0x1c]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x10048395
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x24]
jl 0x100479f0
jmp 0x10048395
cmp ebx, edi
jge 0x1004839c
mov edi, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x1004785b
cmp dword [esp + 0x18], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x10047c2c
cmp eax, 0xc0
jb 0x10047c2c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x10047b83
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x10047c2a
test al, 0x10
jne 0x10047b9d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x10047c24
test al, 8
jne 0x10047bc0
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x10047c24
test al, 4
jne 0x10047bef
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x10047c24
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x10048395
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x24]
jl 0x10047b40
jmp 0x10048395
cmp ebx, edi
jge 0x1004839c
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x1004785b
cmp dword [esp + 0x18], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x10047d6c
cmp eax, 0xc0
jb 0x10047d6c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x10047cc3
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x10047d6a
test al, 0x10
jne 0x10047cdd
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x10047d64
test al, 8
jne 0x10047d00
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x10047d64
test al, 4
jne 0x10047d2f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x10047d64
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d0]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x10048395
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x24]
jl 0x10047c80
jmp 0x10048395
cmp ebx, edi
jge 0x1004839c
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x1004785b
cmp dword [esp + 0x18], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x10047eac
cmp eax, 0xc0
jb 0x10047eac
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x10047e03
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x10047eaa
test al, 0x10
jne 0x10047e1d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x10047ea4
test al, 8
jne 0x10047e40
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x10047ea4
test al, 4
jne 0x10047e6f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x10047ea4
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x10047ee5
cmp eax, 3
je 0x10047ee5
xor eax, eax
jmp 0x10047eea
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x10048395
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x24]
jl 0x10047dc0
jmp 0x10048395
cmp ebx, edi
jge 0x1004839c
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x100480c6
cmp dword [esp + 0x18], 0
movzx edx, byte [esi]
mov ecx, edx
je 0x10047ff2
cmp edx, 0xc0
jb 0x10047ff2
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x10047f5a
mov eax, edx
mov edi, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x10047fee
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x10047f72
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x10047fe8
and eax, 0x3f
test dl, 8
jne 0x10047f92
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x10047fe8
test dl, 4
jne 0x10047fbb
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x10047fe8
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
cmp edx, 0x180e
ja 0x10048031
je case.0x1004804d.8192
cmp edx, 0x85
ja 0x10048021
je case.0x1004804d.8192
cmp edx, 9
jb case.0x1004804d.8203
cmp edx, 0xd
jbe case.0x1004804d.8192
cmp edx, 0x20
jmp 0x10048062
cmp edx, 0xa0
je case.0x1004804d.8192
cmp edx, 0x1680
jmp 0x10048062
cmp edx, 0x202f
ja 0x10048054
je case.0x1004804d.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x1004804d.8203
movzx eax, byte [edx + 0x1004d508]
jmp dword [eax*4 + 0x1004d500]
cmp edx, 0x205f
je case.0x1004804d.8192
cmp edx, 0x3000
je case.0x1004804d.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp dword [eax*4 + 0x10067570], 6
sete cl
cmp ecx, dword [esp + 0x34]
je 0x10048395
jmp 0x100480ac
cmp dword [esp + 0x34], 0
jne 0x10048395
mov eax, dword [esp + 0x20]
add esi, edi
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x10047f11
jmp 0x10048395
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x1004839c
cmp esi, dword [edx + 0x84]
jbe 0x1004839c
mov dword [edx + 0x64], edi
cmp dword [edx + 0x88], edi
jg 0x1004cb62
jmp 0x1004839c
cmp ebx, edi
jge 0x1004839c
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x100480c6
movzx eax, byte [esi]
mov edx, eax
test ecx, ecx
je 0x100481ea
cmp eax, 0xc0
jb 0x100481ea
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x10048141
and eax, 0x1f
mov edi, 2
shl eax, 6
jmp 0x100481e8
test al, 0x10
jne 0x1004815b
and eax, 0xf
mov edi, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x100481e2
test al, 8
jne 0x1004817e
and eax, 7
mov edi, 4
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x100481e2
test al, 4
jne 0x100481ad
and eax, 3
mov edi, 5
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x100481e2
and eax, 1
mov edi, 6
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x10067fd0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x1004822a
cmp eax, 3
je 0x1004822a
cmp edx, 0x5f
je 0x1004822a
xor eax, eax
jmp 0x1004822f
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x10048395
mov eax, dword [esp + 0x20]
add esi, edi
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x10048105
jmp 0x10048395
cmp ebx, edi
jge 0x1004839c
mov ebp, dword [edx + 0x78]
mov ebx, 1
cmp esi, ebp
jae 0x10048420
movzx edx, byte [esi]
mov edi, edx
test ecx, ecx
je 0x10048340
cmp edx, 0xc0
jb 0x10048340
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x100482a8
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x1004833c
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x100482c0
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x10048336
and eax, 0x3f
test dl, 8
jne 0x100482e0
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x10048336
test dl, 4
jne 0x10048309
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x10048336
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov edi, edx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax*4 + 0x1006b850]
lea eax, [eax*4 + 0x1006b850]
cmp edi, ecx
jb 0x10048371
nop word [eax + eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x10048410
mov ecx, dword [eax]
cmp edx, ecx
jae 0x10048360
cmp dword [esp + 0x34], 0
je 0x10048391
mov eax, dword [esp + 0x20]
add esi, ebx
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x10048262
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
cmp esi, ebp
jbe 0x10044536
nop
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
dec esi
cmp dword [esp + 0x18], eax
je 0x10048400
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x10048400
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x100483f6
mov edx, dword [esp + 0x15c]
cmp esi, ebp
ja 0x100483b0
jmp 0x10044536
cmp dword [esp + 0x34], 0
jne 0x10048391
jmp 0x10048378
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10048447
cmp esi, dword [edx + 0x84]
jbe 0x10048447
mov dword [edx + 0x64], ebx
cmp dword [edx + 0x88], ebx
jg 0x1004cb62
mov ebp, dword [esp + 0x1c]
jmp 0x1004839c
cmp ebx, edi
jge 0x1004839c
mov edi, dword [edx + 0x78]
nop dword [eax + eax]
mov edx, 1
cmp esi, edi
jae 0x1004785b
cmp dword [esp + 0x18], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x1004854c
cmp eax, 0xc0
jb 0x1004854c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x100484a3
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x1004854a
test al, 0x10
jne 0x100484bd
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x10048544
test al, 8
jne 0x100484e0
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x10048544
test al, 4
jne 0x1004850f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x10048544
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
cmp ecx, 0x24
je 0x10048577
cmp ecx, 0x40
je 0x10048577
cmp ecx, 0x60
je 0x10048577
cmp ecx, 0xa0
jb 0x1004856b
cmp ecx, 0xd7ff
jbe 0x10048577
cmp ecx, 0xe000
jae 0x10048577
xor eax, eax
jmp 0x1004857c
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x10048395
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x24]
jl 0x10048460
jmp 0x10048395
mov eax, dword [esp + 0x2c]
cmp eax, 0x16
jne 0x100488dc
cmp ebx, edi
jge 0x1004887b
nop dword [eax]
cmp esi, dword [edx + 0x78]
jae 0x10048852
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x30], ebx
mov ebp, ebx
test ecx, ecx
je 0x100486c5
cmp ebx, 0xc0
jb 0x100486c5
mov al, byte [esi]
test bl, 0x20
jne 0x100485f2
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x100486c5
lea ecx, [esi + 1]
test bl, 0x10
jne 0x10048615
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x100486b9
lea edx, [esi + 2]
test bl, 8
jne 0x10048640
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x100486b2
lea edi, [esi + 3]
test bl, 4
jne 0x10048676
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x100486b2
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x30]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x18]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
mov edi, esi
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
mov ebp, dword [edx + 0x78]
movzx eax, word [eax*2 + 0x1006b990]
movzx ebx, byte [eax*8 + 0x1006a1d2]
cmp edi, ebp
jae 0x10048810
movzx edx, byte [esi]
mov edi, 1
test ecx, ecx
je 0x100487c5
cmp edx, 0xc0
jb 0x100487c5
test dl, 0x20
jne 0x10048728
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x100487bd
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x10048747
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x100487bd
and eax, 0x3f
test dl, 8
jne 0x10048767
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x100487bd
test dl, 4
jne 0x10048790
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x100487bd
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x1006b990]
movzx ecx, byte [eax*8 + 0x1006a1d2]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x10067f50], eax
je 0x10048809
add esi, edi
mov ebx, ecx
mov ecx, dword [esp + 0x18]
cmp esi, ebp
jb 0x100486f6
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10048839
cmp esi, ebp
jb 0x10048839
cmp esi, dword [edx + 0x84]
jbe 0x10048839
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x100485b0
jmp 0x10048877
cmp dword [edx + 0x88], 0
je 0x10048877
cmp esi, dword [edx + 0x84]
jbe 0x10048877
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
mov ebp, dword [esp + 0x1c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
cmp esi, ebp
jbe 0x10044536
nop
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov ecx, dword [esp + 0x18]
dec esi
test ecx, ecx
jne 0x10049bec
movzx edx, byte [esi]
jmp 0x10049cac
add eax, 0xfffffffa
test ecx, ecx
je 0x10049683
cmp eax, 0xf
ja case.default.0x100429fe
jmp dword [eax*4 + 0x1004d534]
cmp ebx, edi
jge 0x10049633
nop
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x10048a29
mov edx, dword [edx + 0x18]
test edx, edx
je 0x1004893d
mov edi, dword [esp + 0x15c]
mov ecx, esi
push dword [esp + 0x18]
add edi, 0x1c
push edi
push eax
call fcn.10050270
add esp, 0xc
test eax, eax
jne 0x10049633
mov edx, dword [esp + 0x15c]
jmp 0x1004896c
mov edx, dword [esp + 0x15c]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x1004896c
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x1004896c
cmp ecx, 1
je 0x10049633
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x10049633
cmp dword [edx + 0x88], 0
je 0x100489a3
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x100489a3
cmp dword [edx + 0x18], 0
jne 0x100489a3
cmp dword [edi], 2
jne 0x100489a3
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x100489a3
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x100489c1
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x100489c1
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x100489b0
inc ebx
cmp ebx, dword [esp + 0x24]
jge 0x10049633
mov edx, dword [esp + 0x15c]
jmp 0x10048900
cmp edi, 0x7fffffff
jge 0x10048a26
cmp ebx, edi
jge 0x10049633
mov edi, dword [edx + 0x78]
mov eax, dword [esp + 0x24]
nop
cmp esi, edi
jae 0x10048a29
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x10048a15
mov ecx, esi
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x10048a11
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x10048a00
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x15c]
inc ebx
cmp ebx, eax
jl 0x100489f0
jmp 0x10048c53
mov esi, dword [edx + 0x78]
cmp dword [edx + 0x88], 0
je 0x10049633
cmp esi, dword [edx + 0x84]
jbe 0x10049633
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
mov ecx, dword [edx + 0x78]
sub edi, ebx
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x10048aaa
cmp dword [edx + 0x88], 0
mov esi, ecx
je 0x10049633
cmp ecx, dword [edx + 0x84]
jbe 0x10049633
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
mov ecx, dword [esp + 0x15c]
add esi, edi
jmp 0x10048c55
cmp ebx, edi
jge 0x10049633
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x10048c27
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x10048bc7
test dl, 0x20
jne 0x10048afd
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x10048bc7
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x10048b27
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x10048bc7
test dl, 8
jne 0x10048b53
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x10048bc7
test dl, 4
jne 0x10048b8b
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x10048bc7
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0xd
jne 0x10048bdd
inc esi
cmp esi, edi
jae 0x10049633
cmp byte [esi], 0xa
jne 0x10048c13
inc esi
jmp 0x10048c13
cmp edx, 0xa
je 0x10048c11
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x68], 0
jne 0x10048c55
cmp edx, 0xb
je 0x10048c11
cmp edx, 0xc
je 0x10048c11
cmp edx, 0x85
je 0x10048c11
cmp edx, 0x2028
je 0x10048c11
cmp edx, 0x2029
jne 0x10048c55
add esi, eax
inc ebx
cmp ebx, dword [esp + 0x24]
jl 0x10048ac3
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10048c53
cmp esi, dword [edx + 0x84]
jbe 0x10048c53
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
mov ecx, edx
cmp dword [esp + 0x3c], 0
jne 0x1003fdbb
cmp esi, ebp
jbe 0x10044536
nop dword [eax + eax]
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
jne 0x10048cbf
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
je 0x10048cb3
cmp dword [esp + 0x2c], 0x11
jne 0x10048cd8
cmp ecx, ebp
jbe 0x10048cd8
cmp byte [esi], 0xa
jne 0x10048cd8
cmp byte [esi - 1], 0xd
jne 0x10048cd8
lea esi, [ecx - 1]
mov ecx, dword [esp + 0x15c]
cmp esi, ebp
ja 0x10048c70
jmp 0x10044536
cmp ebx, edi
jge 0x10049633
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x10048e4e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x10048dc2
test dl, 0x20
jne 0x10048d25
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x10048dba
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x10048d44
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x10048dba
and eax, 0x3f
test dl, 8
jne 0x10048d64
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x10048dba
test dl, 4
jne 0x10048d8d
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x10048dba
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x10048de8
je 0x10048e16
cmp edx, 0xa0
ja 0x10048de0
je 0x10048e16
cmp edx, 9
je 0x10048e16
cmp edx, 0x20
jmp 0x10048e10
cmp edx, 0x1680
jmp 0x10048e10
cmp edx, 0x205f
ja 0x10048e0a
je 0x10048e16
cmp edx, 0x2000
jb 0x10048e12
cmp edx, 0x200a
jbe 0x10048e16
cmp edx, 0x202f
jmp 0x10048e10
cmp edx, 0x3000
je 0x10048e16
xor ecx, ecx
jmp 0x10048e1b
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x2c], 0x12
sete al
cmp ecx, eax
je 0x10049633
mov eax, dword [esp + 0x20]
add esi, edi
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x10048cf3
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10048c53
cmp esi, dword [edx + 0x84]
jbe 0x10048c53
mov dword [edx + 0x64], edi
cmp dword [edx + 0x88], edi
jmp 0x10048c4d
cmp ebx, edi
jge 0x10049633
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x10048c27
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x10048f56
test dl, 0x20
jne 0x10048eb9
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x10048f4e
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x10048ed8
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x10048f4e
and eax, 0x3f
test dl, 8
jne 0x10048ef8
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x10048f4e
test dl, 4
jne 0x10048f21
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x10048f4e
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x10048f9f
je 0x10048faa
cmp edx, 0xa
jb 0x10048f6a
cmp edx, 0xd
jbe 0x10048faa
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x2c], 0x14
sete al
cmp ecx, eax
je 0x10049633
mov eax, dword [esp + 0x20]
add esi, edi
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x10048e87
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x10048f6a
mov ecx, 1
jmp 0x10048f6c
cmp ebx, edi
jge 0x10049633
mov edi, dword [edx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x10048c27
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x10049095
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x10048ffc
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x10049091
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x10049014
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x1004908b
and eax, 0x3f
test dl, 8
jne 0x10049034
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x1004908b
test dl, 4
jne 0x1004905d
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x1004908b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x100490b0
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne 0x10049633
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x24]
jl 0x10048fc0
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
cmp ebx, edi
jge 0x10049633
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x10048c27
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x100491a9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x10049110
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x100491a5
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x10049128
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x1004919f
and eax, 0x3f
test dl, 8
jne 0x10049148
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x1004919f
test dl, 4
jne 0x10049171
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x1004919f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x10049633
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je 0x10049633
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x24]
jl 0x100490d4
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
cmp ebx, edi
jge 0x10049633
mov edi, dword [edx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x10048c27
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x100492c5
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x1004922c
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x100492c1
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x10049244
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x100492bb
and eax, 0x3f
test dl, 8
jne 0x10049264
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x100492bb
test dl, 4
jne 0x1004928d
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x100492bb
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x100492e0
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne 0x10049633
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x24]
jl 0x100491f0
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
cmp ebx, edi
jge 0x10049633
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x10048c27
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x100493dc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x10049340
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x100493d8
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x1004935b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x100493d2
and eax, 0x3f
test dl, 8
jne 0x1004937b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x100493d2
test dl, 4
jne 0x100493a4
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x100493d2
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x10049633
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je 0x10049633
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x24]
jl 0x10049304
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
cmp ebx, edi
jge 0x10049633
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x10048c27
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x100494f8
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x1004945c
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x100494f4
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x10049477
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x100494ee
and eax, 0x3f
test dl, 8
jne 0x10049497
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x100494ee
test dl, 4
jne 0x100494c0
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x100494ee
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x10049513
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne 0x10049633
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x24]
jl 0x10049420
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
cmp ebx, edi
jge 0x10049633
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x1004963f
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x1004960f
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x10049573
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x1004960b
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x1004958e
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x10049605
and eax, 0x3f
test dl, 8
jne 0x100495ae
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x10049605
test dl, 4
jne 0x100495d7
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x10049605
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x10049633
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x10049633
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x24]
jl 0x10049537
mov ecx, dword [esp + 0x15c]
jmp 0x10048c55
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10048c53
cmp esi, dword [edx + 0x84]
jbe 0x10048c53
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jle 0x10048c53
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, 0xf
ja case.default.0x100429fe
jmp dword [eax*4 + 0x1004d574]
cmp ebx, edi
jge 0x10049a18
nop dword [eax + eax]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x100498f1
mov edx, dword [edx + 0x18]
test edx, edx
je 0x100496db
mov edi, dword [esp + 0x15c]
mov ecx, esi
push 0
add edi, 0x1c
push edi
push eax
call fcn.10050270
mov edx, dword [esp + 0x168]
add esp, 0xc
test eax, eax
jne 0x10049a18
jmp 0x1004970a
mov edx, dword [esp + 0x15c]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x1004970a
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x1004970a
cmp ecx, 1
je 0x10049a18
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x10049a18
cmp dword [edx + 0x88], 0
je 0x10049741
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x10049741
cmp dword [edx + 0x18], 0
jne 0x10049741
cmp dword [edi], 2
jne 0x10049741
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x10049741
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
inc ebx
inc esi
cmp ebx, dword [esp + 0x24]
jl 0x100496a0
jmp 0x10049a18
mov ecx, dword [edx + 0x78]
sub edi, ebx
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x10049793
cmp dword [edx + 0x88], 0
mov esi, ecx
je 0x10049a18
cmp ecx, dword [edx + 0x84]
jbe 0x10049a18
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x10049a18
add esi, edi
jmp 0x10049a18
cmp ebx, edi
jge 0x10049a18
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x100498f1
mov al, byte [esi]
cmp al, 0xd
jne 0x100497c3
inc esi
cmp esi, ecx
jae 0x10049a18
cmp byte [esi], 0xa
jne 0x100497e2
jmp 0x100497e1
cmp al, 0xa
je 0x100497e1
cmp dword [edx + 0x68], 0
jne 0x10049a18
cmp al, 0xb
je 0x100497e1
cmp al, 0xc
je 0x100497e1
cmp al, 0x85
jne 0x10049a18
inc esi
inc ebx
cmp ebx, edi
jl 0x100497a5
jmp 0x10049a18
cmp ebx, edi
jge 0x10049a18
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x100498f1
mov al, byte [esi]
cmp al, 9
je 0x10049a18
cmp al, 0x20
je 0x10049a18
cmp al, 0xa0
je 0x10049a18
inc ebx
inc esi
cmp ebx, edi
jl 0x100497f7
jmp 0x10049a18
cmp ebx, edi
jge 0x10049a18
mov ecx, dword [edx + 0x78]
nop
cmp esi, ecx
jae 0x100498f1
mov al, byte [esi]
cmp al, 9
je 0x1004984a
cmp al, 0x20
je 0x1004984a
cmp al, 0xa0
jne 0x10049a18
inc ebx
inc esi
cmp ebx, edi
jl 0x10049830
jmp 0x10049a18
cmp ebx, edi
jge 0x10049a18
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x100498f1
mov al, byte [esi]
cmp al, 0xa
jb 0x1004987e
cmp al, 0xd
jbe 0x10049a18
cmp al, 0x85
je 0x10049a18
inc ebx
inc esi
cmp ebx, edi
jl 0x10049860
jmp 0x10049a18
cmp ebx, edi
jge 0x10049a18
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x100498f1
mov al, byte [esi]
cmp al, 0xa
jb 0x10049a18
cmp al, 0xd
jbe 0x100498ae
cmp al, 0x85
jne 0x10049a18
inc ebx
inc esi
cmp ebx, edi
jl 0x10049894
jmp 0x10049a18
cmp ebx, edi
jge 0x10049a18
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x100498ea
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne 0x10049a11
inc ebx
inc esi
cmp ebx, edi
jl 0x100498c4
jmp 0x10049a11
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x10049a18
cmp esi, dword [edx + 0x84]
jbe 0x10049a18
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x1004cb62
jmp 0x10049a18
cmp ebx, edi
jge 0x10049a18
mov edx, dword [edx + 0x78]
nop
cmp esi, edx
jae 0x100498ea
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je 0x10049a11
inc ebx
inc esi
cmp ebx, edi
jl 0x10049930
jmp 0x10049a11
cmp ebx, edi
jge 0x10049a18
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x100498ea
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne 0x10049a11
inc ebx
inc esi
cmp ebx, edi
jl 0x10049961
jmp 0x10049a11
cmp ebx, edi
jge 0x10049a18
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x100498ea
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je 0x10049a11
inc ebx
inc esi
cmp ebx, edi
jl 0x10049992
jmp 0x10049a11
cmp ebx, edi
jge 0x10049a18
mov edx, dword [edx + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x100498ea
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne 0x10049a11
inc ebx
inc esi
cmp ebx, edi
jl 0x100499c0
jmp 0x10049a11
cmp ebx, edi
jge 0x10049a18
mov edx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x100498ea
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x10049a11
inc ebx
inc esi
cmp ebx, edi
jl 0x100499f0
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x3c], 0
jne 0x1003fdc2
cmp esi, ebp
je 0x10044536
nop dword [eax + eax]
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
dec esi
cmp dword [esp + 0x2c], 0x11
jne 0x10049a7f
cmp esi, ebp
jbe 0x10049a81
cmp byte [esi], 0xa
jne 0x10049a7f
cmp byte [esi - 1], 0xd
jne 0x10049a7f
dec esi
cmp esi, ebp
mov edx, dword [esp + 0x15c]
jne 0x10049a30
jmp 0x10044536
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
cmp byte [edi], 0x7a
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebx
push edx
jne 0x10049ad3
lea edx, [edi + 3]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov ebx, dword [esp + 0x1c]
mov edi, ebx
mov dword [esp + 0x14], edi
jmp 0x1004453a
mov edx, dword [esp + 0x30]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov edi, dword [esp + 0x14]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x1004453a
cmp dword [esp + 0x2c], 0x8c
jne 0x1004453a
mov ecx, dword [esp + 0x15c]
mov edx, edi
mov dword [ecx + 0x98], 2
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push ebp
push dword [esp + 0x164]
mov ecx, esi
call fcn.1003fcd0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ebp, dword [esp + 0x154]
inc eax
cmp byte [edi], 0x7a
push eax
push dword [esp + 0x164]
push edx
push ecx
push ebp
mov ecx, esi
jne 0x10049b9b
lea edx, [edi + 3]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov al, byte [ebx]
cmp al, 0x81
je 0x1004a0a3
cmp al, 0x88
jae 0x1004a06d
mov edi, ebx
mov dword [esp + 0x14], edi
jmp 0x1004453a
mov edx, ebx
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1b
jne 0x10049bc4
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0xb4], ebx
jne 0x1004a0d8
jmp 0x10049bd3
test edi, edi
jne 0x1004a0d8
mov ecx, dword [esp + 0x15c]
cmp byte [ebx], 0x81
je 0x1004a0e5
mov edi, dword [esp + 0x14]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x1004453a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x10049bfe
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x10049bf4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x10049cac
test dl, 0x20
jne 0x10049c1e
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x10049ca4
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x10049c38
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x10049ca0
and eax, 0x3f
test dl, 8
jne 0x10049c53
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x10049ca0
test dl, 4
jne 0x10049c77
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x10049ca0
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [esp + 0x18]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x1006b990]
movzx ebx, byte [eax*8 + 0x1006a1d2]
cmp esi, ebp
jbe 0x10044536
lea edi, [esi - 1]
test ecx, ecx
jne 0x10049ce7
movzx edx, byte [edi]
jmp 0x10049da4
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x10049cfa
nop
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x10049cf0
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x10049da4
test dl, 0x20
jne 0x10049d1a
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x10049d9c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x10049d34
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x10049d9c
and eax, 0x3f
test dl, 8
jne 0x10049d4f
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x10049d9c
test dl, 4
jne 0x10049d73
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x10049d9c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
mov ecx, ebx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x1006b990]
movzx edx, byte [eax*8 + 0x1006a1d2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x10067f50], eax
je 0x10049de7
mov ecx, dword [esp + 0x18]
mov esi, edi
mov ebx, edx
jmp 0x10049cd0
mov edx, dword [esp + 0x15c]
jmp 0x10048890
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x15c]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov dword [esp + 0x1c], edx
lea eax, [edx + edx]
mov dword [esp + 0x30], eax
cmp eax, dword [ecx + 0x14]
jge 0x10049e68
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x40], ebx
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x15c]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov ebx, dword [edx + 0x90]
mov ebp, dword [edx + 0xac]
mov dword [ecx], eax
jmp 0x1004cb76
mov ecx, dword [esp + 0x15c]
cmp edi, 0x88
jae 0x10049ea2
cmp edi, 0x81
je 0x10049ea2
cmp dword [ecx + 0x6c], 0
mov edi, dword [esp + 0x14]
jne 0x10049eb0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edi], 0x77
jne 0x10049f72
mov ecx, dword [esp + 0x15c]
jmp 0x10049eb0
mov edi, dword [esp + 0x14]
mov dword [ecx + 0x98], 2
mov eax, dword [esp + 0x164]
mov ebx, dword [ecx + 0xac]
inc eax
mov ebp, dword [ecx + 0x90]
push eax
push dword [esp + 0x164]
movzx eax, byte [edi]
push ecx
push dword [esp + 0x164]
mov ecx, esi
movzx edx, byte [eax + 0x10067470]
push dword [esp + 0x164]
add edx, edi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc20
jne 0x10049f2e
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x15c]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x1004a0d8
cmp byte [edx], 0x77
je 0x10049f3a
cmp byte [eax], 0x77
jne 0x1004a0d8
jmp 0x10049f3a
test edi, edi
jne 0x1004cc96
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x14], edx
mov dword [ecx + 0xac], ebx
cmp byte [edx], 0x77
jne case.0x1004c9f2.14
mov edi, dword [esp + 0x2c]
mov dword [ecx + 0x90], ebp
jmp 0x10049e68
movzx eax, byte [edi]
movzx eax, byte [eax + 0x10067470]
add edi, eax
mov dword [esp + 0x14], edi
jmp 0x1004453a
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push ebx
mov ebx, dword [esp + 0x24]
push dword [esp + 0x164]
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
movzx eax, byte [eax + 0x10067470]
add eax, ebx
add edx, eax
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov ecx, dword [esp + 0x15c]
lea eax, [ebx + 2]
mov dword [ecx + 0x7c], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
sub eax, 1
je case.0x1004c9f2.14
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x1004a0d8
push eax
call fcn.10036a40
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov dword [eax + 0x80], esi
mov dword [eax + 0x7c], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
call fcn.1003fcd0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, ebx
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
mov ecx, esi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10041177
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
lea edx, [edx + 3]
push ebp
jmp 0x1004a0c4
mov eax, dword [esp + 0x154]
mov dword [edx + 0x7c], eax
mov eax, 0xfffffc1a
mov dword [edx + 0x80], esi
mov dword [edx + 0x8c], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x158]
mov dword [edx + 0x80], esi
mov dword [edx + 0x8c], eax
mov eax, dword [esp + 0x154]
mov dword [edx + 0x7c], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x15c]
jne 0x1004a169
mov esi, dword [eax + 0x78]
cmp dword [eax + 0x88], 0
je case.0x1004c9f2.14
cmp esi, dword [eax + 0x78]
jb case.0x1004c9f2.14
jmp 0x1004a2c1
cmp eax, 0xfffffffe
jne 0x1004a18c
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je case.0x1004c9f2.14
cmp esi, dword [edi + 0x78]
jb case.0x1004c9f2.14
jmp 0x1004cb42
mov dword [esp + 0x30], esi
cmp ebx, edi
jge 0x1004a21a
nop
push dword [esp + 0x38]
mov edx, esi
mov ecx, ebp
push dword [esp + 0x160]
push dword [esp + 0x24]
call fcn.1004d720
add esp, 0xc
test eax, eax
js 0x1004a1d8
inc ebx
add esi, eax
cmp ebx, edi
jl 0x1004a1b0
jmp 0x1004a20c
cmp eax, 0xfffffffe
jne 0x1004a20c
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x88], 0
je 0x1004a20c
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x84]
jbe 0x1004a20c
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x1004cb62
mov ebx, dword [esp + 0x30]
cmp esi, ebx
jb case.0x1004c9f2.14
jmp 0x1004a220
mov ebx, dword [esp + 0x30]
nop
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
sub esi, dword [esp + 0x1c]
cmp esi, ebx
jae 0x1004a220
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, 0xfffffffe
jne 0x1004a278
mov esi, dword [ebx + 0x78]
cmp dword [ebx + 0x88], 0
je case.0x1004c9f2.14
cmp esi, dword [ebx + 0x78]
jb case.0x1004c9f2.14
cmp esi, dword [ebx + 0x84]
jbe case.0x1004c9f2.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jmp 0x1004cb5c
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je case.0x1004c9f2.14
cmp esi, dword [eax + 0x84]
jbe case.0x1004c9f2.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x1004cb5c
mov eax, dword [esp + 0x164]
mov ebp, dword [esp + 0x15c]
inc eax
mov edx, dword [esp + 0x14]
test ecx, ecx
push eax
push dword [esp + 0x164]
mov ecx, esi
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
je 0x1004a504
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop word [eax + eax]
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x24]
jge case.0x1004c9f2.14
cmp esi, dword [ebp + 0x78]
jae 0x1004a4d8
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x30], ebx
cmp ebx, 0xc0
jb 0x1004a466
test bl, 0x20
jne 0x1004a378
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x1004a466
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004a3a3
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x1004a462
lea edx, [esi + 2]
test bl, 8
jne 0x1004a3d7
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x1004a462
lea edi, [esi + 3]
test bl, 4
jne 0x1004a417
movzx ebx, al
add esi, 4
mov eax, dword [esp + 0x30]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x1004a462
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x30]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x15c]
mov edx, dword [esp + 0x1c]
cmp ebx, 0xff
jbe 0x1004a475
cmp dword [esp + 0x2c], 0x6e
jmp 0x1004a48b
mov ecx, ebx
mov eax, 1
and ecx, 7
shr ebx, 3
shl eax, cl
mov ecx, dword [esp + 0x28]
test byte [ebx + ecx], al
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
inc edx
inc eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x14]
mov ecx, esi
push eax
push dword [esp + 0x164]
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004a330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ebp + 0x88], 0
je case.0x1004c9f2.14
cmp esi, dword [ebp + 0x84]
jbe case.0x1004c9f2.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x1004cb5c
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov ebx, dword [esp + 0x1c]
nop word [eax + eax]
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
cmp esi, dword [ebp + 0x78]
jae 0x1004a4d8
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x28]
test byte [edx + ecx], al
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004a520
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop dword [eax + eax]
cmp ebx, dword [esp + 0x2c]
jge case.0x1004c9f2.14
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x1004cb35
movzx ebx, byte [esi]
inc esi
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1004a6cc
cmp ebx, 0xc0
jb 0x1004a6cc
test bl, 0x20
jne 0x1004a61f
movzx eax, byte [esi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
inc esi
jmp 0x1004a6cc
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x1004a646
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add esi, 2
jmp 0x1004a6cc
test bl, 8
jne 0x1004a669
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
jmp 0x1004a6cc
test bl, 4
jne 0x1004a698
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
jmp 0x1004a6cc
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
push edx
mov edx, ebp
mov ecx, ebx
call fcn.1004fa00
add esp, 4
test eax, eax
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebx, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0x14]
inc ebx
push eax
push dword [esp + 0x164]
mov dword [esp + 0x24], ebx
push edi
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004a5d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ebx + 0x88], 0
je case.0x1004c9f2.14
cmp esi, edi
jmp 0x1004a288
cmp dword [edx + 0x88], 0
je case.0x1004c9f2.14
cmp esi, dword [edx + 0x84]
jbe case.0x1004c9f2.14
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jmp 0x1004cb5c
mov eax, dword [esp + 0x15c]
jmp 0x1004a169
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebx, dword [esp + 0x15c]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x164]
push ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
cmp dword [esp + 0x1c], ebp
jge case.0x1004c9f2.14
mov ebx, dword [ebx + 0x78]
mov eax, ebx
mov ebp, dword [esp + 0x2c]
sub eax, ebp
cmp esi, eax
ja 0x1004a837
mov edx, dword [esp + 0x40]
mov edi, ebp
mov ecx, esi
sub edi, 4
jb 0x1004a7f1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1004a7fa
add ecx, 4
add edx, 4
sub edi, 4
jae 0x1004a7e0
cmp edi, 0xfffffffc
je 0x1004a8b2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1004a837
cmp edi, 0xfffffffd
je 0x1004a8b2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1004a837
cmp edi, 0xfffffffe
je 0x1004a8b2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1004a837
cmp edi, 0xffffffff
je 0x1004a8b2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1004a8b2
mov ebp, dword [esp + 0x20]
mov ecx, ebx
test ebp, ebp
jle 0x1004a905
mov eax, ebx
sub eax, ebp
cmp esi, eax
ja 0x1004a905
mov edi, ebp
lea edx, [esp + 0x60]
mov ecx, esi
sub edi, 4
jb 0x1004a871
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1004a876
add ecx, 4
add edx, 4
sub edi, 4
jae 0x1004a860
cmp edi, 0xfffffffc
je 0x1004a8aa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1004a8a3
cmp edi, 0xfffffffd
je 0x1004a8aa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1004a8a3
cmp edi, 0xfffffffe
je 0x1004a8aa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1004a8a3
cmp edi, 0xffffffff
je 0x1004a8aa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1004a8aa
sbb eax, eax
or eax, 1
jmp 0x1004a8ac
xor eax, eax
mov ecx, ebx
test eax, eax
jne 0x1004a905
mov eax, dword [esp + 0x164]
add esi, ebp
mov ebx, dword [esp + 0x15c]
inc eax
mov edx, dword [esp + 0x14]
mov ecx, esi
inc dword [esp + 0x1c]
push eax
push dword [esp + 0x164]
push ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov ebp, dword [esp + 0x38]
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004a7b6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je case.0x1004c9f2.14
cmp esi, ecx
jb case.0x1004c9f2.14
jmp 0x1004a2c1
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop dword [eax]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x1004a740
movzx eax, byte [esi]
cmp ebx, eax
je 0x1004a98d
cmp ebp, eax
jne case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
inc ecx
inc eax
mov dword [esp + 0x1c], ecx
push eax
push dword [esp + 0x164]
inc esi
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004a960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
jge case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x1004a740
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
inc ecx
inc eax
mov dword [esp + 0x1c], ecx
push eax
push dword [esp + 0x164]
mov ecx, esi
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004aa10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x88], 0
je case.0x1004c9f2.14
cmp esi, dword [ecx + 0x84]
jbe case.0x1004c9f2.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x1004cb5c
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
cmp dword [esp + 0x18], 0
push eax
push dword [esp + 0x164]
je 0x1004ac62
mov ebp, dword [esp + 0x164]
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x1c]
jge case.0x1004c9f2.14
cmp esi, dword [ebp + 0x78]
jae 0x1004a4d8
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x40], ebx
cmp ebx, 0xc0
jb 0x1004ac07
test bl, 0x20
jne 0x1004ab38
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x1004ac03
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x1004ab5e
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x1004abfe
lea edx, [esi + 2]
test bl, 8
jne 0x1004ab87
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x1004abfe
lea edi, [esi + 3]
test bl, 4
jne 0x1004abb8
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x1004abfe
mov ebp, dword [esp + 0x40]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x40], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x15c]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], ebx
je case.0x1004c9f2.14
cmp dword [esp + 0x30], ebx
je case.0x1004c9f2.14
mov edx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x24], eax
mov ecx, esi
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004aaf0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov ebx, dword [esp + 0x24]
nop dword [eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x1004c9f2.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x1004aa7b
movzx eax, byte [esi]
cmp dword [esp + 0x20], eax
je case.0x1004c9f2.14
cmp ebp, eax
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
inc esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004ac90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test eax, eax
mov ecx, esi
mov eax, dword [esp + 0x164]
je 0x1004aecb
mov ebx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, ebx
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x1c]
jge case.0x1004c9f2.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x1004aa7b
movzx edx, byte [esi]
inc esi
mov dword [esp + 0x28], edx
cmp edx, 0xc0
jb 0x1004ae7e
test dl, 0x20
jne 0x1004ad8f
movzx ecx, byte [esi]
mov eax, edx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov edx, ecx
or edx, eax
inc esi
jmp 0x1004ae73
mov al, byte [esi]
lea ecx, [esi + 1]
test dl, 0x10
jne 0x1004adb2
and edx, 0xf
movzx eax, al
and eax, 0x3f
shl edx, 6
add esi, 2
or edx, eax
movzx eax, byte [ecx]
jmp 0x1004ae6b
mov ebp, dword [esp + 0x28]
test dl, 8
jne 0x1004adee
movzx edi, al
lea edx, [esi + 2]
movzx eax, byte [ecx]
and edi, 0x3f
movzx edx, byte [edx]
and ebp, 7
shl ebp, 6
and eax, 0x3f
or edi, ebp
and edx, 0x3f
mov ebp, dword [esp + 0x20]
add esi, 3
shl edi, 6
or edi, eax
shl edi, 6
or edx, edi
jmp 0x1004ae73
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x1004ae25
movzx edx, byte [edx]
and ebp, 3
movzx ebx, al
and edx, 0x3f
movzx eax, byte [ecx]
and ebx, 0x3f
shl ebp, 6
and eax, 0x3f
or ebx, ebp
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
or edx, ebx
jmp 0x1004ae63
movzx eax, al
lea ebx, [esi + 4]
and eax, 0x3f
and ebp, 1
shl ebp, 6
add esi, 5
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
mov edx, ebp
mov dword [esp + 0x28], ebp
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x15c]
cmp ebp, edx
je case.0x1004c9f2.14
inc eax
mov edx, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004ad40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov ebx, dword [esp + 0x24]
nop dword [eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x1004c9f2.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x1004aa7b
movzx eax, byte [esi]
inc esi
cmp ebp, eax
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
inc ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004af00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test eax, eax
js 0x1004c140
cmp eax, 0xa
ja case.default.0x100429fe
jmp dword [eax*4 + 0x1004d5b4]
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, ebp
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x1004aa7b
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
je 0x1004b007
cmp eax, 0xc0
jb 0x1004b007
test al, 0x20
jne 0x1004afe9
inc esi
jmp 0x1004b007
test al, 0x10
jne 0x1004aff2
add esi, 2
jmp 0x1004b007
test al, 8
jne 0x1004affb
add esi, 3
jmp 0x1004b007
test al, 4
jne 0x1004b004
add esi, 4
jmp 0x1004b007
add esi, 5
cmp dword [esp + 0x34], 0
jne case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov edx, ebp
inc eax
inc ebx
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004afb6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop word [eax + eax]
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x1004aa7b
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x30], ebx
je 0x1004b1b4
cmp ebx, 0xc0
jb 0x1004b1b4
mov al, byte [esi]
test bl, 0x20
jne 0x1004b0e6
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x1004b1b4
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004b109
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x1004b1a5
lea edx, [esi + 2]
test bl, 8
jne 0x1004b135
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x1004b1a5
lea edi, [esi + 3]
test bl, 4
jne 0x1004b169
movzx ebp, al
and ebx, 3
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x1004b1a5
mov ebp, dword [esp + 0x30]
lea ebx, [esi + 4]
and ebp, 1
movzx eax, al
and eax, 0x3f
shl ebp, 6
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp eax, 9
je 0x1004b1eb
cmp eax, 5
je 0x1004b1eb
cmp eax, 8
je 0x1004b1eb
xor eax, eax
jmp 0x1004b1f0
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x14]
inc ebx
push eax
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004b090
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop dword [eax]
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x1004a740
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x30], ebx
je 0x1004b388
cmp ebx, 0xc0
jb 0x1004b388
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x1004b2ce
inc esi
and ebp, 0x1f
jmp 0x1004b380
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004b2ee
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x1004b380
lea edx, [esi + 2]
test bl, 8
jne 0x1004b313
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x1004b379
lea edi, [esi + 3]
test bl, 4
jne 0x1004b343
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x1004b379
mov ebp, dword [esp + 0x30]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ebx, dword [esp + 0x44]
mov eax, ebp
shr eax, 7
and ebp, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp dword [eax*4 + 0x10067570], ebx
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebx, dword [esp + 0x20]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
mov dword [esp + 0x34], ebx
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004b280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop dword [eax + eax]
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x1004a740
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x30], ebx
je 0x1004b558
cmp ebx, 0xc0
jb 0x1004b558
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x1004b49e
inc esi
and ebp, 0x1f
jmp 0x1004b550
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004b4be
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x1004b550
lea edx, [esi + 2]
test bl, 8
jne 0x1004b4e3
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x1004b549
lea edi, [esi + 3]
test bl, 4
jne 0x1004b513
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x1004b549
mov ebp, dword [esp + 0x30]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebx, dword [esp + 0x20]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
mov dword [esp + 0x34], ebx
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004b450
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x1004a740
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x30], ebx
je 0x1004b719
cmp ebx, 0xc0
jb 0x1004b719
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x1004b65f
inc esi
and ebp, 0x1f
jmp 0x1004b711
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004b67f
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x1004b711
lea edx, [esi + 2]
test bl, 8
jne 0x1004b6a4
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x1004b70a
lea edi, [esi + 3]
test bl, 4
jne 0x1004b6d4
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x1004b70a
mov ebp, dword [esp + 0x30]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d0]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebx, dword [esp + 0x20]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
mov dword [esp + 0x34], ebx
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004b611
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x1004aa7b
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x30], ebx
je 0x1004b8f2
cmp ebx, 0xc0
jb 0x1004b8f2
mov al, byte [esi]
test bl, 0x20
jne 0x1004b820
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x1004b8ea
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004b843
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x1004b8e3
lea edx, [esi + 2]
test bl, 8
jne 0x1004b871
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x1004b8e3
lea edi, [esi + 3]
test bl, 4
jne 0x1004b8a7
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x1004b8e3
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x30]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x1004b92b
cmp eax, 3
je 0x1004b92b
xor eax, eax
jmp 0x1004b930
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x14]
inc ebx
push eax
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004b7d2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, ebp
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x1004cb35
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov edx, ecx
je 0x1004bad1
cmp ecx, 0xc0
jb 0x1004bad1
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x1004ba10
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x1004bacf
test cl, 0x10
jne 0x1004ba31
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x1004bacf
test cl, 8
jne 0x1004ba5e
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x1004bacf
test cl, 4
jne 0x1004ba94
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x1004bacf
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp ecx, 0x180e
ja 0x1004bb14
je case.0x1004bb30.8192
cmp ecx, 0x85
ja 0x1004bb00
je case.0x1004bb30.8192
cmp ecx, 9
jb case.0x1004bb30.8203
cmp ecx, 0xd
jbe case.0x1004bb30.8192
cmp ecx, 0x20
jmp 0x1004bb45
cmp ecx, 0xa0
je case.0x1004bb30.8192
cmp ecx, 0x1680
jmp 0x1004bb45
cmp ecx, 0x202f
ja 0x1004bb37
je case.0x1004bb30.8192
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x1004bb30.8203
movzx eax, byte [ecx + 0x1004d5e8]
jmp dword [eax*4 + 0x1004d5e0]
cmp ecx, 0x205f
je case.0x1004bb30.8192
cmp ecx, 0x3000
je case.0x1004bb30.8192
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
cmp dword [eax*4 + 0x10067570], 6
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x1004c9f2.14
jmp 0x1004bb8f
cmp dword [esp + 0x34], 0
jne case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov edx, ebp
inc eax
mov ecx, esi
push eax
push dword [esp + 0x164]
inc ebx
push edi
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004b9c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop word [eax + eax]
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x1004a740
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x30], ebx
je 0x1004bd17
cmp ebx, 0xc0
jb 0x1004bd17
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x1004bc66
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x1004bd17
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004bc81
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x1004bd0f
lea edx, [esi + 2]
test bl, 8
jne 0x1004bca4
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x1004bd08
lea edi, [esi + 3]
test bl, 4
jne 0x1004bcd2
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x1004bd08
mov eax, dword [esp + 0x30]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x10067fd0]
mov eax, ebp
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x1006b990]
movzx eax, byte [eax*8 + 0x1006a1d1]
mov eax, dword [eax*4 + 0x10067570]
cmp eax, 1
je 0x1004bd57
cmp eax, 3
je 0x1004bd57
cmp ebp, 0x5f
je 0x1004bd57
xor eax, eax
jmp 0x1004bd5c
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebx, dword [esp + 0x20]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
mov dword [esp + 0x34], ebx
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004bc10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov ebp, dword [esp + 0x15c]
nop
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
cmp esi, dword [ebp + 0x78]
jae 0x1004a4d8
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov edi, edx
je 0x1004bee6
cmp edx, 0xc0
jb 0x1004bee6
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x1004be3d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x1004bee4
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x1004be5e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x1004bee4
test dl, 8
jne 0x1004be81
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x1004bee4
test dl, 4
jne 0x1004beb0
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x1004bee4
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov edi, edx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax*4 + 0x1006b850]
lea eax, [eax*4 + 0x1006b850]
cmp edi, ecx
jb 0x1004bf0d
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x1004bf5b
mov ecx, dword [eax]
cmp edx, ecx
jae 0x1004bf00
cmp dword [esp + 0x34], 0
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004bdf0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esp + 0x34], 0
jne case.0x1004c9f2.14
jmp 0x1004bf18
mov eax, dword [esp + 0x164]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x1004aa7b
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x30], ebx
je 0x1004c0bb
cmp ebx, 0xc0
jb 0x1004c0bb
test bl, 0x20
jne 0x1004bff4
movzx ebp, byte [esi]
and ebx, 0x1f
and ebp, 0x3f
shl ebx, 6
or ebp, ebx
inc esi
jmp 0x1004c0bb
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004c017
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x1004c0ac
lea edx, [esi + 2]
test bl, 8
jne 0x1004c042
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x1004c0ac
movzx ebp, al
lea edi, [esi + 3]
and ebp, 0x3f
test bl, 4
jne 0x1004c076
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x1004c0ac
mov eax, dword [esp + 0x30]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
cmp ebp, 0x24
je 0x1004c0e6
cmp ebp, 0x40
je 0x1004c0e6
cmp ebp, 0x60
je 0x1004c0e6
cmp ebp, 0xa0
jb 0x1004c0da
cmp ebp, 0xd7ff
jbe 0x1004c0e6
cmp ebp, 0xe000
jae 0x1004c0e6
xor eax, eax
jmp 0x1004c0eb
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x14]
inc ebx
push eax
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004bfa0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x20]
push dword [esp + 0x164]
push dword [esp + 0x164]
cmp ebp, 0x16
jne 0x1004c451
mov ecx, esi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x1004a2b4
movzx ebx, byte [esi]
inc esi
mov edx, dword [esp + 0x18]
mov ebp, ebx
mov dword [esp + 0x30], ebx
mov ecx, esi
test edx, edx
je 0x1004c289
cmp ebx, 0xc0
jb 0x1004c289
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x1004c1d9
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x1004c287
lea ecx, [esi + 1]
test bl, 0x10
jne 0x1004c1f4
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x1004c27f
lea edx, [esi + 2]
test bl, 8
jne 0x1004c217
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x1004c27b
lea edi, [esi + 3]
test bl, 4
jne 0x1004c245
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x1004c27b
mov eax, dword [esp + 0x30]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x18]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ecx, esi
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x1006b990]
movzx ebx, byte [eax*8 + 0x1006a1d2]
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
cmp ecx, ebp
jae 0x1004c3d6
nop
test edx, edx
mov edi, 1
movzx edx, byte [esi]
je 0x1004c392
cmp edx, 0xc0
jb 0x1004c392
test dl, 0x20
jne 0x1004c2f2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x1004c38a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x1004c314
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x1004c38a
and eax, 0x3f
test dl, 8
jne 0x1004c334
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x1004c38a
test dl, 4
jne 0x1004c35d
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x1004c38a
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x10067fd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x1006b990]
movzx ecx, byte [eax*8 + 0x1006a1d2]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x10067f50], eax
je 0x1004c3d6
mov edx, dword [esp + 0x18]
add esi, edi
mov ebx, ecx
cmp esi, ebp
jb 0x1004c2c0
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x88], 0
je 0x1004c406
cmp esi, ebp
jb 0x1004c406
cmp esi, dword [ecx + 0x84]
jbe 0x1004c406
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x1004cb62
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x14]
inc ebx
push eax
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push ecx
push dword [esp + 0x164]
mov ecx, esi
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004c180
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test ecx, ecx
mov ecx, esi
je 0x1004c8ff
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
nop dword [eax]
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov edi, dword [esp + 0x15c]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x1004cb35
cmp ebp, 0xc
jne 0x1004c4da
mov edx, dword [edi + 0x18]
test edx, edx
je 0x1004c4b5
push dword [esp + 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.10050270
add esp, 0xc
test eax, eax
jne case.0x1004c9f2.14
jmp 0x1004c4da
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x1004c4da
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x1004c4da
cmp edx, 1
je case.0x1004c9f2.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x1004c9f2.14
movzx edx, byte [esi]
inc esi
mov ecx, esi
mov eax, edx
cmp edx, 0xc0
jb 0x1004c5b4
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x1004c509
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x1004c5b0
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x1004c52a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x1004c5b0
test dl, 8
jne 0x1004c54d
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x1004c5b0
test dl, 4
jne 0x1004c57c
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x1004c5b0
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, esi
mov eax, edx
lea edi, [ebp - 6]
cmp edi, 0xf
ja case.default.0x100429fe
jmp dword [edi*4 + 0x1004d614]
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je case.0x1004c5c0.13
cmp ecx, dword [eax + 0x78]
jb case.0x1004c5c0.13
cmp dword [eax + 0x18], 0
jne case.0x1004c5c0.13
cmp dword [eax + 0x1c], 2
jne case.0x1004c5c0.13
movzx eax, byte [eax + 0x34]
cmp edx, eax
jne case.0x1004c5c0.13
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x1004cb62
jmp case.0x1004c5c0.13
cmp edx, 0xd
ja 0x1004c65a
je 0x1004c639
cmp edx, 0xa
je case.0x1004c5c0.13
lea eax, [edx - 0xb]
jmp 0x1004c668
mov eax, dword [esp + 0x15c]
cmp ecx, dword [eax + 0x78]
jae case.0x1004c5c0.13
cmp byte [esi], 0xa
jne case.0x1004c5c0.13
lea esi, [ecx + 1]
jmp case.0x1004c5c0.13
cmp edx, 0x85
je 0x1004c671
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x68], 0
jne case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp edx, 0x180e
ja 0x1004c6bf
je case.0x1004c9f2.14
cmp edx, 0xa0
ja 0x1004c6b4
je case.0x1004c9f2.14
cmp edx, 9
je case.0x1004c9f2.14
cmp edx, 0x20
jmp 0x1004c8b0
cmp edx, 0x1680
jmp 0x1004c8b0
cmp edx, 0x205f
ja 0x1004c6f0
je case.0x1004c9f2.14
cmp edx, 0x2000
jb case.0x1004c5c0.13
cmp edx, 0x200a
jbe case.0x1004c9f2.14
cmp edx, 0x202f
jmp 0x1004c8b0
cmp edx, 0x3000
jmp 0x1004c8b0
cmp edx, 0x180e
ja 0x1004c73f
je case.0x1004c5c0.13
cmp edx, 0xa0
ja 0x1004c72e
je case.0x1004c5c0.13
cmp edx, 9
je case.0x1004c5c0.13
cmp edx, 0x20
jne case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp edx, 0x1680
jne case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp edx, 0x205f
ja 0x1004c776
je case.0x1004c5c0.13
cmp edx, 0x2000
jb case.0x1004c9f2.14
cmp edx, 0x200a
jbe case.0x1004c5c0.13
cmp edx, 0x202f
jne case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp edx, 0x3000
jne case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp edx, 0x85
ja 0x1004c7ac
je case.0x1004c9f2.14
cmp edx, 0xa
jb case.0x1004c5c0.13
cmp edx, 0xd
jbe case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp edx, 0x2028
jb case.0x1004c5c0.13
cmp edx, 0x2029
jbe case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp edx, 0x85
ja 0x1004c7e8
je case.0x1004c5c0.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x1004c9f2.14
jmp case.0x1004c5c0.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp eax, 0x100
jae case.0x1004c5c0.13
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp eax, 0x100
jae case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jmp 0x1004c8b0
cmp eax, 0x100
jae case.0x1004c5c0.13
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp eax, 0x100
jae case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jmp 0x1004c8b0
cmp eax, 0x100
jae case.0x1004c5c0.13
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne case.0x1004c9f2.14
jmp case.0x1004c5c0.13
cmp eax, 0x100
jae case.0x1004c9f2.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004c470
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
cmp ebx, dword [esp + 0x24]
jge case.0x1004c9f2.14
mov edi, dword [esp + 0x15c]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x1004cb35
cmp ebp, 0xc
jne 0x1004c979
mov edx, dword [edi + 0x18]
test edx, edx
je 0x1004c954
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.10050270
add esp, 0xc
test eax, eax
jne case.0x1004c9f2.14
jmp 0x1004c979
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x1004c979
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x1004c979
cmp edx, 1
je case.0x1004c9f2.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x1004c9f2.14
movzx ecx, byte [esi]
lea eax, [ebp - 6]
inc esi
cmp eax, 0xf
ja case.default.0x100429fe
jmp dword [eax*4 + 0x1004d654]
cmp dword [edi + 0x88], 0
je case.0x1004c989.13
cmp esi, dword [edi + 0x78]
jb case.0x1004c989.13
cmp dword [edi + 0x18], 0
jne case.0x1004c989.13
cmp dword [edi + 0x1c], 2
jne case.0x1004c989.13
movzx eax, byte [edi + 0x34]
cmp ecx, eax
jne case.0x1004c989.13
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x1004cb62
jmp case.0x1004c989.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x1004c9f2.14
movzx eax, byte [ecx + 0x1004d6a4]
jmp dword [eax*4 + 0x1004d694]
cmp esi, dword [edi + 0x78]
jae case.0x1004c989.13
cmp byte [esi], 0xa
jne case.0x1004c989.13
inc esi
jmp case.0x1004c989.13
cmp dword [edi + 0x68], 0
jne case.0x1004c9f2.14
jmp case.0x1004c989.13
cmp ecx, 9
je case.0x1004c9f2.14
cmp ecx, 0x20
je case.0x1004c9f2.14
cmp ecx, 0xa0
jmp 0x1004cadc
cmp ecx, 9
je case.0x1004c989.13
cmp ecx, 0x20
je case.0x1004c989.13
cmp ecx, 0xa0
jne case.0x1004c9f2.14
jmp case.0x1004c989.13
cmp ecx, 0xa
jb case.0x1004c989.13
cmp ecx, 0xd
jbe case.0x1004c9f2.14
cmp ecx, 0x85
jmp 0x1004cadc
cmp ecx, 0xa
jb case.0x1004c9f2.14
cmp ecx, 0xd
jbe case.0x1004c989.13
cmp ecx, 0x85
jne case.0x1004c9f2.14
jmp case.0x1004c989.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jne case.0x1004c9f2.14
jmp case.0x1004c989.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jmp 0x1004cadc
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne case.0x1004c9f2.14
jmp case.0x1004c989.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jmp 0x1004cadc
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x1004c9f2.14
jmp case.0x1004c989.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x1004c9f2.14
mov eax, dword [esp + 0x164]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push edi
push dword [esp + 0x164]
push dword [esp + 0x164]
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004c911
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edi + 0x88], 0
je case.0x1004c9f2.14
cmp esi, dword [edi + 0x84]
jbe case.0x1004c9f2.14
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jle case.0x1004c9f2.14
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edi, dword [esp + 0x2c]
cmp edi, 0x88
jb 0x1004cb88
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x164]
movzx edx, byte [eax + 0x10067470]
push dword [esp + 0x164]
add edx, ecx
mov ecx, esi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1b
je 0x1004cc51
cmp edi, 0xfffffc20
jne 0x1004cc10
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x7c], eax
jae 0x1004a0d8
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x77
je 0x1004cc0c
cmp byte [eax], 0x77
jne 0x1004a0d8
xor edi, edi
jmp 0x1004cc1f
test edi, edi
jne 0x1004a0d8
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x90], ebx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [edx + 0xac], ebp
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
cmp byte [eax], 0x77
je 0x1004cb72
jmp 0x1004cc58
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x15c]
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
sub ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edi, 0xfffffc1b
jne 0x1004a0d8
mov edx, dword [esp + 0x14]
mov al, byte [edx]
cmp al, 0x81
je 0x1004ccd3
cmp al, 0x77
jne 0x1004ccc4
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x1004ccb0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0xb4], edx
jne 0x1004a0d8
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x14]
lea ebx, [ecx + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx eax, byte [eax + 0x10067470]
push dword [esp + 0x164]
add eax, ecx
mov ecx, esi
add edx, eax
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x1004cd56
cmp edi, 0xfffffc19
jne 0x1004cd79
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0xac], 0
jne 0x1004cd80
mov dword [edx + 0xac], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x15c]
cmp edi, 0xfffffc1f
jne 0x1004a0d8
mov eax, dword [edx + 0x7c]
nop
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x1004cdb0
test cl, cl
je 0x1004cdac
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x1004cdb0
add ebx, 2
add eax, 2
test cl, cl
jne 0x1004cd90
xor eax, eax
jmp 0x1004cdb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1004a0d8
mov dword [edx + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x164]
movzx edx, byte [eax + 0x10067470]
add edx, ecx
mov ecx, esi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x164]
movzx edx, byte [eax + 0x10067470]
add edx, ecx
mov ecx, esi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004cee4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x14]
lea ebx, [ecx + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx eax, byte [eax + 0x10067470]
push dword [esp + 0x164]
add eax, ecx
mov ecx, esi
add edx, eax
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x1004cec6
cmp edi, 0xfffffc19
jne 0x1004cedc
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0xac], 0
jne 0x1004cedc
mov dword [eax + 0xac], ebx
test edi, edi
jne 0x1004a0d8
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x164]
movzx edx, byte [eax + 0x10067470]
add edx, ecx
mov ecx, esi
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004a0d8
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov ecx, esi
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ebp]
push edx
push ebx
push dword [esp + 0x164]
movzx edx, byte [eax + 0x10067470]
add edx, ebp
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1004d014
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ebp, dword [esp + 0x14]
mov ecx, esi
lea ebx, [ebp + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ebp]
push edx
push dword [esp + 0x164]
movzx edx, byte [ebp + 1]
movzx eax, byte [eax + 0x10067470]
push dword [esp + 0x164]
add eax, ebp
add edx, eax
call fcn.1003fcd0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x1004cff6
cmp edi, 0xfffffc19
jne 0x1004d00c
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0xac], 0
jne 0x1004d00c
mov dword [eax + 0xac], ebx
test edi, edi
jne 0x1004a0d8
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x7c], ebp
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x154]
cmp esi, ecx
jne 0x1004d06b
cmp edi, 0x9f
je 0x1004d06b
cmp dword [edx + 0xa4], 0
jne 0x1004d06b
cmp dword [edx + 0x5c], 0
jne case.0x1004c9f2.14
cmp dword [edx + 0x60], 0
je 0x1004d06b
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x74]
cmp ecx, eax
je case.0x1004c9f2.14
mov dword [edx + 0x80], esi
test edi, edi
mov dword [edx + 0x8c], ebx
mov eax, 0xfffffc19
mov dword [edx + 0x7c], ecx
mov ecx, 1
cmove eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x140
ret