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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1c], eax
lea ecx, [ecx]
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov edi, edi
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x4c]
mov dword [esp + 0x8c], edi
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, ecx
jb 0x47524e
mov esi, dword [esi]
test esi, esi
je 0x482ef1
mov edi, 0xfffffff8
jmp 0x47eaf9
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x47526a
mov esi, dword [esi]
test esi, esi
je 0x482efe
mov edi, 0xffffffeb
jmp 0x47eaf9
cmp dword [ebp + 0x98], 2
jne 0x4752a1
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
jmp 0x4752a1
add dword [esi + 0xc], 3
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ebx
movzx edx, byte [eax]
mov dword [esi + 0x9c], edx
cmp edx, 0xa1
ja case.0x4752d4.98
movzx eax, byte [edx + 0x48310c]
jmp dword [eax*4 + 0x482fc0]
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x482755
push 0x134
call dword [0xb3b278]
mov edi, eax
add esp, 4
test edi, edi
jne 0x48274f
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov edx, dword [esi + 4]
test edx, edx
jne 0x4827a5
push 0x134
call dword [0xb3b278]
mov edx, eax
add esp, 4
test edx, edx
jne 0x48279f
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov edx, dword [esi + 4]
test edx, edx
jne 0x4827c3
push 0x134
call dword [0xb3b278]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4827bd
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x4827e1
push 0x134
call dword [0xb3b278]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4827db
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov edx, dword [esi + 4]
test edx, edx
jne 0x4827f6
push 0x134
call dword [0xb3b278]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4827f0
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x47542e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x539fb8]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x4752a1
mov edi, dword [esi + 4]
test edi, edi
jne 0x482814
push 0x134
call dword [0xb3b278]
mov edi, eax
add esp, 4
test edi, edi
jne 0x48280e
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov edx, dword [esi + 4]
test edx, edx
jne 0x482829
push 0x134
call dword [0xb3b278]
mov edx, eax
add esp, 4
test edx, edx
jne 0x482823
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x482847
push 0x134
call dword [0xb3b278]
mov edi, eax
add esp, 4
test edi, edi
jne 0x482841
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
jmp 0x480038
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [ebp + 0x14]
jge case.0x4752d4.129
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x10]
sub edx, dword [ebp + 0x74]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov dword [eax + ecx*4], edx
jmp 0x47eb9b
mov dword [esi + 0x54], ebx
jmp 0x475d3f
mov dword [esi + 0x54], ebx
jmp 0x475d63
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x76
jne 0x4756a8
mov edi, dword [0xb40bb0]
test edi, edi
je 0x475694
mov dword [esp + 0x10], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x47564e
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x475683
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eaf9
jns 0x475694
mov esi, dword [esi]
test esi, esi
je 0x47efdc
jmp 0x47eaf9
movzx eax, byte [0x53a02e]
add dword [esi + 0xc], eax
movzx eax, byte [0x53a02e]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx]
mov dword [esp + 0x88], edx
lea eax, [edx - 0x8d]
cmp eax, 0x10
ja case.0x4756ce.146
movzx eax, byte [eax + 0x4831c8]
jmp dword [eax*4 + 0x4831b0]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x4756ce.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x475707
cmp edx, dword [edi + 4]
je 0x475707
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x47ee33
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x47ee33
cmp dword [ebp + 0xa4], ebx
je case.0x4756ce.145
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edi, byte [ecx + 1]
shl ebx, 8
shl edi, 8
or ebx, eax
movzx eax, byte [ecx + 2]
or edi, eax
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
test ebx, ebx
jle case.0x4756ce.145
lea esp, [esp]
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
dec ebx
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x58], ecx
test ecx, ecx
jne 0x47ee33
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x475750
jmp 0x47ee33
mov eax, dword [esi + 0xc]
movzx ecx, byte [ecx + 1]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x4757b4
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x4757b4
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x4756ce.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x4756ce.145
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ecx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
jle 0x47ee33
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x475809
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x475818
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x4757e7
jmp 0x47ee33
mov dword [esi + 0x58], 1
jmp 0x47ee33
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48285c
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482856
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x98]
cmp edx, dword [ebp + 0x14]
jl 0x4758b4
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x475296
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jl 0x475296
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x475903
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
jmp 0x475296
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x475956
cmp edx, 0x9f
je 0x475956
cmp dword [ebp + 0xa4], ebx
jne 0x475956
cmp dword [ebp + 0x5c], ebx
jne 0x475945
cmp dword [ebp + 0x60], ebx
je 0x475956
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x475956
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eaf9
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov esi, dword [esi]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
test esi, esi
je 0x47efdc
jmp 0x47eaf9
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x4759af
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x47ef2d
mov dword [esi + 0x58], ebx
jmp 0x47ef2d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x4759db
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x47f07b
mov dword [esi + 0x58], ebx
jmp 0x47f07b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x475a42
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x475a28
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x47c226.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x475a24
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x475a18
test edx, edx
jg 0x475a00
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x475296
mov dword [ebp + 0x84], eax
jmp 0x475296
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0xc]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jae 0x475a28
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eb00
mov edi, dword [0xb40bb0]
test edi, edi
je 0x475b4c
mov dword [esp + 0x44], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x475b06
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x44]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x475b3b
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eaf9
jns 0x475b4c
mov esi, dword [esi]
test esi, esi
je 0x47efdc
jmp 0x47eaf9
add dword [esi + 0xc], 6
jmp 0x47529a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x70]
add eax, ecx
mov dword [esi + 0x20], eax
cmp eax, dword [ebp + 0x70]
jne 0x475b76
xor edx, edx
jmp 0x475b83
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x475ba3
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x475b9d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x475c04
mov ecx, dword [ecx]
test ecx, ecx
jne 0x475b90
mov dword [esi + 0x40], edx
lea ecx, [esi + 0x3c]
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 0xa4]
mov dword [ecx], eax
mov dword [ebp + 0xa4], ecx
add dword [esi + 0xc], 3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x48], eax
cmp eax, 0x1e
jg 0x475c18
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x47f164
mov esi, dword [esi]
test esi, esi
je 0x482f22
mov edi, 0xffffffe6
jmp 0x47eaf9
shl eax, 2
push eax
call dword [0xb3b270]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x475bde
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x475c41
jmp 0x4752a1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482897
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482891
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x475ca0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4828b5
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4828af
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x475cf3
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x4752a1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x475d3f
cmp eax, 0x8b
jne 0x475d63
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [ebp + 0x14]
jl 0x475d80
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
jmp 0x47fc4d
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4], edx
cmp dword [esi + 0x9c], 0x88
jb 0x475dfd
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x482c47
push 0x134
call dword [0xb3b278]
mov edx, eax
add esp, 4
test edx, edx
jne 0x482c3d
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x475e58
cmp al, 0x81
je 0x475e58
mov dword [esi + 0x38], ebx
jmp 0x475e69
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x34]
mov al, byte [edx]
cmp al, 0x7d
jb 0x475e76
cmp al, 0x80
jbe 0x475e7a
cmp al, 0x82
jne 0x475ea6
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x482f56
mov edi, 1
jmp 0x47eaf9
cmp al, 0x85
je 0x475eba
cmp al, 0x8a
je 0x475eba
cmp al, 0x86
je 0x475eba
cmp al, 0x8b
jne 0x475f81
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x475ef6
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x475ef6
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x475e8c
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x98]
cmp ecx, dword [ebp + 0x14]
jl 0x475f25
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x475f81
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x475f45
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x475f45
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x98]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x98]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x98]
cmp dword [esi + 0x14], eax
jg 0x475f81
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x475fb7
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov esi, dword [esi]
test esi, esi
je 0x482f2f
mov edi, 0xfffffc1a
jmp 0x47eaf9
cmp cl, 0x78
je 0x476030
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x476030
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x475ffe
test ecx, ecx
jne 0x4828d6
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4828d0
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test ecx, ecx
jne 0x4828f7
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4828f1
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x47f297
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482915
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x48290f
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
cmp dword [ebp + 0x44], ebx
je case.0x4752d4.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x4752d4.1
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eaf9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x476158
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eaf9
cmp dword [ebp + 0x44], ebx
je 0x4760ca
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4760ca
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eaf9
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x476b14
cmp ecx, dword [ebp + 0x78]
je 0x476130
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x476108
cmp ecx, edx
jbe 0x476130
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004851a0
add esp, 0x14
test eax, eax
jne 0x476b14
jmp 0x476130
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x476130
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x476130
cmp edi, 1
je 0x476b14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x476b14
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eaf9
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x476095
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x4752a1
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x47621a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x476195
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00485050
add esp, 0x14
test eax, eax
jne 0x476b14
jmp 0x4761b9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x4761b9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4761b9
cmp edx, 1
je 0x476b14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x476b14
cmp dword [ebp + 0x88], ebx
je case.0x47c226.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x47c226.14
cmp dword [ebp + 0x18], ebx
jne case.0x47c226.14
cmp dword [edi], 2
jne case.0x47c226.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x47c226.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x47c226.14
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edi, 0xfffffff4
jmp 0x47eaf9
cmp dword [ebp + 0x48], ebx
jne 0x47609b
cmp dword [ebp + 0x88], ebx
je 0x476b14
cmp ecx, dword [ebp + 0x84]
jbe 0x476b14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x476b14
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edi, 0xfffffff4
jmp 0x47eaf9
cmp dword [ebp + 0x48], ebx
jne 0x47609b
cmp dword [ebp + 0x58], ebx
je case.0x4752d4.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x47609b
cmp dword [ebp + 0x88], ebx
je 0x476158
cmp eax, dword [ebp + 0x84]
jbe 0x476158
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x476158
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edi, 0xfffffff4
jmp 0x47eaf9
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x476325
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4762ed
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00485050
add esp, 0x14
test eax, eax
jne 0x476315
jmp 0x4761b9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x4761b9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4761b9
cmp edx, 1
je 0x476315
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4761b9
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x4761b9
cmp dword [ebp + 0x88], ebx
je 0x476b14
cmp ecx, dword [ebp + 0x84]
jbe 0x476b14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x476b14
jmp 0x476206
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x476627
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x476375
mov dword [esi + 0x5c], ebx
jmp 0x4764ae
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x47638a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x476380
cmp edx, dword [ebp + 0x84]
jae 0x476398
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x47644c
test bl, 0x20
jne 0x4763c0
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x47644c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4763da
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x476442
and eax, 0x3f
test bl, 8
jne 0x4763f5
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x476442
test bl, 4
jne 0x476419
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x476442
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp dword [ebp + 0x54], 0
je 0x4764e7
cmp ebx, 0x5f
jne 0x476464
mov dword [esi + 0x5c], 1
jmp 0x4764ae
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x476486
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x4764f8
cmp eax, 3
je 0x4764f8
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4764ff
cmp dword [ebp + 0x88], 0
je 0x4764db
cmp edx, dword [ebp + 0x84]
jbe 0x4764db
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
mov dword [esi + 0x54], 0
jmp 0x476765
cmp ebx, 0x100
jae 0x4764a9
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4764a9
mov eax, 1
jmp 0x4764ab
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x4765a9
test bl, 0x20
jne 0x47651f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x4765a1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x476539
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4765a1
and eax, 0x3f
test bl, 8
jne 0x476554
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x4765a1
test bl, 4
jne 0x476578
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 0x4765a1
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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x54], 0
je 0x47660c
cmp ebx, 0x5f
jne 0x4765c0
mov dword [esi + 0x54], 1
jmp 0x476765
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4765e2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x47661d
cmp eax, 3
je 0x47661d
xor eax, eax
jmp 0x476762
cmp ebx, 0x100
jae 0x476605
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x476605
mov eax, 1
jmp 0x476762
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x476637
mov dword [esi + 0x5c], ebx
jmp 0x4766d2
cmp eax, dword [ebp + 0x84]
ja 0x476646
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x4766be
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x476660
mov dword [esi + 0x5c], 1
jmp 0x4766d2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ecx, 0x8000007f
jns 0x476682
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x4766b0
cmp eax, 3
je 0x4766b0
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x4766cf
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x4766cf
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x476713
cmp dword [ebp + 0x88], ebx
je 0x47670e
cmp eax, dword [ebp + 0x84]
jbe 0x47670e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x47670e
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edi, 0xfffffff4
jmp 0x47eb00
mov dword [esi + 0x54], ebx
jmp 0x476765
cmp dword [ebp + 0x54], ebx
je 0x476752
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x476729
mov dword [esi + 0x54], 1
jmp 0x476765
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ecx, 0x8000007f
jns 0x47674b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x4765e4
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x476780
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x476788
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x4752a1
jmp 0x47609b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x4767cd
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x4767f8
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.00485050
add esp, 0x14
test eax, eax
jne 0x47609b
jmp 0x4767f8
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x4767f8
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4767f8
cmp edx, 1
je 0x47609b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x47609b
cmp dword [ebp + 0x88], ebx
je case.0x4752d4.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x4752d4.13
cmp dword [ebp + 0x18], ebx
jne case.0x4752d4.13
cmp dword [ebp + 0x1c], 2
jne case.0x4752d4.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x4752d4.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x476856
cmp dword [ebp + 0x88], ebx
je case.0x47c226.14
cmp eax, dword [ebp + 0x84]
jbe case.0x47c226.14
jmp 0x4761f2
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x476158
cmp eax, dword [ebp + 0x78]
jae 0x476158
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x476158
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x476872
inc dword [esi + 0xc]
jmp 0x4752a1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x476839
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x4752a1
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4768cd
cmp dword [ebp + 0x88], ebx
je case.0x47c226.14
cmp edi, dword [ebp + 0x84]
jbe case.0x47c226.14
jmp 0x4761f2
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4769c9
cmp ebx, 0xc0
jb 0x4769c9
test bl, 0x20
jne 0x47690a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4769c6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x476934
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4769c9
mov edx, dword [esi + 8]
test bl, 8
jne 0x47695a
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4769bd
test bl, 4
jne 0x476989
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4769bd
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x476b14
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x476b14
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eb00
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x476afb
cmp ebx, 0xc0
jb 0x476afb
test bl, 0x20
jne 0x476a3c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x476af8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x476a66
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x476afb
mov edx, dword [esi + 8]
test bl, 8
jne 0x476a8c
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x476aef
test bl, 4
jne 0x476abb
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x476aef
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x475a5d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x475a5d
inc dword [esi + 0xc]
jmp 0x47529a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x476c24
cmp ebx, 0xc0
jb 0x476c24
test bl, 0x20
jne 0x476b65
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x476c21
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x476b8f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x476c24
mov edx, dword [esi + 8]
test bl, 8
jne 0x476bb5
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x476c18
test bl, 4
jne 0x476be4
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x476c18
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x476b14
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x4769dc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x476d44
cmp ebx, 0xc0
jb 0x476d44
test bl, 0x20
jne 0x476c85
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x476d41
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x476caf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x476d44
mov edx, dword [esi + 8]
test bl, 8
jne 0x476cd5
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x476d38
test bl, 4
jne 0x476d04
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x476d38
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x475a5d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x475a5d
inc dword [esi + 0xc]
jmp 0x47529a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x476e6d
cmp ebx, 0xc0
jb 0x476e6d
test bl, 0x20
jne 0x476dae
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x476e6a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x476dd8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x476e6d
mov edx, dword [esi + 8]
test bl, 8
jne 0x476dfe
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x476e61
test bl, 4
jne 0x476e2d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x476e61
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x476b14
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x4769dc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x476f8d
cmp ebx, 0xc0
jb 0x476f8d
test bl, 0x20
jne 0x476ece
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x476f8a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x476ef8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x476f8d
mov edx, dword [esi + 8]
test bl, 8
jne 0x476f1e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x476f81
test bl, 4
jne 0x476f4d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x476f81
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x475a5d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x475a5d
inc dword [esi + 0xc]
jmp 0x47529a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4770b6
cmp ebx, 0xc0
jb 0x4770b6
test bl, 0x20
jne 0x476ff7
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4770b3
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x477021
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4770b6
mov edx, dword [esi + 8]
test bl, 8
jne 0x477047
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4770aa
test bl, 4
jne 0x477076
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4770aa
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xd
ja 0x47712f
je 0x4770d1
cmp ebx, 0xa
je 0x476b14
jbe 0x4769e2
cmp ebx, 0xc
jmp 0x477149
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x47711a
cmp dword [ebp + 0x88], 0
je 0x476b14
cmp eax, dword [ebp + 0x84]
jbe 0x476b14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x476b14
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edi, 0xfffffff4
jmp 0x47eb00
cmp byte [eax], 0xa
jne 0x476b14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x47529a
cmp ebx, 0x85
je 0x47714f
cmp ebx, 0x2027
jbe 0x4769e2
cmp ebx, 0x2029
ja 0x4769e2
cmp dword [ebp + 0x68], 0
jmp 0x4769dc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x477260
cmp ebx, 0xc0
jb 0x477260
test bl, 0x20
jne 0x4771a1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x47725d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4771cb
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x477260
mov edx, dword [esi + 8]
test bl, 8
jne 0x4771f1
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x477254
test bl, 4
jne 0x477220
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x477254
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x477298
je 0x475a5d
cmp ebx, 0xa0
ja 0x47728d
je 0x475a5d
cmp ebx, 9
je 0x475a5d
cmp ebx, 0x20
jmp 0x476b0e
cmp ebx, 0x1680
jmp 0x476b0e
cmp ebx, 0x205f
ja 0x4772c9
je 0x475a5d
cmp ebx, 0x2000
jb 0x476b14
cmp ebx, 0x200a
jbe 0x475a5d
cmp ebx, 0x202f
jmp 0x476b0e
cmp ebx, 0x3000
je 0x475a5d
inc dword [esi + 0xc]
jmp 0x47529a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4773e5
cmp ebx, 0xc0
jb 0x4773e5
test bl, 0x20
jne 0x477326
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4773e2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x477350
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4773e5
mov edx, dword [esi + 8]
test bl, 8
jne 0x477376
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4773d9
test bl, 4
jne 0x4773a5
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4773d9
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x47741d
je 0x476b14
cmp ebx, 0xa0
ja 0x477412
je 0x476b14
cmp ebx, 9
je 0x476b14
cmp ebx, 0x20
jmp 0x4769dc
cmp ebx, 0x1680
jmp 0x4769dc
cmp ebx, 0x205f
ja 0x47744e
je 0x476b14
cmp ebx, 0x2000
jb 0x4769e2
cmp ebx, 0x200a
jbe 0x476b14
cmp ebx, 0x202f
jmp 0x4769dc
cmp ebx, 0x3000
jmp 0x4769dc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x477561
cmp ebx, 0xc0
jb 0x477561
test bl, 0x20
jne 0x4774a2
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x47755e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4774cc
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x477561
mov edx, dword [esi + 8]
test bl, 8
jne 0x4774f2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x477555
test bl, 4
jne 0x477521
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x477555
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x477589
je 0x4769e2
cmp ebx, 0xa
jb 0x476b14
cmp ebx, 0xd
jbe 0x4769e2
inc dword [esi + 0xc]
jmp 0x47529a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x476b14
jmp 0x4769e2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4776a5
cmp ebx, 0xc0
jb 0x4776a5
test bl, 0x20
jne 0x4775e6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4776a2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x477610
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4776a5
mov edx, dword [esi + 8]
test bl, 8
jne 0x477636
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x477699
test bl, 4
jne 0x477665
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x477699
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x4776ca
je 0x476b14
cmp ebx, 0xa
jb 0x475a5d
cmp ebx, 0xd
jbe 0x476b14
jmp 0x475a5d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x475a5d
inc dword [esi + 0xc]
jmp 0x47529a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x4777dd
cmp ebx, 0xc0
jb 0x4777dd
test bl, 0x20
jne 0x477729
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4777da
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x477751
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4777dd
mov edx, dword [esi + 8]
test bl, 8
jne 0x477777
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4777da
test bl, 4
jne 0x4777a6
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4777da
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x53b940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x477800
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
movzx edx, word [ecx*2 + 0x53db40]
cmp eax, 0xa
ja case.default.0x47781a
jmp dword [eax*4 + 0x4831dc]
cmp dword [esi + 0x9c], 0xf
jne 0x475296
jmp 0x47609b
mov al, byte [edx*8 + 0x53a2c1]
cmp al, 9
je 0x47784a
cmp al, 5
je 0x47784a
cmp al, 8
je 0x47784a
xor ecx, ecx
jmp 0x47784f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x475296
jmp 0x47609b
movzx ecx, byte [edx*8 + 0x53a2c1]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x53a0d0]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x475296
jmp 0x47609b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x53a2c1]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x475296
jmp 0x47609b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x53a2c0]
jmp 0x4778ab
movzx eax, byte [edx*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x47784a
cmp eax, 3
je 0x47784a
xor ecx, ecx
jmp 0x47784f
cmp ebx, 0x180e
ja 0x477943
je case.0x47781a.0
cmp ebx, 0x85
ja 0x47792f
je case.0x47781a.0
cmp ebx, 9
jb case.0x477963.8203
cmp ebx, 0xd
jbe case.0x47781a.0
cmp ebx, 0x20
jmp 0x47797c
cmp ebx, 0xa0
je case.0x47781a.0
cmp ebx, 0x1680
jmp 0x47797c
cmp ebx, 0x202f
ja 0x47796a
je case.0x47781a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x477963.8203
movzx eax, byte [ebx + 0x483210]
jmp dword [eax*4 + 0x483208]
cmp ebx, 0x205f
je case.0x47781a.0
cmp ebx, 0x3000
je case.0x47781a.0
movzx eax, byte [edx*8 + 0x53a2c1]
xor ecx, ecx
cmp dword [eax*4 + 0x53a0d0], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x4778b7
movzx eax, byte [edx*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x47784a
cmp eax, 3
je 0x47784a
cmp ebx, 0x5f
je 0x47784a
xor ecx, ecx
jmp 0x47784f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x53a180]
lea eax, [eax*4 + 0x53a180]
cmp ebx, ecx
jb 0x4779fd
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x477a0f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x4779f0
cmp dword [esi + 0x9c], 0x10
jne 0x475296
jmp 0x47609b
cmp dword [esi + 0x9c], 0x10
je 0x475296
jmp 0x47609b
cmp ebx, 0x24
je 0x47784a
cmp ebx, 0x40
je 0x47784a
cmp ebx, 0x60
je 0x47784a
cmp ebx, 0xa0
jb 0x477a50
cmp ebx, 0xd7ff
jbe 0x47784a
cmp ebx, 0xe000
jae 0x47784a
xor ecx, ecx
jmp 0x47784f
mov esi, dword [esi]
test esi, esi
je case.default.0x47eb14
mov edi, 0xfffffff2
jmp 0x47eaf9
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x477b82
cmp ebx, 0xc0
jb 0x477b82
test bl, 0x20
jne 0x477ac0
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x477b7f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x477aef
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x8c]
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x477b82
mov edx, dword [esi + 8]
test bl, 8
jne 0x477b15
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x477b78
test bl, 4
jne 0x477b44
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x477b78
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x477ba4
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x477d36
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x477cce
cmp ebx, 0xc0
jb 0x477cce
test bl, 0x20
jne 0x477c05
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x477cc6
test bl, 0x10
jne 0x477c2a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x477cc6
test bl, 8
jne 0x477c58
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x477cc6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x477c92
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x477cc6
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x477cf0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx ecx, byte [eax*8 + 0x53a2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53a148], eax
je 0x477d36
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x477bd0
cmp dword [ebp + 0x88], 0
je 0x476b14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x476b14
cmp eax, dword [ebp + 0x84]
jbe 0x476b14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x476b14
jmp 0x476206
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
movzx ebx, byte [ecx + 3]
movzx edx, byte [ecx + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
lea eax, [ecx + 5]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
jle 0x477e64
lea esp, [esp]
movzx ecx, byte [edx]
dec ebx
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [esi + 0x98], edi
cmp edi, dword [esi + 0x14]
jge 0x477df4
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x477dfd
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x477dd0
jmp 0x477e64
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x477e64
xor eax, eax
cmp edx, 0x72
sete al
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov edx, dword [esi + 0x98]
cmp edx, dword [esi + 0x14]
jge 0x477e54
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x477e54
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x477e5e
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x477e7f
movzx eax, byte [eax + 0x483244]
jmp dword [eax*4 + 0x48323c]
add ecx, 0xffffff9e
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x80], ebx
movsx eax, byte [ecx + 0x539610]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x53961c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x477f0d
mov dword [esi + 0x8c], closesocket
jmp 0x477f0d
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x477f09
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x4752a1
jns 0x477f31
cmp dword [esi + 0x90], 0
je 0x4752a1
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x477f6f
mov edi, edi
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00483740
add esp, 0x14
test eax, eax
js 0x477fa1
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x477f40
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x4752a1
cmp dword [esp + 0x80], 0
je 0x477fca
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x47f3b2
cmp eax, 0xfffffffe
jne 0x477fac
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x47c226.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x47c226.14
jmp 0x476845
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x477fe0
cmp edi, dword [esi + 0x8c]
jge 0x47f401
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00483740
add esp, 0x14
test eax, eax
js 0x478015
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x477fe0
cmp eax, 0xfffffffe
jne 0x47f401
cmp dword [ebp + 0x88], 0
je 0x47f401
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x47f401
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x47f401
jmp 0x476206
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.00483740
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x4780d9
cmp eax, 0xfffffffe
jne 0x478085
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x47f9dd.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x47f9dd.14
cmp eax, dword [ebp + 0x84]
jbe case.0x47f9dd.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x47f9dd.14
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x47eb04
add dword [esi + 8], eax
jmp 0x47529a
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
add dword [esi + 0xc], 0x21
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x478107
movzx eax, byte [eax + 0x483254]
jmp dword [eax*4 + 0x48324c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x47812a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x478135
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x539610]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x53961c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4781cc
mov dword [esi + 0x8c], closesocket
jmp 0x4781cc
xor ebx, ebx
cmp cl, 0x69
sete bl
xor eax, eax
cmp cl, 0x6d
mov dword [esp + 0x84], ebx
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x4781b2
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4781cc
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x47832c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x478381
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x4782dc
test bl, 0x20
jne 0x47822a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4782d9
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x478251
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4782d7
test bl, 8
jne 0x478274
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4782d7
test bl, 4
jne 0x4782a3
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4782d7
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x4782ed
cmp dword [esi + 0x9c], 0x6e
jmp 0x478302
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4781f0
jmp 0x478373
cmp dword [ebp + 0x88], 0
je case.0x47c226.14
mov eax, dword [esi + 8]
jmp 0x476845
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x47837a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x478317
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 8], eax
and ecx, 7
mov eax, dword [esi + 0x28]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x478340
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x47529a
test ebx, ebx
je 0x4783aa
test edx, edx
jne 0x482617
mov dword [esi + 0x84], eax
jmp 0x47f49b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x478562
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x47854f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x478527
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x4784d6
test bl, 0x20
jne 0x47841b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x4784d6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x478443
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x4784cc
and eax, 0x3f
test bl, 8
jne 0x478469
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4784cc
test bl, 4
jne 0x478498
and ebx, 3
mov dword [esp + 0x84], 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 0x4784cc
and ebx, 1
mov dword [esp + 0x84], 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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0xff
jbe 0x4784e7
cmp dword [esi + 0x9c], 0x6e
jmp 0x4784fc
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x47854f
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x4783d1
jmp 0x47854f
cmp dword [ebp + 0x88], 0
je 0x47854f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47854f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
je 0x48045c
jmp 0x47529a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4785da
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4785b2
movzx edi, byte [ebx]
mov edx, 1
mov eax, dword [esi + 0x28]
mov ecx, edi
and ecx, 7
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x4785da
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x478571
jmp 0x4785da
cmp dword [ebp + 0x88], 0
je 0x4785da
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4785da
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
je 0x47f4db
jmp 0x47529a
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x478625
movzx eax, byte [eax + 0x483268]
jmp dword [eax*4 + 0x483260]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x478648
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x478653
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x539610]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x53961c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4786ea
mov dword [esi + 0x8c], closesocket
jmp 0x4786ea
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x84], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x4786d0
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4786ea
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x478825
jmp 0x478700
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x4787fa
cmp edx, 0xc0
jb 0x4787fa
test dl, 0x20
jne 0x478748
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4787f7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47876f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4787f5
test dl, 8
jne 0x478792
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x4787f5
test dl, 4
jne 0x4787c1
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x4787f5
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.004849e0
add esp, 0xc
test eax, eax
je case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x478700
jmp 0x47882c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4752a1
cmp dword [esp + 0x84], 0
jne 0x482628
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4789bd
jmp 0x478870
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x478993
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x47895b
cmp edx, 0xc0
jb 0x47895b
test dl, 0x20
jne 0x4788bc
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x47895b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4788db
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x478951
and eax, 0x3f
test dl, 8
jne 0x4788fb
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x478951
test dl, 4
jne 0x478924
and edx, 3
mov ebx, 5
shl edx, 6
or ecx, edx
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 0x478951
and edx, ebx
mov ebx, 6
shl edx, 6
or ecx, edx
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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.004849e0
add esp, 0xc
test eax, eax
je 0x4789bd
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x478870
jmp 0x4789bd
cmp dword [ebp + 0x88], 0
je 0x4789b6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4789b6
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x476206
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x4752a1
jmp 0x480271
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x478ba9
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x478b30
test al, 0x20
jne 0x478a30
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x478b30
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x478a6a
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x478b30
test al, 8
jne 0x478aa6
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x478b30
test al, 4
mov eax, dword [esi + 0x80]
jne 0x478aeb
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x478b30
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x478b69
cmp dword [ebp + 0x88], ebx
je case.0x47c226.14
cmp edx, edi
jb case.0x47c226.14
cmp edx, dword [ebp + 0x84]
jbe case.0x47c226.14
jmp 0x4761f2
test ecx, ecx
jle 0x478b9e
lea ecx, [ecx]
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.0x47c226.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x478b70
dec dword [esi + 0x88]
jmp 0x47529a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x478bf6
cmp dword [ebp + 0x88], ebx
je 0x475a5d
cmp edi, dword [ebp + 0x84]
jbe 0x475a5d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x475a5d
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edi, 0xfffffff4
jmp 0x47eb00
mov eax, dword [esi + 0xc]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dl, cl
je 0x478f0b
jmp 0x47609b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4768b0
cmp dword [esp + 0x8c], ebx
je 0x478eec
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x478d7b
test al, 0x20
jne 0x478c7b
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x478d7b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x478cb5
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x478d7b
test al, 8
jne 0x478cf1
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x478d7b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x478d36
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x478d7b
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [esi + 0x80]
mov eax, dword [esi + 8]
cmp edi, 0x80
jae 0x478da9
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x47609b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x47529a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x478e8b
test bl, 0x20
jne 0x478dd9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x478e88
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x478e00
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x478e86
test bl, 8
jne 0x478e23
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x478e86
test bl, 4
jne 0x478e52
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x478e86
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edi, dword [esi + 0x80]
cmp edi, ebx
je 0x47529a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x53b940]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x478ec5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x53db40]
mov eax, dword [eax*8 + 0x53a2c4]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x4752a1
jmp 0x47609b
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x38]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne 0x47609b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x47529a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x47903d
mov dword [esp + 0x80], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x478f74
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x478f7f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x47903d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x479044
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x479044
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x479044
mov ecx, dword [esi + 0xc]
cmp edx, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x84], eax
movsx eax, byte [edx + 0x539610]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x53961c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x47903d
mov dword [esi + 0x8c], closesocket
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x4794b8
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x47918b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x4790a1
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x47918b
test bl, 0x10
jne 0x4790d6
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 0xc]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x47918b
mov ecx, dword [esi + 0xc]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x479114
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x47918b
test bl, 4
jne 0x47914d
and ebx, 3
shl ebx, 6
or edx, ebx
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x47918b
and ebx, 1
shl ebx, 6
or edx, ebx
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
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
cmp dword [esi + 0x88], 1
jle 0x4794c7
cmp dword [esi + 0x9c], 0x2e
jb 0x4791fc
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x53b940]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4791d3
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x53db40]
mov ecx, dword [eax*8 + 0x53a2c4]
add ecx, edi
cmp ecx, edi
je 0x4791fc
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.00484980
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x479203
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x479336
jmp 0x479220
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x90], ecx
cmp edi, eax
ja 0x4792a4
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x479258
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x479261
add ecx, 4
add edx, 4
sub edi, 4
jae 0x479247
cmp edi, 0xfffffffc
je 0x479318
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x47929a
cmp edi, 0xfffffffd
je 0x479318
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x47929a
cmp edi, 0xfffffffe
je 0x479318
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x47929a
cmp edi, 0xffffffff
je 0x479318
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x479318
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x477fac
sub ecx, ebx
cmp edi, ecx
ja 0x477fac
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x4792d6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4792db
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4792c5
cmp edi, 0xfffffffc
je 0x479318
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x477fac
cmp edi, 0xfffffffd
je 0x479318
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x477fac
cmp edi, 0xfffffffe
je 0x479318
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x477fac
cmp edi, 0xffffffff
je 0x479318
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x477fac
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x479220
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x4752a1
cmp dword [esp + 0x84], 0
jne 0x482639
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4794a5
lea esp, [esp]
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x84], ecx
cmp edi, eax
ja 0x4793fc
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x4793b8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4793c1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4793a7
cmp edi, 0xfffffffc
je 0x479458
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4793f2
cmp edi, 0xfffffffd
je 0x479458
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4793f2
cmp edi, 0xfffffffe
je 0x479458
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4793f2
cmp edi, 0xffffffff
je 0x479458
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x479458
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x479478
sub ecx, ebx
cmp edi, ecx
ja 0x479478
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x479426
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x47942b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x479415
cmp edi, 0xfffffffc
je 0x479458
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x479478
cmp edi, 0xfffffffd
je 0x479458
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x479478
cmp edi, 0xfffffffe
je 0x479458
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x479478
cmp edi, 0xffffffff
je 0x479458
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x479478
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x479380
jmp 0x4794a5
cmp dword [ebp + 0x88], 0
je 0x4794a5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4794a5
cmp eax, dword [ebp + 0x84]
jbe 0x4794a5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
je 0x48061c
jmp 0x47529a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x4795bf
mov ecx, dword [ebp + 0x3c]
mov edx, 1
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x90], edx
jl 0x479524
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x478317
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x479517
cmp dword [esi + 0x94], ecx
jne case.0x47c226.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x4794f4
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x47529a
cmp dword [esp + 0x84], 0
je 0x47954b
mov dword [esi + 0x84], eax
jmp 0x47f57b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4795b2
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47958a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x47957b
cmp dword [esi + 0x94], ecx
jne 0x4795b2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x479560
jmp 0x4795b2
cmp dword [ebp + 0x88], 0
je 0x4795b2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4795b2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
test edi, edi
je 0x47f5bb
jmp 0x47529a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4795fa
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4795d0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x4752a1
cmp dword [esp + 0x84], 0
je 0x479628
mov dword [esi + 0x84], eax
jmp 0x47f648
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x47968c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x479664
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x47968c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x479640
jmp 0x47968c
cmp dword [ebp + 0x88], 0
je 0x47968c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47968c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
je 0x47f688
jmp 0x4752a1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4796c4
cmp dword [ebp + 0x88], ebx
je case.0x47c226.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x47c226.14
jmp 0x4761f2
test edi, edi
je 0x47993c
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 0xc], edx
cmp ebx, 0xc0
jb 0x4797c5
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x479702
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4797c2
test bl, 0x10
jne 0x479723
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4797c2
test bl, 8
jne 0x47974e
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [edx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 0xc], 3
jmp 0x4797c5
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x479787
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x4797c2
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esp + 0x80], edx
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4798b8
test dl, 0x20
jne 0x4797ff
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4798ae
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x479826
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4798ac
test dl, 8
jne 0x479849
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x4798ac
test dl, 4
jne 0x479878
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x4798ac
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esp + 0x80], edx
mov dword [esi + 8], eax
cmp dword [esi + 0x9c], 0x1f
jne 0x4798d5
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x4752a1
jmp 0x47609b
cmp ebx, 0x7f
jbe 0x479912
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x53b940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4798fd
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x53db40]
mov ecx, dword [eax*8 + 0x53a2c4]
add ecx, ebx
jmp 0x479919
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x47609b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x4752a1
jmp 0x47609b
mov eax, dword [esi + 0xc]
movzx edi, byte [ecx]
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x47c226.14
cmp dword [esi + 0x9c], 0x20
jne 0x478f0b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x47c226.14
add dword [esi + 0xc], 2
jmp 0x47529a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x479ad6
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x42
je 0x4799db
cmp al, 0x4f
je 0x4799db
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x479ad6
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x479ad6
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x479ad6
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x479ad6
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x479ad6
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x479ad6
mov ecx, dword [esi + 0xc]
cmp edx, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x48
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x84], ebx
movsx eax, byte [edx + 0x539610]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x53961c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x479ad6
mov dword [esi + 0x8c], closesocket
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
mov edi, dword [esi + 0xc]
test edx, edx
je 0x479c31
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x479c31
test al, 0x20
jne 0x479b28
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x479c31
test al, 0x10
jne 0x479b5b
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x479c31
test al, 8
jne 0x479b9d
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x479c31
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x479be8
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 4
jmp 0x479c2a
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 5
mov edx, dword [esp + 0x8c]
cmp dword [esi + 0x9c], 0x48
jb 0x47a055
test edx, edx
je 0x479c8c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x479c8c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x53b940]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x479c70
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x53db40]
mov eax, dword [eax*8 + 0x53a2c4]
add eax, edi
jmp 0x479c99
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x479de0
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x479e2b
jmp 0x479cc0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x479db9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x479cfa
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x479db6
test cl, 0x10
jne 0x479d1b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x479db6
test cl, 8
jne 0x479d45
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x479db6
test cl, 4
jne 0x479d7b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x479db6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x47c226.14
cmp dword [esi + 0x94], ecx
je case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x479cc0
jmp 0x479e24
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x479e24
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x478317
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x47c226.14
cmp dword [esi + 0x94], ecx
je case.0x47c226.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x479df0
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x47529a
test ebx, ebx
je 0x479e54
test edx, edx
jne 0x48264a
mov dword [esi + 0x84], eax
jmp 0x47f71f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x479fdd
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x479fca
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x479fa2
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x479f7e
test dl, 0x20
jne 0x479eb2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x479f7e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x479edc
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x479f7c
test dl, 8
jne 0x479f08
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x479f7c
test dl, 4
jne 0x479f40
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
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
mov eax, 5
jmp 0x479f7c
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x479fca
cmp dword [esi + 0x94], edx
je 0x479fca
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x479e74
jmp 0x479fca
cmp dword [ebp + 0x88], 0
je 0x479fca
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x479fca
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
je 0x4807fc
jmp 0x47529a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x47a042
jmp 0x479ff0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47a01a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x47a042
cmp dword [esi + 0x94], ecx
je 0x47a042
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x479ff0
jmp 0x47a042
cmp dword [ebp + 0x88], 0
je 0x47a042
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47a042
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
je 0x47f75f
jmp 0x47529a
test edx, edx
je 0x47a177
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x47a1b5
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x47a15c
test dl, 0x20
jne 0x47a0aa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47a159
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47a0d1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x47a157
test dl, 8
jne 0x47a0f4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x47a157
test dl, 4
jne 0x47a123
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x47a157
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47a070
jmp 0x47a1ae
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x47a1b5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47a184
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x47529a
cmp dword [esp + 0x84], 0
je 0x47a1e4
test edx, edx
jne 0x48265f
mov dword [esi + 0x84], eax
jmp 0x47f7ec
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x47a368
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47a355
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x47a32d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47a311
test dl, 0x20
jne 0x47a242
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x47a311
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x47a26c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x47a30f
test dl, 8
jne 0x47a29b
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x47a30f
test dl, 4
jne 0x47a2d3
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
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
mov eax, 5
jmp 0x47a30f
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x47a355
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47a204
jmp 0x47a355
cmp dword [ebp + 0x88], 0
je 0x47a355
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47a355
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
je 0x4809c0
jmp 0x47529a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x47a3c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47a39a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x47a3c2
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x47a376
jmp 0x47a3c2
cmp dword [ebp + 0x88], 0
je 0x47a3c2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47a3c2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
je 0x47f82c
jmp 0x47529a
mov eax, dword [esi + 0xc]
mov dword [esp + 0x84], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x47a514
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x84], edx
mov dword [esi + 0xc], eax
jmp 0x47a514
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x47a514
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x47a514
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x47a514
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x47a514
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x5395bb]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x5395c7]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x47a514
mov dword [esi + 0x8c], closesocket
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x10
je 0x47a536
cmp ecx, 0xf
je 0x47a536
mov dword [esi + 0x60], 0xffffffff
jmp 0x47a559
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x47c4fb
mov eax, dword [esi + 0x60]
test eax, eax
js 0x47b308
cmp eax, 0xa
ja case.default.0x47781a
jmp dword [eax*4 + 0x483274]
cmp dword [esi + 0x68], ebx
jne 0x47609b
mov edx, 1
cmp ecx, edx
jl 0x47c4fb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x47a5df
cmp ecx, 0xc0
jb 0x47a5df
test cl, 0x20
jne 0x47a5bb
inc eax
jmp 0x47a5dc
test cl, 0x10
jne 0x47a5c5
add eax, 2
jmp 0x47a5dc
test cl, 8
jne 0x47a5cf
add eax, 3
jmp 0x47a5dc
test cl, 4
jne 0x47a5d9
add eax, 4
jmp 0x47a5dc
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x47a598
jmp 0x47c4fb
cmp dword [ebp + 0x88], ebx
je case.0x47c226.14
mov eax, dword [esi + 8]
jmp 0x476845
mov edi, 1
cmp ecx, edi
jl 0x47c4fb
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x47a70a
cmp ebx, 0xc0
jb 0x47a70a
test bl, 0x20
jne 0x47a658
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x47a707
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x47a67f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x47a705
test bl, 8
jne 0x47a6a2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x47a705
test bl, 4
jne 0x47a6d1
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x47a705
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47a72c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
cmp eax, 9
je 0x47a751
cmp eax, 5
je 0x47a751
cmp eax, 8
je 0x47a751
xor eax, eax
jmp 0x47a756
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47a610
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c4fb
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x47a878
cmp ebx, 0xc0
jb 0x47a878
test bl, 0x20
jne 0x47a7c8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x47a875
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x47a7ef
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x47a875
test bl, 8
jne 0x47a812
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x47a875
test bl, 4
jne 0x47a841
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x47a875
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47a89a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47a780
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c4fb
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x47a9db
cmp ebx, 0xc0
jb 0x47a9db
test bl, 0x20
jne 0x47a92b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x47a9d8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x47a952
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x47a9d8
test bl, 8
jne 0x47a975
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x47a9d8
test bl, 4
jne 0x47a9a4
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x47a9d8
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47a9fd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47a8e3
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c4fb
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x47ab38
cmp ebx, 0xc0
jb 0x47ab38
test bl, 0x20
jne 0x47aa88
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x47ab35
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x47aaaf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x47ab35
test bl, 8
jne 0x47aad2
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x47ab35
test bl, 4
jne 0x47ab01
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x47ab35
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47ab5a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47aa40
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c4fb
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x47ac9a
cmp ebx, 0xc0
jb 0x47ac9a
test bl, 0x20
jne 0x47abe8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x47ac97
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x47ac0f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x47ac95
test bl, 8
jne 0x47ac32
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x47ac95
test bl, 4
jne 0x47ac61
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x47ac95
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47acbc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x47ace3
cmp eax, 3
je 0x47ace3
xor eax, eax
jmp 0x47ace8
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47aba0
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c4fb
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x47ae0a
cmp ebx, 0xc0
jb 0x47ae0a
test bl, 0x20
jne 0x47ad58
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x47ae07
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x47ad7f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x47ae05
test bl, 8
jne 0x47ada2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x47ae05
test bl, 4
jne 0x47add1
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x47ae05
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x47ae4d
je case.0x47ae69.8192
cmp ebx, 0x85
ja 0x47ae39
je case.0x47ae69.8192
cmp ebx, 9
jb case.0x47ae69.8203
cmp ebx, 0xd
jbe case.0x47ae69.8192
cmp ebx, 0x20
jmp 0x47ae7e
cmp ebx, 0xa0
je case.0x47ae69.8192
cmp ebx, 0x1680
jmp 0x47ae7e
cmp ebx, 0x202f
ja 0x47ae70
je case.0x47ae69.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x47ae69.8203
movzx eax, byte [eax + 0x4832a8]
jmp dword [eax*4 + 0x4832a0]
cmp ebx, 0x205f
je case.0x47ae69.8192
cmp ebx, 0x3000
je case.0x47ae69.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47aea2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
cmp dword [eax*4 + 0x53a0d0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x47c226.14
jmp 0x47aed6
cmp dword [esi + 0x68], 0
jne case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47ad10
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c4fb
jmp 0x47af00
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x47aff8
cmp ebx, 0xc0
jb 0x47aff8
test bl, 0x20
jne 0x47af48
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x47aff5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x47af6f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x47aff5
test bl, 8
jne 0x47af92
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x47aff5
test bl, 4
jne 0x47afc1
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x47aff5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x53b940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x47b01b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x47b047
cmp eax, 3
je 0x47b047
cmp ebx, 0x5f
je 0x47b047
xor eax, eax
jmp 0x47b04c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x47c226.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47af00
jmp 0x47c4fb
mov ebx, 1
cmp ecx, ebx
jl 0x47c4fb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x47b16c
cmp edx, 0xc0
jb 0x47b16c
test dl, 0x20
jne 0x47b0bc
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47b169
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47b0e3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x47b169
test dl, 8
jne 0x47b106
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x47b169
test dl, 4
jne 0x47b135
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x47b169
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x53a180]
lea eax, [eax*4 + 0x53a180]
cmp edx, ecx
jb 0x47b18e
lea eax, [eax + 4]
cmp edx, ecx
je 0x47b1aa
mov ecx, dword [eax]
cmp edx, ecx
jae 0x47b181
cmp dword [esi + 0x68], 0
je case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47b074
jmp 0x47c4fb
cmp dword [esi + 0x68], 0
jne case.0x47c226.14
jmp 0x47b198
mov ebx, 1
cmp ecx, ebx
jl 0x47c4fb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x47b2bd
cmp edx, 0xc0
jb 0x47b2bd
test dl, 0x20
jne 0x47b20b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47b2ba
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47b232
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x47b2b8
test dl, 8
jne 0x47b255
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x47b2b8
test dl, 4
jne 0x47b284
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x47b2b8
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x24
je 0x47b2e8
cmp edx, 0x40
je 0x47b2e8
cmp edx, 0x60
je 0x47b2e8
cmp edx, 0xa0
jb 0x47b2dc
cmp edx, 0xd7ff
jbe 0x47b2e8
cmp edx, 0xe000
jae 0x47b2e8
xor eax, eax
jmp 0x47b2ed
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47b1c3
jmp 0x47c4fb
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x47b633
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x47c4fb
jmp 0x47b330
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x478317
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x47b430
cmp ebx, 0xc0
jb 0x47b430
test bl, 0x20
jne 0x47b379
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x47b42d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x47b3a0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x47b426
test bl, 8
jne 0x47b3c3
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x47b426
test bl, 4
jne 0x47b3f2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x47b426
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47b452
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c2]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47b5ed
jmp 0x47b480
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x47b57e
cmp ebx, 0xc0
jb 0x47b57e
test bl, 0x20
jne 0x47b4b5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x47b576
test bl, 0x10
jne 0x47b4da
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x47b576
test bl, 8
jne 0x47b508
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x47b576
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x47b542
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x47b576
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47b5a0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx ecx, byte [eax*8 + 0x53a2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53a148], eax
je 0x47b5e6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x47b480
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x47b61a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x47b61a
cmp eax, dword [ebp + 0x84]
jbe 0x47b61a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x47b330
jmp 0x47c4fb
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x47c0ff
cmp eax, 0xf
ja case.0x47e647.9
jmp dword [eax*4 + 0x4832d4]
mov ebx, 1
cmp ecx, ebx
jl 0x47c502
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x478317
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x47b697
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00485050
add esp, 0x14
test eax, eax
jne case.0x47c226.14
jmp 0x47b6bb
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x47b6bb
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x47b6bb
cmp edx, 1
je case.0x47c226.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x47c226.14
cmp dword [ebp + 0x88], 0
je 0x47b6f6
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x47b6f6
cmp dword [ebp + 0x18], 0
jne 0x47b6f6
cmp dword [edi], 2
jne 0x47b6f6
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x47b6f6
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47b712
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x47b712
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x47b701
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47b662
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x47a5ed
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x47b768
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x47b768
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x47b750
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47b734
jmp 0x47c4fb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x47609b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x47c4fb
mov ebx, 1
cmp ecx, ebx
jl 0x47c502
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x47b88c
test dl, 0x20
jne 0x47b7da
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47b889
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47b801
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x47b887
test dl, 8
jne 0x47b824
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x47b887
test dl, 4
jne 0x47b853
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x47b887
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0xd
ja 0x47b8b0
je 0x47b89d
cmp edx, 0xa
je 0x47b8d1
lea eax, [edx - 0xb]
jmp 0x47b8be
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47b8d1
cmp byte [eax], 0xa
jne 0x47b8d1
inc eax
mov dword [esi + 8], eax
jmp 0x47b8d1
cmp edx, 0x85
je 0x47b8c7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x47c226.14
cmp dword [ebp + 0x68], 0
jne case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47b7a0
jmp 0x47c4fb
mov ebx, 1
cmp ecx, ebx
jl 0x47c502
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x47b9dc
test dl, 0x20
jne 0x47b92a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47b9d9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47b951
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x47b9d7
test dl, 8
jne 0x47b974
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x47b9d7
test dl, 4
jne 0x47b9a3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x47b9d7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x47ba0e
je case.0x47c226.14
cmp edx, 0xa0
ja 0x47ba06
je case.0x47c226.14
cmp edx, 9
je case.0x47c226.14
cmp edx, 0x20
jmp 0x47ba3e
cmp edx, 0x1680
jmp 0x47ba3e
cmp edx, 0x205f
ja 0x47ba38
je case.0x47c226.14
cmp edx, 0x2000
jb 0x47ba44
cmp edx, 0x200a
jbe case.0x47c226.14
cmp edx, 0x202f
jmp 0x47ba3e
cmp edx, 0x3000
je case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47b8f0
jmp 0x47c4fb
mov ebx, 1
cmp ecx, ebx
jl 0x47c502
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x47bb4f
test dl, 0x20
jne 0x47ba9d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47bb4c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47bac4
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x47bb4a
test dl, 8
jne 0x47bae7
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x47bb4a
test dl, 4
jne 0x47bb16
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x47bb4a
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x47bb75
je 0x47bba7
cmp edx, 0xa0
ja 0x47bb6d
je 0x47bba7
cmp edx, 9
je 0x47bba7
cmp edx, 0x20
jmp 0x47bba1
cmp edx, 0x1680
jmp 0x47bba1
cmp edx, 0x205f
ja 0x47bb9b
je 0x47bba7
cmp edx, 0x2000
jb case.0x47c226.14
cmp edx, 0x200a
jbe 0x47bba7
cmp edx, 0x202f
jmp 0x47bba1
cmp edx, 0x3000
jne case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47ba63
jmp 0x47c4fb
mov ebx, 1
cmp ecx, ebx
jl 0x47c502
jmp 0x47bbd0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x47bcbc
test dl, 0x20
jne 0x47bc0a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47bcb9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47bc31
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x47bcb7
test dl, 8
jne 0x47bc54
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x47bcb7
test dl, 4
jne 0x47bc83
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x47bcb7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x47bcd4
je case.0x47c226.14
cmp edx, 0xa
jb 0x47bce8
cmp edx, 0xd
jmp 0x47bce2
cmp edx, 0x2028
jb 0x47bce8
cmp edx, 0x2029
jbe case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47bbd0
jmp 0x47c4fb
mov ebx, 1
cmp ecx, ebx
jl 0x47c502
jmp 0x47bd10
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x47bdfc
test dl, 0x20
jne 0x47bd4a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47bdf9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47bd71
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x47bdf7
test dl, 8
jne 0x47bd94
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x47bdf7
test dl, 4
jne 0x47bdc3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x47bdf7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x47be0e
je 0x47be1d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x47be17
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47bd10
jmp 0x47c4fb
mov ebx, 1
cmp ecx, ebx
jl 0x47c502
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x478317
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x47bf2c
test dl, 0x20
jne 0x47be7a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47bf29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47bea1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x47bf27
test dl, 8
jne 0x47bec4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x47bf27
test dl, 4
jne 0x47bef3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x47bf27
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x80
jae 0x47bf41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x47c226.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47be40
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47a5ed
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x47c226.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x47c226.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x47bf60
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x47a5ed
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x47bfd3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x47c226.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x47bff8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x47bff8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x47bfe0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47bfb0
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47a5ed
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x47c226.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x47c226.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x47c013
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x47a5ed
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x47c083
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x47c226.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x47c0a8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x47c0a8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x47c090
inc edi
cmp edi, dword [esi + 0x90]
jle 0x47c060
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47a5ed
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x47c226.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x47c226.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x47c0c3
jmp 0x47c4fb
cmp eax, 0xf
ja case.0x47e647.9
jmp dword [eax*4 + 0x483314]
mov ebx, 1
cmp ecx, ebx
jl 0x47c502
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x478317
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x47c150
push 0
push edi
push eax
push edx
push ecx
call fcn.00485050
add esp, 0x14
test eax, eax
jne case.0x47c226.14
jmp 0x47c174
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x47c174
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x47c174
cmp edx, 1
je case.0x47c226.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x47c226.14
cmp dword [ebp + 0x88], 0
je 0x47c1af
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x47c1af
cmp dword [ebp + 0x18], 0
jne 0x47c1af
cmp dword [edi], 2
jne 0x47c1af
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x47c1af
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x47c120
jmp 0x47c4fb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x47b786
cmp dword [ebp + 0x88], ebx
je case.0x47c226.14
cmp edx, dword [ebp + 0x84]
jbe case.0x47c226.14
jmp 0x4761f2
mov edx, 1
cmp ecx, edx
jl 0x47c4fb
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47a5ed
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x47c226.14
movzx eax, byte [eax + 0x483364]
jmp dword [eax*4 + 0x483354]
cmp ecx, dword [ebp + 0x78]
jae case.0x47c226.10
cmp byte [ecx], 0xa
jne case.0x47c226.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x47c226.10
cmp dword [ebp + 0x68], ebx
jne case.0x47c226.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x47c200
jmp 0x47c4fb
mov edx, 1
cmp ecx, edx
jl 0x47c4fb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x47c226.14
cmp ecx, 0x20
je case.0x47c226.14
cmp ecx, 0xa0
je case.0x47c226.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x47c263
jmp 0x47c4fb
mov edx, 1
cmp ecx, edx
jl 0x47c4fb
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x47c2d9
cmp ecx, 0x20
je 0x47c2d9
cmp ecx, 0xa0
jne case.0x47c226.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x47c2b0
jmp 0x47c4fb
mov edx, 1
cmp ecx, edx
jl 0x47c4fb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x47c321
cmp ecx, 0xd
jle case.0x47c226.14
cmp ecx, 0x85
je case.0x47c226.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x47c2f4
jmp 0x47c4fb
mov edx, 1
cmp ecx, edx
jl 0x47c4fb
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x47c226.14
cmp ecx, 0xd
jle 0x47c36d
cmp ecx, 0x85
jne case.0x47c226.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x47c340
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
jmp 0x47c390
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x47c226.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x47c390
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x47c226.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x47c3d0
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x47c226.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x47c410
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x47c226.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x47c450
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
jmp 0x47c490
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x47c226.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x47c490
jmp 0x47c4fb
mov edi, 1
cmp ecx, edi
jl 0x47c502
jmp 0x47c4d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47a5ed
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x47c226.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x47c4d0
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x47529a
cmp dword [esp + 0x84], 0
je 0x47c562
mov eax, dword [esi + 0x60]
test eax, eax
js 0x47c545
cmp eax, 0xa
ja case.0x47e647.9
jmp dword [eax*4 + 0x4833e0]
mov esi, dword [esi]
test esi, esi
je case.default.0x47eb14
mov edi, 0xfffffff2
jmp 0x47eb00
cmp dword [esi + 0x7c], 0x16
je 0x482733
test edx, edx
jne 0x48271e
mov dword [esi + 0x84], ecx
jmp 0x47f995
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x47d59b
cmp eax, 0xa
ja case.0x47e647.9
jmp dword [eax*4 + 0x48340c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x47d588
mov ebx, dword [esp + 0x8c]
jmp 0x47c5a0
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x47c60b
movzx ecx, byte [edx]
test ebx, ebx
je 0x47c5ee
cmp ecx, 0xc0
jb 0x47c5ee
test cl, 0x20
jne 0x47c5c8
mov eax, 2
jmp 0x47c5ee
test cl, 0x10
jne 0x47c5d4
mov eax, 3
jmp 0x47c5ee
test cl, 8
jne 0x47c5e0
mov eax, 4
jmp 0x47c5ee
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x47d588
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x47c5a0
jmp 0x47d588
cmp dword [ebp + 0x88], 0
je 0x47d588
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47d588
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x47d588
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x47eb00
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x47d588
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47c7ce
movzx ebx, byte [edi]
test edx, edx
je 0x47c74c
cmp ebx, 0xc0
jb 0x47c74c
test bl, 0x20
jne 0x47c6ae
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x47c744
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x47c6cd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x47c744
and eax, 0x3f
test bl, 8
jne 0x47c6ed
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x47c744
test bl, 4
jne 0x47c716
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x47c744
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47c76e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
cmp eax, 9
je 0x47c793
cmp eax, 5
je 0x47c793
cmp eax, 8
je 0x47c793
xor eax, eax
jmp 0x47c798
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x47d588
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x47c670
jmp 0x47d588
cmp dword [ebp + 0x88], 0
je 0x47d588
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47d588
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x47d588
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edi, 0xfffffff4
jmp 0x47eb00
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x47d588
jmp 0x47c830
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x47c9b2
movzx ebx, byte [edi]
test edx, edx
je 0x47c933
cmp ebx, 0xc0
jb 0x47c933
test bl, 0x20
jne 0x47c87a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x47c92b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x47c8a2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x47c92b
and eax, 0x3f
test bl, 8
jne 0x47c8c8
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x47c92b
test bl, 4
jne 0x47c8f7
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x47c92b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47c955
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x47d588
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x47c830
jmp 0x47d588
cmp dword [ebp + 0x88], 0
je 0x47d588
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47d588
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x47c7f3
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x47d588
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x47c9b2
movzx ebx, byte [edi]
test edx, edx
je 0x47caff
cmp ebx, 0xc0
jb 0x47caff
test bl, 0x20
jne 0x47ca46
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x47caf7
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x47ca6e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x47caf7
and eax, 0x3f
test bl, 8
jne 0x47ca94
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x47caf7
test bl, 4
jne 0x47cac3
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x47caf7
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47cb21
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x47d588
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x47ca00
jmp 0x47d588
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x47d588
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x47c9b2
movzx ebx, byte [edi]
test edx, edx
je 0x47cc93
cmp ebx, 0xc0
jb 0x47cc93
test bl, 0x20
jne 0x47cbda
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x47cc8b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x47cc02
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x47cc8b
and eax, 0x3f
test bl, 8
jne 0x47cc28
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x47cc8b
test bl, 4
jne 0x47cc57
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x47cc8b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47ccb5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x47d588
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x47cb90
jmp 0x47d588
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x47d588
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47c7ce
movzx ebx, byte [edi]
test edx, edx
je 0x47ce03
cmp ebx, 0xc0
jb 0x47ce03
test bl, 0x20
jne 0x47cd62
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x47cdfb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x47cd84
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x47cdfb
and eax, 0x3f
test bl, 8
jne 0x47cda4
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x47cdfb
test bl, 4
jne 0x47cdcd
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x47cdfb
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47ce25
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x47ce4c
cmp eax, 3
je 0x47ce4c
xor eax, eax
jmp 0x47ce51
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x47d588
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x47cd24
jmp 0x47d588
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x47d588
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x47c9b2
movzx ebx, byte [edi]
test edx, edx
je 0x47cfad
cmp ebx, 0xc0
jb 0x47cfad
test bl, 0x20
jne 0x47cef2
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x47cfad
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x47cf1a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x47cfa3
and eax, 0x3f
test bl, 8
jne 0x47cf40
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x47cfa3
test bl, 4
jne 0x47cf6f
and ebx, 3
mov dword [esp + 0x84], 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 0x47cfa3
and ebx, 1
mov dword [esp + 0x84], 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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0x180e
ja 0x47cff0
je case.0x47d010.8192
cmp ebx, 0x85
ja 0x47cfdc
je case.0x47d010.8192
cmp ebx, 9
jb case.0x47d010.8203
cmp ebx, 0xd
jbe case.0x47d010.8192
cmp ebx, 0x20
jmp 0x47d025
cmp ebx, 0xa0
je case.0x47d010.8192
cmp ebx, 0x1680
jmp 0x47d025
cmp ebx, 0x202f
ja 0x47d017
je case.0x47d010.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x47d010.8203
movzx eax, byte [eax + 0x483440]
jmp dword [eax*4 + 0x483438]
cmp ebx, 0x205f
je case.0x47d010.8192
cmp ebx, 0x3000
je case.0x47d010.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47d049
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
cmp dword [eax*4 + 0x53a0d0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x47d588
mov edx, dword [esp + 0x8c]
jmp 0x47d084
cmp dword [esi + 0x68], 0
jne 0x47d588
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x47cea0
jmp 0x47d588
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x47d588
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x47c9b2
movzx ebx, byte [edi]
test edx, edx
je 0x47d1d3
cmp ebx, 0xc0
jb 0x47d1d3
test bl, 0x20
jne 0x47d11a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x47d1cb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x47d142
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x47d1cb
and eax, 0x3f
test bl, 8
jne 0x47d168
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x47d1cb
test bl, 4
jne 0x47d197
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x47d1cb
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x53b940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x47d1f6
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x47d222
cmp eax, 3
je 0x47d222
cmp ebx, 0x5f
je 0x47d222
xor eax, eax
jmp 0x47d227
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x47d588
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x47d0d0
jmp 0x47d588
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x47d588
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47d3bf
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x47d361
cmp edx, 0xc0
jb 0x47d361
test dl, 0x20
jne 0x47d2c4
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x47d359
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x47d2e3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x47d359
and eax, 0x3f
test dl, 8
jne 0x47d303
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47d359
test dl, 4
jne 0x47d32c
and edx, 3
mov ebx, 5
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 0x47d359
and edx, ebx
mov ebx, 6
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, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x53a180]
lea eax, [eax*4 + 0x53a180]
cmp edx, ecx
jb 0x47d383
lea eax, [eax + 4]
cmp edx, ecx
je 0x47d3b3
mov ecx, dword [eax]
cmp edx, ecx
jae 0x47d376
cmp dword [esi + 0x68], 0
je 0x47d588
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x47d280
jmp 0x47d588
cmp dword [esi + 0x68], 0
jne 0x47d588
jmp 0x47d38d
cmp dword [ebp + 0x88], 0
je 0x47d588
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47d588
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x47d588
jmp 0x476206
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47d588
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x47d560
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x47d517
cmp edx, 0xc0
jb 0x47d517
test dl, 0x20
jne 0x47d44d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x47d517
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x47d477
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x47d517
test dl, 8
jne 0x47d4a3
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x47d517
test dl, 4
jne 0x47d4db
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
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
mov eax, 5
jmp 0x47d517
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
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, 6
cmp edx, 0x24
je 0x47d542
cmp edx, 0x40
je 0x47d542
cmp edx, 0x60
je 0x47d542
cmp edx, 0xa0
jb 0x47d536
cmp edx, 0xd7ff
jbe 0x47d542
cmp edx, 0xe000
jae 0x47d542
xor ecx, ecx
jmp 0x47d547
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x47d588
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47d401
jmp 0x47d588
cmp dword [ebp + 0x88], 0
je 0x47d588
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47d588
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
je 0x481a3c
jmp 0x47529a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x47d937
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x47d8e8
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47d8c0
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x47d6c0
cmp ebx, 0xc0
jb 0x47d6c0
test bl, 0x20
jne 0x47d609
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x47d6bd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x47d630
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x47d6b6
test bl, 8
jne 0x47d653
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x47d6b6
test bl, 4
jne 0x47d682
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x47d6b6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47d6e2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c2]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47d87d
jmp 0x47d710
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x47d80e
cmp ebx, 0xc0
jb 0x47d80e
test bl, 0x20
jne 0x47d745
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x47d806
test bl, 0x10
jne 0x47d76a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x47d806
test bl, 8
jne 0x47d798
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x47d806
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x47d7d2
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x47d806
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x47d830
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx ecx, byte [eax*8 + 0x53a2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53a148], eax
je 0x47d876
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x47d710
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x47d8aa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x47d8aa
cmp eax, dword [ebp + 0x84]
jbe 0x47d8aa
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x47d5c0
jmp 0x47d8e8
cmp dword [ebp + 0x88], 0
je 0x47d8e8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47d8e8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
cmp dword [esp + 0x80], 0
jne 0x47529a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482e65
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482e5b
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
add eax, 0xfffffffa
test edx, edx
je 0x47e63e
cmp eax, 0xf
ja case.0x47e647.9
jmp dword [eax*4 + 0x48346c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x47da26
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x47d999
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00485050
add esp, 0x14
test eax, eax
jne 0x47e62b
jmp 0x47d9bd
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x47d9bd
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x47d9bd
cmp edx, 1
je 0x47e62b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x47e62b
cmp dword [ebp + 0x88], 0
je 0x47d9f8
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x47d9f8
cmp dword [ebp + 0x18], 0
jne 0x47d9f8
cmp dword [edi], 2
jne 0x47d9f8
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x47d9f8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47da14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x47da14
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x47da03
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x47d964
jmp 0x47e62b
cmp dword [ebp + 0x88], 0
je 0x47e62b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47e62b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x47e62b
jmp 0x476206
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x47dab8
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x47e62b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x47da26
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x47daaa
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x47daaa
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x47da92
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x47da80
jmp 0x47e62b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x47e62b
cmp eax, dword [ebp + 0x84]
jbe 0x47e62b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x47e62b
jmp 0x47c7f9
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x47db3f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x47e62b
cmp edx, dword [ebp + 0x84]
jbe 0x47e62b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x47e62b
jmp 0x476206
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x47e62b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x47da26
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47dc6a
test dl, 0x20
jne 0x47db9e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x47dc6a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x47dbc8
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x47dc68
test dl, 8
jne 0x47dbf4
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x47dc68
test dl, 4
jne 0x47dc2c
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
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
mov eax, 5
jmp 0x47dc68
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp edx, 0xd
jne 0x47dc86
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x47e62b
cmp byte [eax], 0xa
jne 0x47dcc0
inc eax
jmp 0x47dcbd
cmp edx, 0xa
je 0x47dcbb
cmp dword [ebp + 0x68], 0
jne 0x47e62b
cmp edx, 0xb
je 0x47dcbb
cmp edx, 0xc
je 0x47dcbb
cmp edx, 0x85
je 0x47dcbb
cmp edx, 0x2028
je 0x47dcbb
cmp edx, 0x2029
jne 0x47e62b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x47db60
jmp 0x47e62b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47de3a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47ddb8
test dl, 0x20
jne 0x47dd1a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x47ddb0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x47dd39
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x47ddb0
and eax, 0x3f
test dl, 8
jne 0x47dd59
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47ddb0
test dl, 4
jne 0x47dd82
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x47ddb0
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x180e
ja 0x47ddde
je 0x47de0c
cmp edx, 0xa0
ja 0x47ddd6
je 0x47de0c
cmp edx, 9
je 0x47de0c
cmp edx, 0x20
jmp 0x47de06
cmp edx, 0x1680
jmp 0x47de06
cmp edx, 0x205f
ja 0x47de00
je 0x47de0c
cmp edx, 0x2000
jb 0x47de08
cmp edx, 0x200a
jbe 0x47de0c
cmp edx, 0x202f
jmp 0x47de06
cmp edx, 0x3000
je 0x47de0c
xor edx, edx
jmp 0x47de11
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x47e62b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47dce4
jmp 0x47e62b
cmp dword [ebp + 0x88], 0
je 0x47e62b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47e62b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x47e62b
jmp 0x476206
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47de3a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47df50
test dl, 0x20
jne 0x47deb2
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x47df48
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x47ded1
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x47df48
and eax, 0x3f
test dl, 8
jne 0x47def1
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47df48
test dl, 4
jne 0x47df1a
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x47df48
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x85
ja 0x47df8f
je 0x47df9a
cmp edx, 0xa
jb 0x47df64
cmp edx, 0xd
jbe 0x47df9a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x47e62b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47de80
jmp 0x47e62b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x47df64
mov edx, 1
jmp 0x47df66
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47de3a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47e087
test dl, 0x20
jne 0x47dfe9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x47e07f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x47e008
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x47e07f
and eax, 0x3f
test dl, 8
jne 0x47e028
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47e07f
test dl, 4
jne 0x47e051
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x47e07f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x47e09c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x47e62b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47dfb3
jmp 0x47e62b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
jmp 0x47e0d0
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47de3a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47e1a4
test dl, 0x20
jne 0x47e106
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x47e19c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x47e125
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x47e19c
and eax, 0x3f
test dl, 8
jne 0x47e145
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47e19c
test dl, 4
jne 0x47e16e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x47e19c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x47e62b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x47e62b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47e0d0
jmp 0x47e62b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
jmp 0x47e1f0
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47de3a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47e2c4
test dl, 0x20
jne 0x47e226
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x47e2bc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x47e245
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x47e2bc
and eax, 0x3f
test dl, 8
jne 0x47e265
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47e2bc
test dl, 4
jne 0x47e28e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x47e2bc
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x47e2d9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x47e62b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47e1f0
jmp 0x47e62b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47de3a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47e3d7
test dl, 0x20
jne 0x47e339
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x47e3cf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x47e358
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x47e3cf
and eax, 0x3f
test dl, 8
jne 0x47e378
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47e3cf
test dl, 4
jne 0x47e3a1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x47e3cf
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x47e62b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x47e62b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47e303
jmp 0x47e62b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47de3a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47e4f4
test dl, 0x20
jne 0x47e456
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x47e4ec
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x47e475
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x47e4ec
and eax, 0x3f
test dl, 8
jne 0x47e495
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47e4ec
test dl, 4
jne 0x47e4be
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x47e4ec
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x47e509
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x47e62b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47e420
jmp 0x47e62b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47e62b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x47de3a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47e607
test dl, 0x20
jne 0x47e569
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x47e5ff
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x47e588
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x47e5ff
and eax, 0x3f
test dl, 8
jne 0x47e5a8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47e5ff
test dl, 4
jne 0x47e5d1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x47e5ff
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x47e62b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x47e62b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x47e533
cmp dword [esp + 0x80], 0
je 0x480ef8
jmp 0x47529a
cmp eax, 0xf
ja case.0x47e647.9
jmp dword [eax*4 + 0x4834ac]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x47ead7
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x47e704
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x47e690
push 0
push edi
push eax
push edx
push ecx
call fcn.00485050
add esp, 0x14
test eax, eax
jne 0x47ead7
jmp 0x47e6b4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x47e6b4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x47e6b4
cmp edx, 1
je 0x47ead7
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x47ead7
cmp dword [ebp + 0x88], 0
je 0x47e6ef
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x47e6ef
cmp dword [ebp + 0x18], 0
jne 0x47e6ef
cmp dword [edi], 2
jne 0x47e6ef
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x47e6ef
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x47e660
jmp 0x47ead7
cmp dword [ebp + 0x88], 0
je 0x47ead7
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x47ead7
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x47ead7
jmp 0x476206
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x47e788
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x47ead7
cmp edx, dword [ebp + 0x84]
jbe 0x47ead7
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x47ead7
jmp 0x476206
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x47ead7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x47ead7
jmp 0x47e7b0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47e704
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x47e7db
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x47ead7
cmp byte [eax], 0xa
jne 0x47e805
inc eax
jmp 0x47e802
cmp eax, 0xa
je 0x47e7ff
cmp dword [ebp + 0x68], 0
jne 0x47ead7
cmp eax, 0xb
je 0x47e7ff
cmp eax, 0xc
je 0x47e7ff
cmp eax, 0x85
jne 0x47ead7
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x47e7b0
jmp 0x47ead7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x47ead7
jmp 0x47e830
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47e704
mov al, byte [ecx]
cmp al, 9
je 0x47ead7
cmp al, 0x20
je 0x47ead7
cmp al, 0xa0
je 0x47ead7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x47e830
jmp 0x47ead7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x47ead7
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47e704
mov al, byte [ecx]
cmp al, 9
je 0x47e89e
cmp al, 0x20
je 0x47e89e
cmp al, 0xa0
jne 0x47ead7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x47e880
jmp 0x47ead7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x47ead7
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47e704
mov al, byte [ecx]
cmp al, 0xa
jb 0x47e8e6
cmp al, 0xd
jbe 0x47ead7
cmp al, 0x85
je 0x47ead7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x47e8c4
jmp 0x47ead7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x47ead7
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47e704
mov al, byte [ecx]
cmp al, 0xa
jb 0x47ead7
cmp al, 0xd
jbe 0x47e932
cmp al, 0x85
jne 0x47ead7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x47e910
jmp 0x47ead7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x47ead7
jmp 0x47e960
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47e704
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x47ead7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x47e960
jmp 0x47ead7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x47ead7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47e704
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x47ead7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x47e9a2
jmp 0x47ead7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x47ead7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47e704
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x47ead7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x47e9e4
jmp 0x47ead7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x47ead7
jmp 0x47ea30
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47e704
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x47ead7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x47ea30
jmp 0x47ead7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x47ead7
jmp 0x47ea70
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47e704
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x47ead7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x47ea70
jmp 0x47ead7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x47ead7
jmp 0x47eab0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x47e704
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x47ead7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x47eab0
cmp dword [esp + 0x80], 0
je 0x47fb3a
jmp 0x47529a
mov esi, dword [esi]
test esi, esi
je 0x482fb1
mov edi, 0xfffffffb
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x47eb14
jmp dword [eax*4 + 0x4834ec]
cmp edi, 0xfffffc1b
je 0x47ebe6
cmp edi, 0xfffffc20
jne 0x47eb63
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x47eb14.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x47eb5f
cmp byte [ecx], 0x77
jne case.0x47eb14.49
xor edi, edi
jmp 0x47eb6b
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x47ebe6
cmp dword [esi + 0x9c], 0x88
jb 0x47ebb1
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x48293a
push 0x134
call dword [0xb3b278]
mov edx, eax
add esp, 4
test edx, edx
jne 0x482930
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov esi, dword [esi]
test esi, esi
je 0x47efdc
mov edx, dword [esp + 0x8c]
jmp 0x47eb04
cmp edi, 0xfffffc20
jne 0x47eca3
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x47ecf1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x47ec6e
cmp byte [ecx], 0x77
jne 0x47ecf1
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x47ed07
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eb04
test edi, edi
je 0x47ec6e
cmp edi, 0xfffffc1b
jne 0x47ecf1
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x47ece3
cmp al, 0x77
jne 0x47ecd4
lea esp, [esp]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x47ecc0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov esi, dword [esi]
test esi, esi
je 0x47efdc
mov edx, dword [esp + 0x8c]
jmp 0x47eb04
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x47ed59
cmp eax, 0x81
je 0x47ed59
cmp dword [ebp + 0x6c], 0
jne 0x47ed63
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x77
je 0x47ed63
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x539fb8]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x475220
mov dword [ebp + 0x98], 2
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov edx, dword [esi + 4]
test edx, edx
jne 0x48295c
push 0x134
call dword [0xb3b278]
mov edx, eax
add esp, 4
test edx, edx
jne 0x482952
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
cmp edi, 1
jne 0x47ee23
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x47edc0
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x47edd3
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x47ee09
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], edx
cmp byte [eax], 0x77
je 0x47edf0
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x539fb8]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x4756ce.145
test edi, edi
je 0x47ee33
cmp edi, 0xfffffc20
jne case.0x47eb14.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x47ee49
movzx eax, byte [edx + 0x539fb8]
jmp 0x47ee4c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x47ee69
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x4752a1
cmp dword [esi + 0x9c], 0x8c
jne 0x475220
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48297e
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482974
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
cmp edi, 1
je 0x47ef62
cmp edi, 0xfffffc19
je 0x47ef62
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x47ef0a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x47eb14.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x47ef12
cmp byte [ecx], 0x77
jmp 0x47ef0c
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x47ef68
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482997
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x48298d
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x47ef81
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eb04
cmp dword [esi + 0x58], 0
je 0x4825be
mov esi, dword [esi]
test esi, esi
je 0x482f56
mov edi, 1
jmp 0x47eb04
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x47f04d
je 0x47efe6
cmp edi, 0xfffffc19
je 0x47f883
cmp edi, 0xfffffc1b
jle case.0x47eb14.49
cmp edi, 0xfffffc1f
jle 0x47f00e
mov esi, dword [esi]
test esi, esi
jne 0x47eb04
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x47f00e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x47f060
cmp byte [ecx], 0x77
je 0x47f060
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x47f011
cmp dword [esi + 0x58], 0
je 0x47f297
mov esi, dword [esi]
test esi, esi
je 0x482f56
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x47eb04
mov eax, edi
sub eax, 0
je 0x47f060
dec eax
je 0x47f883
jmp case.0x47eb14.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
jne 0x47f028
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4829ad
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4829a3
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x4825ec
cmp edi, 0xfffffc19
je 0x4825ec
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x47f119
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x47609b
push ecx
call dword [0xb3b274]
add esp, 4
jmp 0x47609b
test edi, edi
je 0x47f143
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x47f134
push ecx
call dword [0xb3b274]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x47efdc
jmp 0x47eaf9
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x47f1a9
cmp dword [esi + 0x58], 0
je 0x47f174
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4829f3
push 0x134
call dword [0xb3b278]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4829e9
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x47f0f9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x47f203
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482a41
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482a37
mov esi, dword [esi]
test esi, esi
je 0x482f0b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x47eb04
cmp al, 0x88
jb 0x482744
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482a63
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482a59
mov esi, dword [esi]
test esi, esi
je 0x482f0b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x47eb04
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x482f63
mov edi, 0xfffffc1b
jmp 0x47eb04
test edi, edi
jne case.0x47eb14.49
mov edx, dword [esi + 0x2c]
jmp 0x47f280
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x47f280
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x47529a
test edi, edi
je 0x476b14
jmp case.0x47eb14.49
test edi, edi
je 0x47f24f
jmp case.0x47eb14.49
cmp edi, 0xfffffc1b
jne 0x47f2cb
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x47f2cd
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4800bb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482a85
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482a7b
mov esi, dword [esi]
test esi, esi
je 0x482f0b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x47eb04
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x47f340
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.00483740
add esp, 0x14
test eax, eax
jns 0x47f3a7
cmp eax, 0xfffffffe
jne 0x47f369
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x480e81
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x480e81
cmp eax, dword [ebp + 0x84]
jbe 0x480e81
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4780be
jmp 0x480e81
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482aaa
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482aa0
mov esi, dword [esi]
test esi, esi
je 0x482f0b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x47eb04
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x47c226.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482ac3
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482ab9
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x47f467
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x480f66
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
mov edi, ecx
mov edx, dword [esi + 0x28]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
je 0x480e81
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482adc
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482ad2
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x47609b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482af5
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482aeb
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x47f541
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x480f66
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x47f571
cmp dword [esi + 0x94], ecx
je 0x47f571
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eb04
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482b0e
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482b04
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
dec dword [esi + 8]
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482b27
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482b1d
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x47f621
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x480f66
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x480e81
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482b40
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482b36
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
dec dword [esi + 8]
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482b59
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482b4f
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x47f6ee
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x480f66
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x47f883
cmp dword [esi + 0x94], ecx
je 0x47f883
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482b72
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482b68
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482b8b
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482b81
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x47f7c5
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x480f66
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x480e81
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482ba1
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482b97
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482bb7
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482bad
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x47f894
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eb04
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x47f8db
cmp dword [ebp + 0x88], 0
je 0x47f8c3
cmp ecx, dword [ebp + 0x84]
jbe 0x47f8c3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4780be
mov esi, dword [esi]
test esi, esi
je 0x482f18
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x47eb04
cmp dword [esi + 0x7c], 0xc
jne 0x47f902
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x47f924
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00485050
add esp, 0x14
test eax, eax
jne 0x47f941
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x47f91d.15
jmp dword [eax*4 + 0x4835f8]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x47f902
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x47f902
cmp edi, 1
je 0x47f941
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x47f902
mov esi, dword [esi]
test esi, esi
je 0x482f18
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x47eb04
cmp dword [ebp + 0x88], 0
je case.0x47f91d.13
cmp edx, dword [ebp + 0x78]
jb case.0x47f91d.13
cmp dword [ebp + 0x18], 0
jne case.0x47f91d.13
cmp dword [ebp + 0x1c], 2
jne case.0x47f91d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x47f91d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4780be
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482bcd
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482bc3
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x47f9dd.14
movzx eax, byte [ecx + 0x483648]
jmp dword [eax*4 + 0x483638]
cmp edx, dword [ebp + 0x78]
jae case.0x47f91d.13
cmp byte [edx], 0xa
jne case.0x47f91d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x47f91d.13
cmp dword [ebp + 0x68], 0
je case.0x47f91d.13
jmp case.0x47f9dd.14
cmp ecx, 9
je case.0x47f9dd.14
cmp ecx, 0x20
je case.0x47f9dd.14
cmp ecx, 0xa0
jmp 0x47fada
cmp ecx, 9
je case.0x47f91d.13
cmp ecx, 0x20
je case.0x47f91d.13
cmp ecx, 0xa0
je case.0x47f91d.13
jmp case.0x47f9dd.14
cmp ecx, 0xa
jb case.0x47f91d.13
cmp ecx, 0xd
jbe case.0x47f9dd.14
cmp ecx, 0x85
jmp 0x47fada
cmp ecx, 0xa
jb case.0x47f9dd.14
cmp ecx, 0xd
jbe case.0x47f91d.13
cmp ecx, 0x85
je case.0x47f91d.13
jmp case.0x47f9dd.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x47f91d.13
jmp case.0x47f9dd.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x47fada
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x47f91d.13
jmp case.0x47f9dd.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x47fada
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x47f91d.13
mov esi, dword [esi]
test esi, esi
je 0x482f18
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x47eb04
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x47f91d.13
mov esi, dword [esi]
test esi, esi
je 0x482f18
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x47eb04
mov esi, dword [esi]
test esi, esi
je case.default.0x47eb14
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x47eb04
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x47fb3a
cmp eax, dword [esi + 0x30]
jbe 0x47fb3a
cmp byte [eax], 0xa
jne 0x47fb3a
cmp byte [eax - 1], 0xd
jne 0x47fb3a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482be3
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482bd9
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
cmp edi, 0xfffffc1a
jne 0x47fbd1
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x47fbc9
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x47fbb0
jmp 0x47fc28
mov dword [esi + 8], eax
jmp 0x47fc4d
cmp edi, 0xfffffc20
jne 0x47fc05
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x47eb14.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x47fc0d
cmp byte [ecx], 0x77
jmp 0x47fc07
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
je 0x47fc41
cmp dword [esi + 0x5c], 0
jne 0x47f297
cmp dword [esi + 0x54], 0
jne 0x47f297
jmp 0x480e81
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x47fc63
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x482c25
push 0x134
call dword [0xb3b278]
mov edx, eax
add esp, 4
test edx, edx
jne 0x482c1b
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
mov esi, dword [esi]
test edi, edi
jne 0x47efd4
test esi, esi
je 0x482f7d
mov edi, 0xfffffc1c
jmp 0x47eb04
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x482f97
mov edi, 0xfffffc1e
jmp 0x47eb04
cmp edi, 1
je 0x47fce3
cmp edi, 0xfffffc19
jne 0x47fcfd
cmp dword [ebp + 0xac], 0
jne 0x47fcfd
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x47ecf1
cmp edi, 0xfffffc1f
jne 0x47ecf1
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47fd32
test dl, dl
je 0x47fd2e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47fd32
add eax, 2
add ecx, 2
test dl, dl
jne 0x47fd12
xor eax, eax
jmp 0x47fd37
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47ecf1
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x482f97
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x47eb04
cmp edi, 1
je 0x47fd6d
cmp edi, 0xfffffc19
jne case.0x47eb14.51
cmp dword [ebp + 0xac], 0
jne case.0x47eb14.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x47efd4
test esi, esi
je 0x482f70
mov edi, 0xfffffc1d
jmp 0x47eb04
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x482fa4
mov edi, 0xfffffc1f
jmp 0x47eb04
cmp edi, 1
je 0x47fdd0
cmp edi, 0xfffffc19
jne case.0x47eb14.54
cmp dword [ebp + 0xac], 0
jne case.0x47eb14.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x482f8a
mov edi, 0xfffffc20
jmp 0x47eb04
cmp edi, 0xfffffc1a
jne 0x47fe71
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x47fe69
mov edx, dword [esi + 0xc]
jmp 0x47fe50
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x47fe50
jmp 0x47fed8
mov dword [esi + 8], eax
jmp 0x475dd2
cmp edi, 0xfffffc20
jne 0x47fea5
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x47eb14.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x47fead
cmp byte [ecx], 0x77
jmp 0x47fea7
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x475dd2
cmp dword [esi + 0x5c], 0
jne 0x47ff18
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
cmp dword [esi + 0x54], 0
jne 0x475296
cmp dword [esi + 0x5c], 0
jne 0x475296
jmp 0x480e81
cmp edi, 1
jne 0x47ffd4
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x47ff51
cmp al, 0x77
jne 0x480e81
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x47ff51
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov eax, dword [esi + 0xc]
mov al, byte [eax]
cmp al, 0x78
je 0x475296
cmp ecx, dword [esi + 0x38]
je 0x475296
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x48006d
test ecx, ecx
jne 0x482c8e
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482c84
mov esi, dword [esi]
test esi, esi
je 0x482f0b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x47eb04
cmp edi, 0xfffffc20
jne 0x480008
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x47eb14.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x480010
cmp byte [ecx], 0x77
jmp 0x48000a
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x47ff40
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482c69
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482c5f
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test ecx, ecx
jne 0x482cb3
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482ca9
mov esi, dword [esi]
test esi, esi
je 0x482f0b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x47eb04
test edi, edi
je 0x482744
jmp case.0x47eb14.49
test edi, edi
jne case.0x47eb14.49
add dword [esi + 0xc], 3
jmp 0x475220
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4800e9
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4801ea
cmp ebx, 0xc0
jb 0x4801ea
test bl, 0x20
jne 0x48012b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4801e7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x480155
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4801ea
mov edx, dword [esi + 8]
test bl, 8
jne 0x48017b
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4801de
test bl, 4
jne 0x4801aa
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4801de
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
push edx
push dword [esi + 0x28]
push ebx
call fcn.004849e0
add esp, 0xc
test eax, eax
je 0x47609b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482cd5
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482ccb
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x480e81
cmp dword [esp + 0x8c], edi
je 0x480271
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x480271
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x480265
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482cee
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482ce4
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4802cb
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x4803c0
test bl, 0x20
jne 0x480305
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4803bd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x48032f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4803c0
mov edx, dword [esi + 8]
test bl, 8
jne 0x480358
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4803bb
test bl, 4
jne 0x480387
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4803bb
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x4803d6
cmp dword [esi + 0x9c], 0x6e
jne 0x4803f3
jmp 0x47609b
mov edx, dword [esi + 0x28]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
je 0x47609b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482d07
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482cfd
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x47609b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x48045c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x480450
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482d20
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482d16
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4804b6
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x480525
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4804e5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4804ea
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4804d4
cmp edi, 0xfffffffc
je 0x480517
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x480522
cmp edi, 0xfffffffd
je 0x480517
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x480522
cmp edi, 0xfffffffe
je 0x480517
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x480522
cmp edi, 0xffffffff
je 0x480517
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x480522
mov eax, dword [esi + 0x88]
jmp 0x480590
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4805d0
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4805d0
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x480557
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x48055c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x480546
cmp edi, 0xfffffffc
je 0x48058d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4805d0
cmp edi, 0xfffffffd
je 0x48058d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4805d0
cmp edi, 0xfffffffe
je 0x48058d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4805d0
cmp edi, 0xffffffff
je 0x48058d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4805d0
mov eax, dword [esi + 0x6c]
add eax, ebx
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482d39
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482d2f
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
cmp dword [ebp + 0x88], 0
je case.0x47c226.14
cmp ebx, dword [ebp + 0x78]
jb case.0x47c226.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x47c226.14
jmp 0x4761f2
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x48061c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x480610
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482d52
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482d48
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x480682
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x480782
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x4806bc
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x48077f
test dl, 0x10
jne 0x4806de
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 8], 2
jmp 0x480782
mov ecx, dword [esi + 8]
test dl, 8
jne 0x48070e
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x48077f
test dl, 4
jne 0x480744
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x48077f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je 0x47f941
cmp dword [esi + 0x94], edx
je 0x47f941
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4807c9
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x47f3d5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x482bed
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4807fc
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4807f0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482d6b
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482d61
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x480862
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x480957
test bl, 0x20
jne 0x48089c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x480954
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4808c6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x480957
mov edx, dword [esi + 8]
test bl, 8
jne 0x4808ef
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x480952
test bl, 4
jne 0x48091e
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x480952
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ebx
je 0x47609b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482d84
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482d7a
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4809c0
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4809b4
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482d9d
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482d93
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x480a26
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x480a62
cmp dword [ebp + 0x88], 0
je 0x480e81
cmp ecx, dword [ebp + 0x84]
jbe 0x480e81
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4780be
jmp 0x480e81
cmp dword [esi + 0x7c], 0xc
jne 0x480ab4
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x480a8f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00485050
add esp, 0x14
test eax, eax
jne 0x480e81
jmp 0x480ab4
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x480ab4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x480ab4
cmp edi, 1
je 0x480e81
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x480e81
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x480b9c
test dl, 0x20
jne 0x480ae7
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x480b99
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x480b0e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x480b97
test dl, 8
jne 0x480b34
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x480b97
test dl, 4
jne 0x480b63
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x480b97
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x480bab.15
jmp dword [eax*4 + 0x4836c4]
cmp dword [ebp + 0x88], 0
je case.0x480bab.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x480bab.13
cmp dword [ebp + 0x18], 0
jne case.0x480bab.13
cmp dword [ebp + 0x1c], 2
jne case.0x480bab.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x480bab.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x480bab.13
jmp 0x4780be
cmp edx, 0xd
ja 0x480c2e
je 0x480c1b
cmp edx, 0xa
je case.0x480bab.13
jbe 0x480e81
cmp edx, 0xc
jmp 0x480c48
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x480bab.13
cmp byte [eax], 0xa
jne case.0x480bab.13
inc eax
mov dword [esi + 8], eax
jmp case.0x480bab.13
cmp edx, 0x85
je 0x480c4e
cmp edx, 0x2027
jbe 0x480e81
cmp edx, 0x2029
ja 0x480e81
cmp dword [ebp + 0x68], 0
je case.0x480bab.13
jmp 0x480e81
cmp edx, 0x180e
ja 0x480ccd
je 0x480e81
cmp edx, 0xa0
ja 0x480cc5
je 0x480e81
cmp edx, 9
je 0x480e81
cmp edx, 0x20
je 0x480e81
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x480cb6
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x47f3d5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x482bed
cmp edx, 0x1680
jmp 0x480c81
cmp edx, 0x205f
ja 0x480cf7
je 0x480e81
cmp edx, 0x2000
jb case.0x480bab.13
cmp edx, 0x200a
jbe 0x480e81
cmp edx, 0x202f
jmp 0x480c81
cmp edx, 0x3000
jmp 0x480e7b
cmp edx, 0x180e
ja 0x480d34
je case.0x480bab.13
cmp edx, 0xa0
ja 0x480d2c
je case.0x480bab.13
cmp edx, 9
je case.0x480bab.13
cmp edx, 0x20
jmp 0x480d68
cmp edx, 0x1680
jmp 0x480d68
cmp edx, 0x205f
ja 0x480d62
je case.0x480bab.13
cmp edx, 0x2000
jb 0x480e81
cmp edx, 0x200a
jbe case.0x480bab.13
cmp edx, 0x202f
jmp 0x480d68
cmp edx, 0x3000
je case.0x480bab.13
jmp 0x480e81
cmp edx, 0x85
ja 0x480d98
je 0x480e81
cmp edx, 0xa
jb case.0x480bab.13
cmp edx, 0xd
jbe 0x480e81
jmp case.0x480bab.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x480bab.13
jmp 0x480e81
cmp edx, 0x85
ja 0x480dc8
je case.0x480bab.13
cmp edx, 0xa
jb 0x480e81
cmp edx, 0xd
jmp 0x480dd1
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x480bab.13
jmp 0x480e81
cmp edx, 0x100
jae case.0x480bab.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x480bab.13
jmp 0x480e81
cmp edx, 0x100
jae 0x480e81
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x480e7b
cmp edx, 0x100
jae case.0x480bab.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x480bab.13
jmp 0x480e81
cmp edx, 0x100
jae 0x480e81
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x480e7b
cmp edx, 0x100
jae case.0x480bab.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x480bab.13
mov esi, dword [esi]
test esi, esi
je 0x482f18
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x47eb04
cmp edx, 0x100
jae 0x480e81
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x480bab.13
mov esi, dword [esi]
test esi, esi
je 0x482f18
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x47eb04
mov esi, dword [esi]
test esi, esi
je case.default.0x47eb14
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x47eb04
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x480edc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x480ed0
cmp dword [esi + 0x7c], 0x11
jne 0x480ef8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x480ef8
cmp byte [eax], 0xa
jne 0x480ef8
dec eax
cmp byte [eax], 0xd
jne 0x480ef8
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482db6
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482dac
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x480f5e
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x480f7e
cmp dword [ebp + 0x88], 0
je 0x47f883
cmp eax, dword [ebp + 0x84]
jmp 0x4816d9
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x480fbd
cmp ecx, 0xc0
jb 0x480fbd
test cl, 0x20
jne 0x480f99
inc eax
jmp 0x480fba
test cl, 0x10
jne 0x480fa3
add eax, 2
jmp 0x480fba
test cl, 8
jne 0x480fad
add eax, 3
jmp 0x480fba
test cl, 4
jne 0x480fb7
add eax, 4
jmp 0x480fba
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x480fd4
mov esi, dword [esi]
test esi, esi
je 0x482f18
xor edi, edi
jmp 0x47eb04
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x481003
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x47f3d5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x482bed
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x481037
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x481131
cmp ebx, 0xc0
jb 0x481131
test bl, 0x20
jne 0x481079
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x48112e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4810a3
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x481131
mov edx, dword [esi + 8]
test bl, 8
jne 0x4810c9
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x48112c
test bl, 4
jne 0x4810f8
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x48112c
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x481153
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
cmp eax, 9
je 0x481178
cmp eax, 5
je 0x481178
cmp eax, 8
je 0x481178
xor eax, eax
jmp 0x48117d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x47609b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482dcf
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482dc5
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4811e6
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4812dc
cmp ebx, 0xc0
jb 0x4812dc
test bl, 0x20
jne 0x481228
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4812d9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x481250
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4812dc
mov edx, dword [esi + 8]
test bl, 8
jne 0x481276
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4812d9
test bl, 4
jne 0x4812a5
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4812d9
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4812fe
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x47609b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482de8
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482dde
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x481388
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x48147e
cmp ebx, 0xc0
jb 0x48147e
test bl, 0x20
jne 0x4813ca
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x48147b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4813f2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x48147e
mov edx, dword [esi + 8]
test bl, 8
jne 0x481418
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x48147b
test bl, 4
jne 0x481447
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x48147b
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4814a0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x47609b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482e01
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482df7
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x481523
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x481619
cmp ebx, 0xc0
jb 0x481619
test bl, 0x20
jne 0x481565
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x481616
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x48158d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x481619
mov edx, dword [esi + 8]
test bl, 8
jne 0x4815b3
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x481616
test bl, 4
jne 0x4815e2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x481616
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x48163b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x47609b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482e1a
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482e10
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4816be
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x481707
cmp dword [ebp + 0x88], 0
je 0x47f883
cmp edi, dword [ebp + 0x84]
jbe 0x47f883
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x47f883
mov esi, dword [esi]
test esi, esi
je 0x482f3c
mov edi, 0xfffffff4
jmp 0x47eb04
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4817f5
cmp ebx, 0xc0
jb 0x4817f5
test bl, 0x20
jne 0x48173d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4817f2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x481767
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4817f5
mov edx, dword [esi + 8]
test bl, 8
jne 0x48178d
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4817f0
test bl, 4
jne 0x4817bc
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4817f0
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x481817
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4819a8
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x481947
cmp ebx, 0xc0
jb 0x481947
test bl, 0x20
jne 0x48187b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x48193f
test bl, 0x10
jne 0x4818a0
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x48193f
test bl, 8
jne 0x4818d1
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x48193f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x48190b
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x48193f
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x481969
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx ecx, byte [eax*8 + 0x53a2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53a148], eax
je 0x4819a8
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x481840
cmp dword [ebp + 0x88], 0
je 0x4819d5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4819d5
cmp eax, dword [ebp + 0x84]
jbe 0x4819d5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x476206
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482e33
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482e29
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x481a3c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x481a3c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x481a30
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x475220
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482e4c
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482e42
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x481a97
movzx ebx, byte [ecx]
jmp 0x481b85
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x481aac
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x481aa0
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x481b85
test bl, 0x20
jne 0x481acf
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x481b7d
test bl, 0x10
jne 0x481aef
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x481b7d
test bl, 8
jne 0x481b18
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x481b7d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x481b4d
and ebx, 3
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x481b7d
and ebx, 1
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x481ba7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c2]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x475220
dec edi
cmp dword [esp + 0x8c], 0
jne 0x481bdf
movzx ebx, byte [edi]
jmp 0x481c9e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x481bf1
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x481be7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x481c9e
test bl, 0x20
jne 0x481c11
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x481c96
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x481c2e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x481c96
and eax, 0x3f
test bl, 8
jne 0x481c49
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x481c96
test bl, 4
jne 0x481c6d
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x481c96
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x481cc0
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx edx, byte [eax*8 + 0x53a2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53a148], eax
je 0x47d8f6
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x481bc0
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x481d21
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x481e1b
cmp ebx, 0xc0
jb 0x481e1b
test bl, 0x20
jne 0x481d63
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x481e18
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x481d8d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x481e1b
mov edx, dword [esi + 8]
test bl, 8
jne 0x481db3
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x481e16
test bl, 4
jne 0x481de2
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x481e16
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x481e3d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x481e64
cmp eax, 3
je 0x481e64
xor eax, eax
jmp 0x481e69
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x47609b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482e7e
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482e74
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x481ed2
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x481fd3
cmp ebx, 0xc0
jb 0x481fd3
test bl, 0x20
jne 0x481f14
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x481fd0
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x481f3e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x481fd3
mov edx, dword [esi + 8]
test bl, 8
jne 0x481f64
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x481fc7
test bl, 4
jne 0x481f93
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x481fc7
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x24
je 0x481ffe
cmp ebx, 0x40
je 0x481ffe
cmp ebx, 0x60
je 0x481ffe
cmp ebx, 0xa0
jb 0x481ff2
cmp ebx, 0xd7ff
jbe 0x481ffe
cmp ebx, 0xe000
jae 0x481ffe
xor eax, eax
jmp 0x482003
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4769e2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482e97
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482e8d
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x48206c
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x48216d
cmp ebx, 0xc0
jb 0x48216d
test bl, 0x20
jne 0x4820ae
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x48216a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4820d8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x48216d
mov edx, dword [esi + 8]
test bl, 8
jne 0x4820fe
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x482161
test bl, 4
jne 0x48212d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x482161
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x4821b0
je case.0x4821d0.8192
cmp ebx, 0x85
ja 0x48219c
je case.0x4821d0.8192
cmp ebx, 9
jb case.0x4821d0.8203
cmp ebx, 0xd
jbe case.0x4821d0.8192
cmp ebx, 0x20
jmp 0x4821e5
cmp ebx, 0xa0
je case.0x4821d0.8192
cmp ebx, 0x1680
jmp 0x4821e5
cmp ebx, 0x202f
ja 0x4821d7
je case.0x4821d0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x4821d0.8203
movzx eax, byte [eax + 0x48370c]
jmp dword [eax*4 + 0x483704]
cmp ebx, 0x205f
je case.0x4821d0.8192
cmp ebx, 0x3000
je case.0x4821d0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x53b940]
shl eax, 7
and ebx, 0x8000007f
jns 0x482209
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
cmp dword [eax*4 + 0x53a0d0], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x48223c
jmp 0x47609b
cmp dword [esi + 0x68], 0
jne 0x4769e2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482eb0
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482ea6
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x48229c
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x482392
cmp ebx, 0xc0
jb 0x482392
test bl, 0x20
jne 0x4822de
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x48238f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x482306
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x482392
mov edx, dword [esi + 8]
test bl, 8
jne 0x48232c
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x48238f
test bl, 4
jne 0x48235b
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x48238f
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x53b940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4823b5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x53db40]
movzx eax, byte [eax*8 + 0x53a2c1]
mov eax, dword [eax*4 + 0x53a0d0]
cmp eax, 1
je 0x4823e1
cmp eax, 3
je 0x4823e1
cmp ebx, 0x5f
je 0x4823e1
xor eax, eax
jmp 0x4823e6
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x47609b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482ec9
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482ebf
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
test edi, edi
jne case.0x47eb14.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x48244f
mov esi, dword [esi]
test esi, esi
je 0x482f18
jmp 0x47eb04
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4816c6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x48254c
cmp ebx, 0xc0
jb 0x48254c
test bl, 0x20
jne 0x482491
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x482549
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4824b9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x48254c
mov edx, dword [esi + 8]
test bl, 8
jne 0x4824df
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x482542
test bl, 4
jne 0x48250e
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x482542
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
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
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x53a180]
lea eax, [eax*4 + 0x53a180]
cmp ebx, ecx
jb 0x48256e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x4825b3
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x482561
cmp dword [esi + 0x68], 0
je 0x4769e2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x482ee2
push 0x134
call dword [0xb3b278]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x482ed8
mov esi, dword [esi]
test esi, esi
je 0x482f0b
lea edi, [eax - 6]
jmp 0x47eaf9
cmp dword [esi + 0x68], 0
je 0x482578
jmp 0x4769e2
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x4825c1
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x47529a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x482603
push ecx
call dword [0xb3b274]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x47529a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4803f9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x480205
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x48059b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4807a0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x480969
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x480fda
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x48118c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x48132e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4814c9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x481664
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x481e78
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x482242
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4823f5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x48257e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x482012
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x480c8d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4819db
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x475220
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x539fb8]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x475210
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x34
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x482a06
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x33
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x482a06
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x48275f
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x35
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x482a06
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x48275f
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x36
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x482a06
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x48275f
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], ebx
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x475210
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xa
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
jmp 0x482bf6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xb
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
add eax, 3
jmp 0x482bf6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 7
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x482bf6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xd
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x482bf6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xc
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x482bf6
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 1
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x482a06
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 2
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x482a06
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x4829b7
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 5
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x475210
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 6
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x20]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x539fb8]
add eax, ecx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edx + 0x1c], eax
mov dword [edx], esi
mov esi, edx
jmp 0x475210
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x482bf6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x32
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x482bf6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 9
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x482bf6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2f
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x475210
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x30
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x482a06
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x3f
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x482a06
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x40
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x482bf6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x41
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x482bf6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x42
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x482bf6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x482bed
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x482bed
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x68
ret