Function at 0x42ef20
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 0x42efae
mov esi, dword [esi]
test esi, esi
je 0x43cc51
mov edi, 0xfffffff8
jmp 0x438859
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x42efca
mov esi, dword [esi]
test esi, esi
je 0x43cc5e
mov edi, 0xffffffeb
jmp 0x438859
cmp dword [ebp + 0x98], 2
jne 0x42f001
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 0x42f001
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.0x42f034.98
movzx eax, byte [edx + 0x43ce6c]
jmp dword [eax*4 + 0x43cd20]
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 0x43c4b5
push 0x134
call dword [0x628850]
mov edi, eax
add esp, 4
test edi, edi
jne 0x43c4af
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
mov edx, dword [esi + 4]
test edx, edx
jne 0x43c505
push 0x134
call dword [0x628850]
mov edx, eax
add esp, 4
test edx, edx
jne 0x43c4ff
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
mov edx, dword [esi + 4]
test edx, edx
jne 0x43c523
push 0x134
call dword [0x628850]
mov edx, eax
add esp, 4
test edx, edx
jne 0x43c51d
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x43c541
push 0x134
call dword [0x628850]
mov edi, eax
add esp, 4
test edi, edi
jne 0x43c53b
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
mov edx, dword [esi + 4]
test edx, edx
jne 0x43c556
push 0x134
call dword [0x628850]
mov edx, eax
add esp, 4
test edx, edx
jne 0x43c550
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x42f18e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x49ffc0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x42f001
mov edi, dword [esi + 4]
test edi, edi
jne 0x43c574
push 0x134
call dword [0x628850]
mov edi, eax
add esp, 4
test edi, edi
jne 0x43c56e
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
mov edx, dword [esi + 4]
test edx, edx
jne 0x43c589
push 0x134
call dword [0x628850]
mov edx, eax
add esp, 4
test edx, edx
jne 0x43c583
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x43c5a7
push 0x134
call dword [0x628850]
mov edi, eax
add esp, 4
test edi, edi
jne 0x43c5a1
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x439d98
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.0x42f034.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 0x4388fb
mov dword [esi + 0x54], ebx
jmp 0x42fa9f
mov dword [esi + 0x54], ebx
jmp 0x42fac3
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 0x42f408
mov edi, dword [0x62cbec]
test edi, edi
je 0x42f3f4
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 0x42f3ae
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 0x42f3e3
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438859
jns 0x42f3f4
mov esi, dword [esi]
test esi, esi
je 0x438d3c
jmp 0x438859
movzx eax, byte [0x4a0036]
add dword [esi + 0xc], eax
movzx eax, byte [0x4a0036]
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.0x42f42e.146
movzx eax, byte [eax + 0x43cf28]
jmp dword [eax*4 + 0x43cf10]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x42f42e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x42f467
cmp edx, dword [edi + 4]
je 0x42f467
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x438b93
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x438b93
cmp dword [ebp + 0xa4], ebx
je case.0x42f42e.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.0x42f42e.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 0x438b93
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x42f4b0
jmp 0x438b93
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 0x42f514
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x42f514
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x42f42e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x42f42e.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 0x438b93
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 0x42f569
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x42f578
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x42f547
jmp 0x438b93
mov dword [esi + 0x58], 1
jmp 0x438b93
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c5bc
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c5b6
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x42f614
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x42eff6
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 0x42eff6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x42f663
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 0x42eff6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x42f6b6
cmp edx, 0x9f
je 0x42f6b6
cmp dword [ebp + 0xa4], ebx
jne 0x42f6b6
cmp dword [ebp + 0x5c], ebx
jne 0x42f6a5
cmp dword [ebp + 0x60], ebx
je 0x42f6b6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x42f6b6
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438859
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 0x438d3c
jmp 0x438859
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x42f70f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x438c8d
mov dword [esi + 0x58], ebx
jmp 0x438c8d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x42f73b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x438ddb
mov dword [esi + 0x58], ebx
jmp 0x438ddb
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x42f7a2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x42f788
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x435f86.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x42f784
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x42f778
test edx, edx
jg 0x42f760
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x42eff6
mov dword [ebp + 0x84], eax
jmp 0x42eff6
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 0x42f788
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438860
mov edi, dword [0x62cbec]
test edi, edi
je 0x42f8ac
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 0x42f866
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 0x42f89b
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438859
jns 0x42f8ac
mov esi, dword [esi]
test esi, esi
je 0x438d3c
jmp 0x438859
add dword [esi + 0xc], 6
jmp 0x42effa
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 0x42f8d6
xor edx, edx
jmp 0x42f8e3
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 0x42f903
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x42f8fd
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x42f964
mov ecx, dword [ecx]
test ecx, ecx
jne 0x42f8f0
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 0x42f978
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 0x438ec4
mov esi, dword [esi]
test esi, esi
je 0x43cc82
mov edi, 0xffffffe6
jmp 0x438859
shl eax, 2
push eax
call dword [0x628848]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x42f93e
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x42f9a1
jmp 0x42f001
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c5f7
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c5f1
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x42fa00
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c615
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c60f
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x42fa53
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x42f001
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 0x42fa9f
cmp eax, 0x8b
jne 0x42fac3
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 0x42fae0
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 0x4399ad
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 0x42fb5d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x43c9a7
push 0x134
call dword [0x628850]
mov edx, eax
add esp, 4
test edx, edx
jne 0x43c99d
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x42fbb8
cmp al, 0x81
je 0x42fbb8
mov dword [esi + 0x38], ebx
jmp 0x42fbc9
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 0x42fbd6
cmp al, 0x80
jbe 0x42fbda
cmp al, 0x82
jne 0x42fc06
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 0x43ccb6
mov edi, 1
jmp 0x438859
cmp al, 0x85
je 0x42fc1a
cmp al, 0x8a
je 0x42fc1a
cmp al, 0x86
je 0x42fc1a
cmp al, 0x8b
jne 0x42fce1
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 0x42fc56
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x42fc56
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x42fbec
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 0x42fc85
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x42fce1
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x42fca5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x42fca5
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 0x42fce1
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x42fd17
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 0x43cc8f
mov edi, 0xfffffc1a
jmp 0x438859
cmp cl, 0x78
je 0x42fd90
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x42fd90
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x42fd5e
test ecx, ecx
jne 0x43c636
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c630
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test ecx, ecx
jne 0x43c657
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c651
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x438ff7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c675
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c66f
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
cmp dword [ebp + 0x44], ebx
je case.0x42f034.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x42f034.1
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438859
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x42feb8
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438859
cmp dword [ebp + 0x44], ebx
je 0x42fe2a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x42fe2a
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438859
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x430874
cmp ecx, dword [ebp + 0x78]
je 0x42fe90
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x42fe68
cmp ecx, edx
jbe 0x42fe90
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0043eee0
add esp, 0x14
test eax, eax
jne 0x430874
jmp 0x42fe90
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x42fe90
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x42fe90
cmp edi, 1
je 0x430874
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x430874
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438859
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x42fdf5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x42f001
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x42ff7a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x42fef5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0043ed90
add esp, 0x14
test eax, eax
jne 0x430874
jmp 0x42ff19
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x42ff19
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x42ff19
cmp edx, 1
je 0x430874
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x430874
cmp dword [ebp + 0x88], ebx
je case.0x435f86.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x435f86.14
cmp dword [ebp + 0x18], ebx
jne case.0x435f86.14
cmp dword [edi], 2
jne case.0x435f86.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x435f86.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x435f86.14
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edi, 0xfffffff4
jmp 0x438859
cmp dword [ebp + 0x48], ebx
jne 0x42fdfb
cmp dword [ebp + 0x88], ebx
je 0x430874
cmp ecx, dword [ebp + 0x84]
jbe 0x430874
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x430874
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edi, 0xfffffff4
jmp 0x438859
cmp dword [ebp + 0x48], ebx
jne 0x42fdfb
cmp dword [ebp + 0x58], ebx
je case.0x42f034.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x42fdfb
cmp dword [ebp + 0x88], ebx
je 0x42feb8
cmp eax, dword [ebp + 0x84]
jbe 0x42feb8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x42feb8
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edi, 0xfffffff4
jmp 0x438859
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x430085
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x43004d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0043ed90
add esp, 0x14
test eax, eax
jne 0x430075
jmp 0x42ff19
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x42ff19
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x42ff19
cmp edx, 1
je 0x430075
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x42ff19
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x42ff19
cmp dword [ebp + 0x88], ebx
je 0x430874
cmp ecx, dword [ebp + 0x84]
jbe 0x430874
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x430874
jmp 0x42ff66
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x430387
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x4300d5
mov dword [esi + 0x5c], ebx
jmp 0x43020e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x4300ea
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x4300e0
cmp edx, dword [ebp + 0x84]
jae 0x4300f8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x4301ac
test bl, 0x20
jne 0x430120
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x4301ac
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x43013a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x4301a2
and eax, 0x3f
test bl, 8
jne 0x430155
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4301a2
test bl, 4
jne 0x430179
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 0x4301a2
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 0x430247
cmp ebx, 0x5f
jne 0x4301c4
mov dword [esi + 0x5c], 1
jmp 0x43020e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4301e6
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x430258
cmp eax, 3
je 0x430258
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x43025f
cmp dword [ebp + 0x88], 0
je 0x43023b
cmp edx, dword [ebp + 0x84]
jbe 0x43023b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
mov dword [esi + 0x54], 0
jmp 0x4304c5
cmp ebx, 0x100
jae 0x430209
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x430209
mov eax, 1
jmp 0x43020b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x430309
test bl, 0x20
jne 0x43027f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x430301
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x430299
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x430301
and eax, 0x3f
test bl, 8
jne 0x4302b4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x430301
test bl, 4
jne 0x4302d8
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 0x430301
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 0x43036c
cmp ebx, 0x5f
jne 0x430320
mov dword [esi + 0x54], 1
jmp 0x4304c5
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x430342
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x43037d
cmp eax, 3
je 0x43037d
xor eax, eax
jmp 0x4304c2
cmp ebx, 0x100
jae 0x430365
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x430365
mov eax, 1
jmp 0x4304c2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x430397
mov dword [esi + 0x5c], ebx
jmp 0x430432
cmp eax, dword [ebp + 0x84]
ja 0x4303a6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x43041e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x4303c0
mov dword [esi + 0x5c], 1
jmp 0x430432
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4a1948]
shl eax, 7
and ecx, 0x8000007f
jns 0x4303e2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x430410
cmp eax, 3
je 0x430410
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x43042f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x43042f
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 0x430473
cmp dword [ebp + 0x88], ebx
je 0x43046e
cmp eax, dword [ebp + 0x84]
jbe 0x43046e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43046e
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edi, 0xfffffff4
jmp 0x438860
mov dword [esi + 0x54], ebx
jmp 0x4304c5
cmp dword [ebp + 0x54], ebx
je 0x4304b2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x430489
mov dword [esi + 0x54], 1
jmp 0x4304c5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4a1948]
shl eax, 7
and ecx, 0x8000007f
jns 0x4304ab
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x430344
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 0x4304e0
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x4304e8
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x42f001
jmp 0x42fdfb
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x43052d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x430558
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0043ed90
add esp, 0x14
test eax, eax
jne 0x42fdfb
jmp 0x430558
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x430558
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x430558
cmp edx, 1
je 0x42fdfb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x42fdfb
cmp dword [ebp + 0x88], ebx
je case.0x42f034.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x42f034.13
cmp dword [ebp + 0x18], ebx
jne case.0x42f034.13
cmp dword [ebp + 0x1c], 2
jne case.0x42f034.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x42f034.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4305b6
cmp dword [ebp + 0x88], ebx
je case.0x435f86.14
cmp eax, dword [ebp + 0x84]
jbe case.0x435f86.14
jmp 0x42ff52
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x42feb8
cmp eax, dword [ebp + 0x78]
jae 0x42feb8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x42feb8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x4305d2
inc dword [esi + 0xc]
jmp 0x42f001
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x430599
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x42f001
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43062d
cmp dword [ebp + 0x88], ebx
je case.0x435f86.14
cmp edi, dword [ebp + 0x84]
jbe case.0x435f86.14
jmp 0x42ff52
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x430729
cmp ebx, 0xc0
jb 0x430729
test bl, 0x20
jne 0x43066a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x430726
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x430694
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x430729
mov edx, dword [esi + 8]
test bl, 8
jne 0x4306ba
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 0x43071d
test bl, 4
jne 0x4306e9
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 0x43071d
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 0x430874
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x430874
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438860
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43085b
cmp ebx, 0xc0
jb 0x43085b
test bl, 0x20
jne 0x43079c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x430858
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4307c6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43085b
mov edx, dword [esi + 8]
test bl, 8
jne 0x4307ec
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 0x43084f
test bl, 4
jne 0x43081b
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 0x43084f
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 0x42f7bd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x42f7bd
inc dword [esi + 0xc]
jmp 0x42effa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x430984
cmp ebx, 0xc0
jb 0x430984
test bl, 0x20
jne 0x4308c5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x430981
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4308ef
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x430984
mov edx, dword [esi + 8]
test bl, 8
jne 0x430915
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 0x430978
test bl, 4
jne 0x430944
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 0x430978
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 0x430874
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x43073c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x430aa4
cmp ebx, 0xc0
jb 0x430aa4
test bl, 0x20
jne 0x4309e5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x430aa1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x430a0f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x430aa4
mov edx, dword [esi + 8]
test bl, 8
jne 0x430a35
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 0x430a98
test bl, 4
jne 0x430a64
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 0x430a98
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 0x42f7bd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x42f7bd
inc dword [esi + 0xc]
jmp 0x42effa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x430bcd
cmp ebx, 0xc0
jb 0x430bcd
test bl, 0x20
jne 0x430b0e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x430bca
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x430b38
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x430bcd
mov edx, dword [esi + 8]
test bl, 8
jne 0x430b5e
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 0x430bc1
test bl, 4
jne 0x430b8d
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 0x430bc1
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 0x430874
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x43073c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x430ced
cmp ebx, 0xc0
jb 0x430ced
test bl, 0x20
jne 0x430c2e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x430cea
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x430c58
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x430ced
mov edx, dword [esi + 8]
test bl, 8
jne 0x430c7e
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 0x430ce1
test bl, 4
jne 0x430cad
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 0x430ce1
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 0x42f7bd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x42f7bd
inc dword [esi + 0xc]
jmp 0x42effa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x430e16
cmp ebx, 0xc0
jb 0x430e16
test bl, 0x20
jne 0x430d57
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x430e13
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x430d81
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x430e16
mov edx, dword [esi + 8]
test bl, 8
jne 0x430da7
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 0x430e0a
test bl, 4
jne 0x430dd6
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 0x430e0a
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 0x430e8f
je 0x430e31
cmp ebx, 0xa
je 0x430874
jbe 0x430742
cmp ebx, 0xc
jmp 0x430ea9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x430e7a
cmp dword [ebp + 0x88], 0
je 0x430874
cmp eax, dword [ebp + 0x84]
jbe 0x430874
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x430874
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edi, 0xfffffff4
jmp 0x438860
cmp byte [eax], 0xa
jne 0x430874
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x42effa
cmp ebx, 0x85
je 0x430eaf
cmp ebx, 0x2027
jbe 0x430742
cmp ebx, 0x2029
ja 0x430742
cmp dword [ebp + 0x68], 0
jmp 0x43073c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x430fc0
cmp ebx, 0xc0
jb 0x430fc0
test bl, 0x20
jne 0x430f01
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x430fbd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x430f2b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x430fc0
mov edx, dword [esi + 8]
test bl, 8
jne 0x430f51
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 0x430fb4
test bl, 4
jne 0x430f80
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 0x430fb4
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 0x430ff8
je 0x42f7bd
cmp ebx, 0xa0
ja 0x430fed
je 0x42f7bd
cmp ebx, 9
je 0x42f7bd
cmp ebx, 0x20
jmp 0x43086e
cmp ebx, 0x1680
jmp 0x43086e
cmp ebx, 0x205f
ja 0x431029
je 0x42f7bd
cmp ebx, 0x2000
jb 0x430874
cmp ebx, 0x200a
jbe 0x42f7bd
cmp ebx, 0x202f
jmp 0x43086e
cmp ebx, 0x3000
je 0x42f7bd
inc dword [esi + 0xc]
jmp 0x42effa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x431145
cmp ebx, 0xc0
jb 0x431145
test bl, 0x20
jne 0x431086
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x431142
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4310b0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x431145
mov edx, dword [esi + 8]
test bl, 8
jne 0x4310d6
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 0x431139
test bl, 4
jne 0x431105
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 0x431139
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 0x43117d
je 0x430874
cmp ebx, 0xa0
ja 0x431172
je 0x430874
cmp ebx, 9
je 0x430874
cmp ebx, 0x20
jmp 0x43073c
cmp ebx, 0x1680
jmp 0x43073c
cmp ebx, 0x205f
ja 0x4311ae
je 0x430874
cmp ebx, 0x2000
jb 0x430742
cmp ebx, 0x200a
jbe 0x430874
cmp ebx, 0x202f
jmp 0x43073c
cmp ebx, 0x3000
jmp 0x43073c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4312c1
cmp ebx, 0xc0
jb 0x4312c1
test bl, 0x20
jne 0x431202
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4312be
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43122c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4312c1
mov edx, dword [esi + 8]
test bl, 8
jne 0x431252
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 0x4312b5
test bl, 4
jne 0x431281
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 0x4312b5
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 0x4312e9
je 0x430742
cmp ebx, 0xa
jb 0x430874
cmp ebx, 0xd
jbe 0x430742
inc dword [esi + 0xc]
jmp 0x42effa
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x430874
jmp 0x430742
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x431405
cmp ebx, 0xc0
jb 0x431405
test bl, 0x20
jne 0x431346
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x431402
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x431370
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x431405
mov edx, dword [esi + 8]
test bl, 8
jne 0x431396
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 0x4313f9
test bl, 4
jne 0x4313c5
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 0x4313f9
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 0x43142a
je 0x430874
cmp ebx, 0xa
jb 0x42f7bd
cmp ebx, 0xd
jbe 0x430874
jmp 0x42f7bd
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x42f7bd
inc dword [esi + 0xc]
jmp 0x42effa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x43153d
cmp ebx, 0xc0
jb 0x43153d
test bl, 0x20
jne 0x431489
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43153a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4314b1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x43153d
mov edx, dword [esi + 8]
test bl, 8
jne 0x4314d7
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 0x43153a
test bl, 4
jne 0x431506
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 0x43153a
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 + 0x4a1948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x431560
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 + 0x4a3b48]
cmp eax, 0xa
ja case.default.0x43157a
jmp dword [eax*4 + 0x43cf3c]
cmp dword [esi + 0x9c], 0xf
jne 0x42eff6
jmp 0x42fdfb
mov al, byte [edx*8 + 0x4a02c9]
cmp al, 9
je 0x4315aa
cmp al, 5
je 0x4315aa
cmp al, 8
je 0x4315aa
xor ecx, ecx
jmp 0x4315af
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x42eff6
jmp 0x42fdfb
movzx ecx, byte [edx*8 + 0x4a02c9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x4a00d8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x42eff6
jmp 0x42fdfb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x4a02c9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x42eff6
jmp 0x42fdfb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x4a02c8]
jmp 0x43160b
movzx eax, byte [edx*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x4315aa
cmp eax, 3
je 0x4315aa
xor ecx, ecx
jmp 0x4315af
cmp ebx, 0x180e
ja 0x4316a3
je case.0x43157a.0
cmp ebx, 0x85
ja 0x43168f
je case.0x43157a.0
cmp ebx, 9
jb case.0x4316c3.8203
cmp ebx, 0xd
jbe case.0x43157a.0
cmp ebx, 0x20
jmp 0x4316dc
cmp ebx, 0xa0
je case.0x43157a.0
cmp ebx, 0x1680
jmp 0x4316dc
cmp ebx, 0x202f
ja 0x4316ca
je case.0x43157a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x4316c3.8203
movzx eax, byte [ebx + 0x43cf70]
jmp dword [eax*4 + 0x43cf68]
cmp ebx, 0x205f
je case.0x43157a.0
cmp ebx, 0x3000
je case.0x43157a.0
movzx eax, byte [edx*8 + 0x4a02c9]
xor ecx, ecx
cmp dword [eax*4 + 0x4a00d8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x431617
movzx eax, byte [edx*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x4315aa
cmp eax, 3
je 0x4315aa
cmp ebx, 0x5f
je 0x4315aa
xor ecx, ecx
jmp 0x4315af
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x4a0188]
lea eax, [eax*4 + 0x4a0188]
cmp ebx, ecx
jb 0x43175d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x43176f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x431750
cmp dword [esi + 0x9c], 0x10
jne 0x42eff6
jmp 0x42fdfb
cmp dword [esi + 0x9c], 0x10
je 0x42eff6
jmp 0x42fdfb
cmp ebx, 0x24
je 0x4315aa
cmp ebx, 0x40
je 0x4315aa
cmp ebx, 0x60
je 0x4315aa
cmp ebx, 0xa0
jb 0x4317b0
cmp ebx, 0xd7ff
jbe 0x4315aa
cmp ebx, 0xe000
jae 0x4315aa
xor ecx, ecx
jmp 0x4315af
mov esi, dword [esi]
test esi, esi
je case.default.0x438874
mov edi, 0xfffffff2
jmp 0x438859
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x4318e2
cmp ebx, 0xc0
jb 0x4318e2
test bl, 0x20
jne 0x431820
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4318df
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43184f
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 0x4318e2
mov edx, dword [esi + 8]
test bl, 8
jne 0x431875
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 0x4318d8
test bl, 4
jne 0x4318a4
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 0x4318d8
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x431904
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x431a96
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x431a2e
cmp ebx, 0xc0
jb 0x431a2e
test bl, 0x20
jne 0x431965
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x431a26
test bl, 0x10
jne 0x43198a
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 0x431a26
test bl, 8
jne 0x4319b8
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 0x431a26
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4319f2
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 0x431a26
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x431a50
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx ecx, byte [eax*8 + 0x4a02ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a0150], eax
je 0x431a96
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 0x431930
cmp dword [ebp + 0x88], 0
je 0x430874
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x430874
cmp eax, dword [ebp + 0x84]
jbe 0x430874
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x430874
jmp 0x42ff66
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 0x431bc4
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 0x431b54
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x431b5d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x431b30
jmp 0x431bc4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x431bc4
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 0x431bb4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x431bb4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x431bbe
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.0x431bdf
movzx eax, byte [eax + 0x43cfa4]
jmp dword [eax*4 + 0x43cf9c]
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 + 0x49f618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x49f624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x431c6d
mov dword [esi + 0x8c], closesocket
jmp 0x431c6d
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 0x431c69
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x42f001
jns 0x431c91
cmp dword [esi + 0x90], 0
je 0x42f001
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x431ccf
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.0043d4a0
add esp, 0x14
test eax, eax
js 0x431d01
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x431ca0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x42f001
cmp dword [esp + 0x80], 0
je 0x431d2a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x439112
cmp eax, 0xfffffffe
jne 0x431d0c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x435f86.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x435f86.14
jmp 0x4305a5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x431d40
cmp edi, dword [esi + 0x8c]
jge 0x439161
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0043d4a0
add esp, 0x14
test eax, eax
js 0x431d75
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x431d40
cmp eax, 0xfffffffe
jne 0x439161
cmp dword [ebp + 0x88], 0
je 0x439161
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x439161
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x439161
jmp 0x42ff66
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0043d4a0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x431e39
cmp eax, 0xfffffffe
jne 0x431de5
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x43973d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x43973d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x43973d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x43973d.14
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x438864
add dword [esi + 8], eax
jmp 0x42effa
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.0x431e67
movzx eax, byte [eax + 0x43cfb4]
jmp dword [eax*4 + 0x43cfac]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x431e8a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x431e95
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x49f618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x49f624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x431f2c
mov dword [esi + 0x8c], closesocket
jmp 0x431f2c
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 0x431f12
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x431f2c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x43208c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4320e1
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x43203c
test bl, 0x20
jne 0x431f8a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x432039
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x431fb1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x432037
test bl, 8
jne 0x431fd4
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 0x432037
test bl, 4
jne 0x432003
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 0x432037
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 0x43204d
cmp dword [esi + 0x9c], 0x6e
jmp 0x432062
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.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x431f50
jmp 0x4320d3
cmp dword [ebp + 0x88], 0
je case.0x435f86.14
mov eax, dword [esi + 8]
jmp 0x4305a5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4320da
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x432077
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.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4320a0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x42effa
test ebx, ebx
je 0x43210a
test edx, edx
jne 0x43c377
mov dword [esi + 0x84], eax
jmp 0x4391fb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x4322c2
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4322af
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x432287
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x432236
test bl, 0x20
jne 0x43217b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x432236
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4321a3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x43222c
and eax, 0x3f
test bl, 8
jne 0x4321c9
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 0x43222c
test bl, 4
jne 0x4321f8
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 0x43222c
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 0x432247
cmp dword [esi + 0x9c], 0x6e
jmp 0x43225c
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 0x4322af
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 0x432131
jmp 0x4322af
cmp dword [ebp + 0x88], 0
je 0x4322af
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4322af
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
je 0x43a1bc
jmp 0x42effa
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x43233a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x432312
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 0x43233a
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 0x4322d1
jmp 0x43233a
cmp dword [ebp + 0x88], 0
je 0x43233a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x43233a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
je 0x43923b
jmp 0x42effa
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.0x432385
movzx eax, byte [eax + 0x43cfc8]
jmp dword [eax*4 + 0x43cfc0]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4323a8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x4323b3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x49f618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x49f624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43244a
mov dword [esi + 0x8c], closesocket
jmp 0x43244a
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 0x432430
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x43244a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x432585
jmp 0x432460
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x43255a
cmp edx, 0xc0
jb 0x43255a
test dl, 0x20
jne 0x4324a8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x432557
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4324cf
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x432555
test dl, 8
jne 0x4324f2
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 0x432555
test dl, 4
jne 0x432521
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 0x432555
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.0043e720
add esp, 0xc
test eax, eax
je case.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x432460
jmp 0x43258c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x42f001
cmp dword [esp + 0x84], 0
jne 0x43c388
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 0x43271d
jmp 0x4325d0
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4326f3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4326bb
cmp edx, 0xc0
jb 0x4326bb
test dl, 0x20
jne 0x43261c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x4326bb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x43263b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x4326b1
and eax, 0x3f
test dl, 8
jne 0x43265b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4326b1
test dl, 4
jne 0x432684
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 0x4326b1
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.0043e720
add esp, 0xc
test eax, eax
je 0x43271d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x4325d0
jmp 0x43271d
cmp dword [ebp + 0x88], 0
je 0x432716
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x432716
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x42ff66
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x42f001
jmp 0x439fd1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x432909
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 0x432890
test al, 0x20
jne 0x432790
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 0x432890
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x4327ca
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 0x432890
test al, 8
jne 0x432806
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 0x432890
test al, 4
mov eax, dword [esi + 0x80]
jne 0x43284b
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 0x432890
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 0x4328c9
cmp dword [ebp + 0x88], ebx
je case.0x435f86.14
cmp edx, edi
jb case.0x435f86.14
cmp edx, dword [ebp + 0x84]
jbe case.0x435f86.14
jmp 0x42ff52
test ecx, ecx
jle 0x4328fe
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.0x435f86.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x4328d0
dec dword [esi + 0x88]
jmp 0x42effa
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x432956
cmp dword [ebp + 0x88], ebx
je 0x42f7bd
cmp edi, dword [ebp + 0x84]
jbe 0x42f7bd
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x42f7bd
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edi, 0xfffffff4
jmp 0x438860
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 0x432c6b
jmp 0x42fdfb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x430610
cmp dword [esp + 0x8c], ebx
je 0x432c4c
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 0x432adb
test al, 0x20
jne 0x4329db
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 0x432adb
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x432a15
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 0x432adb
test al, 8
jne 0x432a51
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 0x432adb
test al, 4
mov eax, dword [esi + 0x80]
jne 0x432a96
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 0x432adb
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 0x432b09
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x42fdfb
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x42effa
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x432beb
test bl, 0x20
jne 0x432b39
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x432be8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x432b60
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x432be6
test bl, 8
jne 0x432b83
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 0x432be6
test bl, 4
jne 0x432bb2
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 0x432be6
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 0x42effa
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4a1948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x432c25
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a3b48]
mov eax, dword [eax*8 + 0x4a02cc]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x42f001
jmp 0x42fdfb
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 0x42fdfb
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x42effa
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 0x432d9d
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 0x432cd4
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x432cdf
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x432d9d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x432da4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x432da4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x432da4
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 + 0x49f618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x49f624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x432d9d
mov dword [esi + 0x8c], closesocket
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x433218
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 0x432eeb
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x432e01
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 0x432eeb
test bl, 0x10
jne 0x432e36
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 0x432eeb
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 0x432e74
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 0x432eeb
test bl, 4
jne 0x432ead
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 0x432eeb
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 0x433227
cmp dword [esi + 0x9c], 0x2e
jb 0x432f5c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4a1948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x432f33
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a3b48]
mov ecx, dword [eax*8 + 0x4a02cc]
add ecx, edi
cmp ecx, edi
je 0x432f5c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0043e6c0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x432f63
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x433096
jmp 0x432f80
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 0x433004
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x432fb8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x432fc1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x432fa7
cmp edi, 0xfffffffc
je 0x433078
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x432ffa
cmp edi, 0xfffffffd
je 0x433078
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x432ffa
cmp edi, 0xfffffffe
je 0x433078
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x432ffa
cmp edi, 0xffffffff
je 0x433078
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x433078
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x431d0c
sub ecx, ebx
cmp edi, ecx
ja 0x431d0c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x433036
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43303b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x433025
cmp edi, 0xfffffffc
je 0x433078
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x431d0c
cmp edi, 0xfffffffd
je 0x433078
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x431d0c
cmp edi, 0xfffffffe
je 0x433078
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x431d0c
cmp edi, 0xffffffff
je 0x433078
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x431d0c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x432f80
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x42f001
cmp dword [esp + 0x84], 0
jne 0x43c399
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 0x433205
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 0x43315c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x433118
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x433121
add ecx, 4
add edx, 4
sub edi, 4
jae 0x433107
cmp edi, 0xfffffffc
je 0x4331b8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x433152
cmp edi, 0xfffffffd
je 0x4331b8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x433152
cmp edi, 0xfffffffe
je 0x4331b8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x433152
cmp edi, 0xffffffff
je 0x4331b8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4331b8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x4331d8
sub ecx, ebx
cmp edi, ecx
ja 0x4331d8
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x433186
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43318b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x433175
cmp edi, 0xfffffffc
je 0x4331b8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4331d8
cmp edi, 0xfffffffd
je 0x4331b8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4331d8
cmp edi, 0xfffffffe
je 0x4331b8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4331d8
cmp edi, 0xffffffff
je 0x4331b8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4331d8
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x4330e0
jmp 0x433205
cmp dword [ebp + 0x88], 0
je 0x433205
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x433205
cmp eax, dword [ebp + 0x84]
jbe 0x433205
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
je 0x43a37c
jmp 0x42effa
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x43331f
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 0x433284
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x432077
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x433277
cmp dword [esi + 0x94], ecx
jne case.0x435f86.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x433254
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x42effa
cmp dword [esp + 0x84], 0
je 0x4332ab
mov dword [esi + 0x84], eax
jmp 0x4392db
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x433312
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4332ea
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4332db
cmp dword [esi + 0x94], ecx
jne 0x433312
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4332c0
jmp 0x433312
cmp dword [ebp + 0x88], 0
je 0x433312
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x433312
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
test edi, edi
je 0x43931b
jmp 0x42effa
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x43335a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x433330
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x42f001
cmp dword [esp + 0x84], 0
je 0x433388
mov dword [esi + 0x84], eax
jmp 0x4393a8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4333ec
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4333c4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4333ec
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4333a0
jmp 0x4333ec
cmp dword [ebp + 0x88], 0
je 0x4333ec
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4333ec
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
je 0x4393e8
jmp 0x42f001
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x433424
cmp dword [ebp + 0x88], ebx
je case.0x435f86.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x435f86.14
jmp 0x42ff52
test edi, edi
je 0x43369c
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 0x433525
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x433462
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x433522
test bl, 0x10
jne 0x433483
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 0x433522
test bl, 8
jne 0x4334ae
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 0x433525
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x4334e7
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 0x433522
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 0x433618
test dl, 0x20
jne 0x43355f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43360e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x433586
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x43360c
test dl, 8
jne 0x4335a9
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 0x43360c
test dl, 4
jne 0x4335d8
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 0x43360c
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 0x433635
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x42f001
jmp 0x42fdfb
cmp ebx, 0x7f
jbe 0x433672
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4a1948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x43365d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a3b48]
mov ecx, dword [eax*8 + 0x4a02cc]
add ecx, ebx
jmp 0x433679
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x42fdfb
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x42f001
jmp 0x42fdfb
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.0x435f86.14
cmp dword [esi + 0x9c], 0x20
jne 0x432c6b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x435f86.14
add dword [esi + 0xc], 2
jmp 0x42effa
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 0x433836
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 0x43373b
cmp al, 0x4f
je 0x43373b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x433836
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x433836
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x433836
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x433836
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x433836
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 0x433836
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 + 0x49f618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x49f624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x433836
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 0x433991
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x433991
test al, 0x20
jne 0x433888
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 0x433991
test al, 0x10
jne 0x4338bb
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 0x433991
test al, 8
jne 0x4338fd
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 0x433991
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x433948
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 0x43398a
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 0x433db5
test edx, edx
je 0x4339ec
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x4339ec
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4a1948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4339d0
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a3b48]
mov eax, dword [eax*8 + 0x4a02cc]
add eax, edi
jmp 0x4339f9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x433b40
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x433b8b
jmp 0x433a20
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x433b19
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x433a5a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x433b16
test cl, 0x10
jne 0x433a7b
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 0x433b16
test cl, 8
jne 0x433aa5
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 0x433b16
test cl, 4
jne 0x433adb
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 0x433b16
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.0x435f86.14
cmp dword [esi + 0x94], ecx
je case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x433a20
jmp 0x433b84
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x433b84
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x432077
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x435f86.14
cmp dword [esi + 0x94], ecx
je case.0x435f86.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x433b50
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x42effa
test ebx, ebx
je 0x433bb4
test edx, edx
jne 0x43c3aa
mov dword [esi + 0x84], eax
jmp 0x43947f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x433d3d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x433d2a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x433d02
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x433cde
test dl, 0x20
jne 0x433c12
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x433cde
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x433c3c
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 0x433cdc
test dl, 8
jne 0x433c68
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 0x433cdc
test dl, 4
jne 0x433ca0
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 0x433cdc
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 0x433d2a
cmp dword [esi + 0x94], edx
je 0x433d2a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x433bd4
jmp 0x433d2a
cmp dword [ebp + 0x88], 0
je 0x433d2a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x433d2a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
je 0x43a55c
jmp 0x42effa
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x433da2
jmp 0x433d50
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x433d7a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x433da2
cmp dword [esi + 0x94], ecx
je 0x433da2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x433d50
jmp 0x433da2
cmp dword [ebp + 0x88], 0
je 0x433da2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x433da2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
je 0x4394bf
jmp 0x42effa
test edx, edx
je 0x433ed7
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x433f15
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x433ebc
test dl, 0x20
jne 0x433e0a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x433eb9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x433e31
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x433eb7
test dl, 8
jne 0x433e54
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 0x433eb7
test dl, 4
jne 0x433e83
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 0x433eb7
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.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x433dd0
jmp 0x433f0e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x433f15
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x433ee4
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x42effa
cmp dword [esp + 0x84], 0
je 0x433f44
test edx, edx
jne 0x43c3bf
mov dword [esi + 0x84], eax
jmp 0x43954c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x4340c8
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4340b5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x43408d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x434071
test dl, 0x20
jne 0x433fa2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x434071
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x433fcc
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 0x43406f
test dl, 8
jne 0x433ffb
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 0x43406f
test dl, 4
jne 0x434033
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 0x43406f
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 0x4340b5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x433f64
jmp 0x4340b5
cmp dword [ebp + 0x88], 0
je 0x4340b5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4340b5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
je 0x43a720
jmp 0x42effa
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x434122
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4340fa
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x434122
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4340d6
jmp 0x434122
cmp dword [ebp + 0x88], 0
je 0x434122
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x434122
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
je 0x43958c
jmp 0x42effa
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 0x434274
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 0x434274
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x434274
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x434274
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x434274
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 0x434274
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x49f5c3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x49f5cf]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x434274
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 0x434296
cmp ecx, 0xf
je 0x434296
mov dword [esi + 0x60], 0xffffffff
jmp 0x4342b9
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 0x43625b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x435068
cmp eax, 0xa
ja case.default.0x43157a
jmp dword [eax*4 + 0x43cfd4]
cmp dword [esi + 0x68], ebx
jne 0x42fdfb
mov edx, 1
cmp ecx, edx
jl 0x43625b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x43433f
cmp ecx, 0xc0
jb 0x43433f
test cl, 0x20
jne 0x43431b
inc eax
jmp 0x43433c
test cl, 0x10
jne 0x434325
add eax, 2
jmp 0x43433c
test cl, 8
jne 0x43432f
add eax, 3
jmp 0x43433c
test cl, 4
jne 0x434339
add eax, 4
jmp 0x43433c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4342f8
jmp 0x43625b
cmp dword [ebp + 0x88], ebx
je case.0x435f86.14
mov eax, dword [esi + 8]
jmp 0x4305a5
mov edi, 1
cmp ecx, edi
jl 0x43625b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x43446a
cmp ebx, 0xc0
jb 0x43446a
test bl, 0x20
jne 0x4343b8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x434467
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4343df
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x434465
test bl, 8
jne 0x434402
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 0x434465
test bl, 4
jne 0x434431
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 0x434465
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43448c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
cmp eax, 9
je 0x4344b1
cmp eax, 5
je 0x4344b1
cmp eax, 8
je 0x4344b1
xor eax, eax
jmp 0x4344b6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x434370
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x43625b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4345d8
cmp ebx, 0xc0
jb 0x4345d8
test bl, 0x20
jne 0x434528
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4345d5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43454f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4345d5
test bl, 8
jne 0x434572
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 0x4345d5
test bl, 4
jne 0x4345a1
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 0x4345d5
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4345fa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4344e0
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x43625b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x43473b
cmp ebx, 0xc0
jb 0x43473b
test bl, 0x20
jne 0x43468b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x434738
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4346b2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x434738
test bl, 8
jne 0x4346d5
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 0x434738
test bl, 4
jne 0x434704
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 0x434738
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43475d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x434643
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x43625b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x434898
cmp ebx, 0xc0
jb 0x434898
test bl, 0x20
jne 0x4347e8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x434895
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43480f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x434895
test bl, 8
jne 0x434832
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 0x434895
test bl, 4
jne 0x434861
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 0x434895
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4348ba
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4347a0
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x43625b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4349fa
cmp ebx, 0xc0
jb 0x4349fa
test bl, 0x20
jne 0x434948
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4349f7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43496f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4349f5
test bl, 8
jne 0x434992
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 0x4349f5
test bl, 4
jne 0x4349c1
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 0x4349f5
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x434a1c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x434a43
cmp eax, 3
je 0x434a43
xor eax, eax
jmp 0x434a48
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x434900
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x43625b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x434b6a
cmp ebx, 0xc0
jb 0x434b6a
test bl, 0x20
jne 0x434ab8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x434b67
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x434adf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x434b65
test bl, 8
jne 0x434b02
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 0x434b65
test bl, 4
jne 0x434b31
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 0x434b65
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 0x434bad
je case.0x434bc9.8192
cmp ebx, 0x85
ja 0x434b99
je case.0x434bc9.8192
cmp ebx, 9
jb case.0x434bc9.8203
cmp ebx, 0xd
jbe case.0x434bc9.8192
cmp ebx, 0x20
jmp 0x434bde
cmp ebx, 0xa0
je case.0x434bc9.8192
cmp ebx, 0x1680
jmp 0x434bde
cmp ebx, 0x202f
ja 0x434bd0
je case.0x434bc9.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x434bc9.8203
movzx eax, byte [eax + 0x43d008]
jmp dword [eax*4 + 0x43d000]
cmp ebx, 0x205f
je case.0x434bc9.8192
cmp ebx, 0x3000
je case.0x434bc9.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x434c02
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
cmp dword [eax*4 + 0x4a00d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x435f86.14
jmp 0x434c36
cmp dword [esi + 0x68], 0
jne case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x434a70
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x43625b
jmp 0x434c60
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x434d58
cmp ebx, 0xc0
jb 0x434d58
test bl, 0x20
jne 0x434ca8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x434d55
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x434ccf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x434d55
test bl, 8
jne 0x434cf2
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 0x434d55
test bl, 4
jne 0x434d21
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 0x434d55
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 + 0x4a1948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x434d7b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x434da7
cmp eax, 3
je 0x434da7
cmp ebx, 0x5f
je 0x434da7
xor eax, eax
jmp 0x434dac
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x435f86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x434c60
jmp 0x43625b
mov ebx, 1
cmp ecx, ebx
jl 0x43625b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x434ecc
cmp edx, 0xc0
jb 0x434ecc
test dl, 0x20
jne 0x434e1c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x434ec9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x434e43
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x434ec9
test dl, 8
jne 0x434e66
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 0x434ec9
test dl, 4
jne 0x434e95
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 0x434ec9
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 + 0x4a0188]
lea eax, [eax*4 + 0x4a0188]
cmp edx, ecx
jb 0x434eee
lea eax, [eax + 4]
cmp edx, ecx
je 0x434f0a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x434ee1
cmp dword [esi + 0x68], 0
je case.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x434dd4
jmp 0x43625b
cmp dword [esi + 0x68], 0
jne case.0x435f86.14
jmp 0x434ef8
mov ebx, 1
cmp ecx, ebx
jl 0x43625b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x43501d
cmp edx, 0xc0
jb 0x43501d
test dl, 0x20
jne 0x434f6b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43501a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x434f92
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x435018
test dl, 8
jne 0x434fb5
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 0x435018
test dl, 4
jne 0x434fe4
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 0x435018
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 0x435048
cmp edx, 0x40
je 0x435048
cmp edx, 0x60
je 0x435048
cmp edx, 0xa0
jb 0x43503c
cmp edx, 0xd7ff
jbe 0x435048
cmp edx, 0xe000
jae 0x435048
xor eax, eax
jmp 0x43504d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x434f23
jmp 0x43625b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x435393
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x43625b
jmp 0x435090
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x432077
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x435190
cmp ebx, 0xc0
jb 0x435190
test bl, 0x20
jne 0x4350d9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x43518d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x435100
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x435186
test bl, 8
jne 0x435123
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 0x435186
test bl, 4
jne 0x435152
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 0x435186
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4351b2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02ca]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43534d
jmp 0x4351e0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x4352de
cmp ebx, 0xc0
jb 0x4352de
test bl, 0x20
jne 0x435215
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4352d6
test bl, 0x10
jne 0x43523a
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 0x4352d6
test bl, 8
jne 0x435268
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 0x4352d6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4352a2
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 0x4352d6
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x435300
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx ecx, byte [eax*8 + 0x4a02ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a0150], eax
je 0x435346
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 0x4351e0
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x43537a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43537a
cmp eax, dword [ebp + 0x84]
jbe 0x43537a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x435090
jmp 0x43625b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x435e5f
cmp eax, 0xf
ja case.0x4383a7.9
jmp dword [eax*4 + 0x43d034]
mov ebx, 1
cmp ecx, ebx
jl 0x436262
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x432077
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4353f7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0043ed90
add esp, 0x14
test eax, eax
jne case.0x435f86.14
jmp 0x43541b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x43541b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43541b
cmp edx, 1
je case.0x435f86.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x435f86.14
cmp dword [ebp + 0x88], 0
je 0x435456
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x435456
cmp dword [ebp + 0x18], 0
jne 0x435456
cmp dword [edi], 2
jne 0x435456
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x435456
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x435472
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x435472
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x435461
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4353c2
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x43434d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4354c8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4354c8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4354b0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x435494
jmp 0x43625b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x42fdfb
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x43625b
mov ebx, 1
cmp ecx, ebx
jl 0x436262
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4355ec
test dl, 0x20
jne 0x43553a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4355e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x435561
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4355e7
test dl, 8
jne 0x435584
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 0x4355e7
test dl, 4
jne 0x4355b3
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 0x4355e7
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 0x435610
je 0x4355fd
cmp edx, 0xa
je 0x435631
lea eax, [edx - 0xb]
jmp 0x43561e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x435631
cmp byte [eax], 0xa
jne 0x435631
inc eax
mov dword [esi + 8], eax
jmp 0x435631
cmp edx, 0x85
je 0x435627
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x435f86.14
cmp dword [ebp + 0x68], 0
jne case.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x435500
jmp 0x43625b
mov ebx, 1
cmp ecx, ebx
jl 0x436262
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x43573c
test dl, 0x20
jne 0x43568a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x435739
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4356b1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x435737
test dl, 8
jne 0x4356d4
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 0x435737
test dl, 4
jne 0x435703
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 0x435737
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 0x43576e
je case.0x435f86.14
cmp edx, 0xa0
ja 0x435766
je case.0x435f86.14
cmp edx, 9
je case.0x435f86.14
cmp edx, 0x20
jmp 0x43579e
cmp edx, 0x1680
jmp 0x43579e
cmp edx, 0x205f
ja 0x435798
je case.0x435f86.14
cmp edx, 0x2000
jb 0x4357a4
cmp edx, 0x200a
jbe case.0x435f86.14
cmp edx, 0x202f
jmp 0x43579e
cmp edx, 0x3000
je case.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x435650
jmp 0x43625b
mov ebx, 1
cmp ecx, ebx
jl 0x436262
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4358af
test dl, 0x20
jne 0x4357fd
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4358ac
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x435824
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4358aa
test dl, 8
jne 0x435847
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 0x4358aa
test dl, 4
jne 0x435876
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 0x4358aa
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 0x4358d5
je 0x435907
cmp edx, 0xa0
ja 0x4358cd
je 0x435907
cmp edx, 9
je 0x435907
cmp edx, 0x20
jmp 0x435901
cmp edx, 0x1680
jmp 0x435901
cmp edx, 0x205f
ja 0x4358fb
je 0x435907
cmp edx, 0x2000
jb case.0x435f86.14
cmp edx, 0x200a
jbe 0x435907
cmp edx, 0x202f
jmp 0x435901
cmp edx, 0x3000
jne case.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4357c3
jmp 0x43625b
mov ebx, 1
cmp ecx, ebx
jl 0x436262
jmp 0x435930
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x435a1c
test dl, 0x20
jne 0x43596a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x435a19
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x435991
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x435a17
test dl, 8
jne 0x4359b4
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 0x435a17
test dl, 4
jne 0x4359e3
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 0x435a17
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 0x435a34
je case.0x435f86.14
cmp edx, 0xa
jb 0x435a48
cmp edx, 0xd
jmp 0x435a42
cmp edx, 0x2028
jb 0x435a48
cmp edx, 0x2029
jbe case.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x435930
jmp 0x43625b
mov ebx, 1
cmp ecx, ebx
jl 0x436262
jmp 0x435a70
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x435b5c
test dl, 0x20
jne 0x435aaa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x435b59
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x435ad1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x435b57
test dl, 8
jne 0x435af4
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 0x435b57
test dl, 4
jne 0x435b23
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 0x435b57
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 0x435b6e
je 0x435b7d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x435b77
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x435a70
jmp 0x43625b
mov ebx, 1
cmp ecx, ebx
jl 0x436262
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x432077
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x435c8c
test dl, 0x20
jne 0x435bda
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x435c89
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x435c01
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x435c87
test dl, 8
jne 0x435c24
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 0x435c87
test dl, 4
jne 0x435c53
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 0x435c87
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 0x435ca1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x435f86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x435ba0
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43434d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x435f86.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x435f86.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x435cc0
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x43434d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x435d33
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x435f86.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x435d58
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x435d58
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x435d40
inc edi
cmp edi, dword [esi + 0x90]
jle 0x435d10
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43434d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x435f86.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x435f86.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x435d73
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x43434d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x435de3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x435f86.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x435e08
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x435e08
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x435df0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x435dc0
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43434d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x435f86.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x435f86.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x435e23
jmp 0x43625b
cmp eax, 0xf
ja case.0x4383a7.9
jmp dword [eax*4 + 0x43d074]
mov ebx, 1
cmp ecx, ebx
jl 0x436262
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x432077
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x435eb0
push 0
push edi
push eax
push edx
push ecx
call fcn.0043ed90
add esp, 0x14
test eax, eax
jne case.0x435f86.14
jmp 0x435ed4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x435ed4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x435ed4
cmp edx, 1
je case.0x435f86.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x435f86.14
cmp dword [ebp + 0x88], 0
je 0x435f0f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x435f0f
cmp dword [ebp + 0x18], 0
jne 0x435f0f
cmp dword [edi], 2
jne 0x435f0f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x435f0f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x435e80
jmp 0x43625b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x4354e6
cmp dword [ebp + 0x88], ebx
je case.0x435f86.14
cmp edx, dword [ebp + 0x84]
jbe case.0x435f86.14
jmp 0x42ff52
mov edx, 1
cmp ecx, edx
jl 0x43625b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43434d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x435f86.14
movzx eax, byte [eax + 0x43d0c4]
jmp dword [eax*4 + 0x43d0b4]
cmp ecx, dword [ebp + 0x78]
jae case.0x435f86.10
cmp byte [ecx], 0xa
jne case.0x435f86.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x435f86.10
cmp dword [ebp + 0x68], ebx
jne case.0x435f86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x435f60
jmp 0x43625b
mov edx, 1
cmp ecx, edx
jl 0x43625b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x435f86.14
cmp ecx, 0x20
je case.0x435f86.14
cmp ecx, 0xa0
je case.0x435f86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x435fc3
jmp 0x43625b
mov edx, 1
cmp ecx, edx
jl 0x43625b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x436039
cmp ecx, 0x20
je 0x436039
cmp ecx, 0xa0
jne case.0x435f86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x436010
jmp 0x43625b
mov edx, 1
cmp ecx, edx
jl 0x43625b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x436081
cmp ecx, 0xd
jle case.0x435f86.14
cmp ecx, 0x85
je case.0x435f86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x436054
jmp 0x43625b
mov edx, 1
cmp ecx, edx
jl 0x43625b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x435f86.14
cmp ecx, 0xd
jle 0x4360cd
cmp ecx, 0x85
jne case.0x435f86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4360a0
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
jmp 0x4360f0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x435f86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4360f0
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x435f86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x436130
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x435f86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x436170
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x435f86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4361b0
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
jmp 0x4361f0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x435f86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4361f0
jmp 0x43625b
mov edi, 1
cmp ecx, edi
jl 0x436262
jmp 0x436230
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43434d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x435f86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x436230
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x42effa
cmp dword [esp + 0x84], 0
je 0x4362c2
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4362a5
cmp eax, 0xa
ja case.0x4383a7.9
jmp dword [eax*4 + 0x43d140]
mov esi, dword [esi]
test esi, esi
je case.default.0x438874
mov edi, 0xfffffff2
jmp 0x438860
cmp dword [esi + 0x7c], 0x16
je 0x43c493
test edx, edx
jne 0x43c47e
mov dword [esi + 0x84], ecx
jmp 0x4396f5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4372fb
cmp eax, 0xa
ja case.0x4383a7.9
jmp dword [eax*4 + 0x43d16c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4372e8
mov ebx, dword [esp + 0x8c]
jmp 0x436300
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x43636b
movzx ecx, byte [edx]
test ebx, ebx
je 0x43634e
cmp ecx, 0xc0
jb 0x43634e
test cl, 0x20
jne 0x436328
mov eax, 2
jmp 0x43634e
test cl, 0x10
jne 0x436334
mov eax, 3
jmp 0x43634e
test cl, 8
jne 0x436340
mov eax, 4
jmp 0x43634e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4372e8
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x436300
jmp 0x4372e8
cmp dword [ebp + 0x88], 0
je 0x4372e8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4372e8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4372e8
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x438860
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4372e8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x43652e
movzx ebx, byte [edi]
test edx, edx
je 0x4364ac
cmp ebx, 0xc0
jb 0x4364ac
test bl, 0x20
jne 0x43640e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x4364a4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x43642d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x4364a4
and eax, 0x3f
test bl, 8
jne 0x43644d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4364a4
test bl, 4
jne 0x436476
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 0x4364a4
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4364ce
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
cmp eax, 9
je 0x4364f3
cmp eax, 5
je 0x4364f3
cmp eax, 8
je 0x4364f3
xor eax, eax
jmp 0x4364f8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4372e8
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 0x4363d0
jmp 0x4372e8
cmp dword [ebp + 0x88], 0
je 0x4372e8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4372e8
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4372e8
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edi, 0xfffffff4
jmp 0x438860
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4372e8
jmp 0x436590
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x436712
movzx ebx, byte [edi]
test edx, edx
je 0x436693
cmp ebx, 0xc0
jb 0x436693
test bl, 0x20
jne 0x4365da
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x43668b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x436602
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x43668b
and eax, 0x3f
test bl, 8
jne 0x436628
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 0x43668b
test bl, 4
jne 0x436657
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 0x43668b
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4366b5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4372e8
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 0x436590
jmp 0x4372e8
cmp dword [ebp + 0x88], 0
je 0x4372e8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4372e8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x436553
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4372e8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x436712
movzx ebx, byte [edi]
test edx, edx
je 0x43685f
cmp ebx, 0xc0
jb 0x43685f
test bl, 0x20
jne 0x4367a6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x436857
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4367ce
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x436857
and eax, 0x3f
test bl, 8
jne 0x4367f4
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 0x436857
test bl, 4
jne 0x436823
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 0x436857
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x436881
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4372e8
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 0x436760
jmp 0x4372e8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4372e8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x436712
movzx ebx, byte [edi]
test edx, edx
je 0x4369f3
cmp ebx, 0xc0
jb 0x4369f3
test bl, 0x20
jne 0x43693a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4369eb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x436962
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4369eb
and eax, 0x3f
test bl, 8
jne 0x436988
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 0x4369eb
test bl, 4
jne 0x4369b7
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 0x4369eb
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x436a15
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4372e8
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 0x4368f0
jmp 0x4372e8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4372e8
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x43652e
movzx ebx, byte [edi]
test edx, edx
je 0x436b63
cmp ebx, 0xc0
jb 0x436b63
test bl, 0x20
jne 0x436ac2
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x436b5b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x436ae4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x436b5b
and eax, 0x3f
test bl, 8
jne 0x436b04
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x436b5b
test bl, 4
jne 0x436b2d
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 0x436b5b
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x436b85
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x436bac
cmp eax, 3
je 0x436bac
xor eax, eax
jmp 0x436bb1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4372e8
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 0x436a84
jmp 0x4372e8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4372e8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x436712
movzx ebx, byte [edi]
test edx, edx
je 0x436d0d
cmp ebx, 0xc0
jb 0x436d0d
test bl, 0x20
jne 0x436c52
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x436d0d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x436c7a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x436d03
and eax, 0x3f
test bl, 8
jne 0x436ca0
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 0x436d03
test bl, 4
jne 0x436ccf
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 0x436d03
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 0x436d50
je case.0x436d70.8192
cmp ebx, 0x85
ja 0x436d3c
je case.0x436d70.8192
cmp ebx, 9
jb case.0x436d70.8203
cmp ebx, 0xd
jbe case.0x436d70.8192
cmp ebx, 0x20
jmp 0x436d85
cmp ebx, 0xa0
je case.0x436d70.8192
cmp ebx, 0x1680
jmp 0x436d85
cmp ebx, 0x202f
ja 0x436d77
je case.0x436d70.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x436d70.8203
movzx eax, byte [eax + 0x43d1a0]
jmp dword [eax*4 + 0x43d198]
cmp ebx, 0x205f
je case.0x436d70.8192
cmp ebx, 0x3000
je case.0x436d70.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x436da9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
cmp dword [eax*4 + 0x4a00d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4372e8
mov edx, dword [esp + 0x8c]
jmp 0x436de4
cmp dword [esi + 0x68], 0
jne 0x4372e8
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 0x436c00
jmp 0x4372e8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4372e8
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x436712
movzx ebx, byte [edi]
test edx, edx
je 0x436f33
cmp ebx, 0xc0
jb 0x436f33
test bl, 0x20
jne 0x436e7a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x436f2b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x436ea2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x436f2b
and eax, 0x3f
test bl, 8
jne 0x436ec8
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 0x436f2b
test bl, 4
jne 0x436ef7
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 0x436f2b
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 + 0x4a1948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x436f56
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x436f82
cmp eax, 3
je 0x436f82
cmp ebx, 0x5f
je 0x436f82
xor eax, eax
jmp 0x436f87
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4372e8
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 0x436e30
jmp 0x4372e8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4372e8
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x43711f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4370c1
cmp edx, 0xc0
jb 0x4370c1
test dl, 0x20
jne 0x437024
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4370b9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x437043
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4370b9
and eax, 0x3f
test dl, 8
jne 0x437063
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4370b9
test dl, 4
jne 0x43708c
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 0x4370b9
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 + 0x4a0188]
lea eax, [eax*4 + 0x4a0188]
cmp edx, ecx
jb 0x4370e3
lea eax, [eax + 4]
cmp edx, ecx
je 0x437113
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4370d6
cmp dword [esi + 0x68], 0
je 0x4372e8
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 0x436fe0
jmp 0x4372e8
cmp dword [esi + 0x68], 0
jne 0x4372e8
jmp 0x4370ed
cmp dword [ebp + 0x88], 0
je 0x4372e8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4372e8
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x4372e8
jmp 0x42ff66
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4372e8
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4372c0
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x437277
cmp edx, 0xc0
jb 0x437277
test dl, 0x20
jne 0x4371ad
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x437277
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4371d7
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 0x437277
test dl, 8
jne 0x437203
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 0x437277
test dl, 4
jne 0x43723b
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 0x437277
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 0x4372a2
cmp edx, 0x40
je 0x4372a2
cmp edx, 0x60
je 0x4372a2
cmp edx, 0xa0
jb 0x437296
cmp edx, 0xd7ff
jbe 0x4372a2
cmp edx, 0xe000
jae 0x4372a2
xor ecx, ecx
jmp 0x4372a7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x4372e8
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x437161
jmp 0x4372e8
cmp dword [ebp + 0x88], 0
je 0x4372e8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4372e8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
je 0x43b79c
jmp 0x42effa
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x437697
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x437648
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x437620
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x437420
cmp ebx, 0xc0
jb 0x437420
test bl, 0x20
jne 0x437369
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x43741d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x437390
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x437416
test bl, 8
jne 0x4373b3
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 0x437416
test bl, 4
jne 0x4373e2
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 0x437416
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x437442
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02ca]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4375dd
jmp 0x437470
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x43756e
cmp ebx, 0xc0
jb 0x43756e
test bl, 0x20
jne 0x4374a5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x437566
test bl, 0x10
jne 0x4374ca
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 0x437566
test bl, 8
jne 0x4374f8
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 0x437566
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x437532
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 0x437566
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x437590
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx ecx, byte [eax*8 + 0x4a02ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a0150], eax
je 0x4375d6
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 0x437470
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x43760a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43760a
cmp eax, dword [ebp + 0x84]
jbe 0x43760a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x437320
jmp 0x437648
cmp dword [ebp + 0x88], 0
je 0x437648
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x437648
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
cmp dword [esp + 0x80], 0
jne 0x42effa
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cbc5
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cbbb
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
add eax, 0xfffffffa
test edx, edx
je 0x43839e
cmp eax, 0xf
ja case.0x4383a7.9
jmp dword [eax*4 + 0x43d1cc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x437786
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4376f9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0043ed90
add esp, 0x14
test eax, eax
jne 0x43838b
jmp 0x43771d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x43771d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43771d
cmp edx, 1
je 0x43838b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x43838b
cmp dword [ebp + 0x88], 0
je 0x437758
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x437758
cmp dword [ebp + 0x18], 0
jne 0x437758
cmp dword [edi], 2
jne 0x437758
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x437758
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x437774
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x437774
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x437763
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4376c4
jmp 0x43838b
cmp dword [ebp + 0x88], 0
je 0x43838b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x43838b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43838b
jmp 0x42ff66
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x437818
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x43838b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x437786
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x43780a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43780a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4377f2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4377e0
jmp 0x43838b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x43838b
cmp eax, dword [ebp + 0x84]
jbe 0x43838b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43838b
jmp 0x436559
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 0x43789f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x43838b
cmp edx, dword [ebp + 0x84]
jbe 0x43838b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43838b
jmp 0x42ff66
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x43838b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x437786
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4379ca
test dl, 0x20
jne 0x4378fe
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4379ca
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x437928
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 0x4379c8
test dl, 8
jne 0x437954
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 0x4379c8
test dl, 4
jne 0x43798c
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 0x4379c8
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 0x4379e6
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x43838b
cmp byte [eax], 0xa
jne 0x437a20
inc eax
jmp 0x437a1d
cmp edx, 0xa
je 0x437a1b
cmp dword [ebp + 0x68], 0
jne 0x43838b
cmp edx, 0xb
je 0x437a1b
cmp edx, 0xc
je 0x437a1b
cmp edx, 0x85
je 0x437a1b
cmp edx, 0x2028
je 0x437a1b
cmp edx, 0x2029
jne 0x43838b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4378c0
jmp 0x43838b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x437b9a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x437b18
test dl, 0x20
jne 0x437a7a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x437b10
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x437a99
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x437b10
and eax, 0x3f
test dl, 8
jne 0x437ab9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x437b10
test dl, 4
jne 0x437ae2
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 0x437b10
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 0x437b3e
je 0x437b6c
cmp edx, 0xa0
ja 0x437b36
je 0x437b6c
cmp edx, 9
je 0x437b6c
cmp edx, 0x20
jmp 0x437b66
cmp edx, 0x1680
jmp 0x437b66
cmp edx, 0x205f
ja 0x437b60
je 0x437b6c
cmp edx, 0x2000
jb 0x437b68
cmp edx, 0x200a
jbe 0x437b6c
cmp edx, 0x202f
jmp 0x437b66
cmp edx, 0x3000
je 0x437b6c
xor edx, edx
jmp 0x437b71
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x43838b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x437a44
jmp 0x43838b
cmp dword [ebp + 0x88], 0
je 0x43838b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x43838b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x43838b
jmp 0x42ff66
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x437b9a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x437cb0
test dl, 0x20
jne 0x437c12
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x437ca8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x437c31
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x437ca8
and eax, 0x3f
test dl, 8
jne 0x437c51
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x437ca8
test dl, 4
jne 0x437c7a
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 0x437ca8
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 0x437cef
je 0x437cfa
cmp edx, 0xa
jb 0x437cc4
cmp edx, 0xd
jbe 0x437cfa
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x43838b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x437be0
jmp 0x43838b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x437cc4
mov edx, 1
jmp 0x437cc6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x437b9a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x437de7
test dl, 0x20
jne 0x437d49
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x437ddf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x437d68
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x437ddf
and eax, 0x3f
test dl, 8
jne 0x437d88
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x437ddf
test dl, 4
jne 0x437db1
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 0x437ddf
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 0x437dfc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x43838b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x437d13
jmp 0x43838b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
jmp 0x437e30
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x437b9a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x437f04
test dl, 0x20
jne 0x437e66
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x437efc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x437e85
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x437efc
and eax, 0x3f
test dl, 8
jne 0x437ea5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x437efc
test dl, 4
jne 0x437ece
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 0x437efc
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 0x43838b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x43838b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x437e30
jmp 0x43838b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
jmp 0x437f50
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x437b9a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x438024
test dl, 0x20
jne 0x437f86
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x43801c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x437fa5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x43801c
and eax, 0x3f
test dl, 8
jne 0x437fc5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x43801c
test dl, 4
jne 0x437fee
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 0x43801c
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 0x438039
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x43838b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x437f50
jmp 0x43838b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x437b9a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x438137
test dl, 0x20
jne 0x438099
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x43812f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4380b8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x43812f
and eax, 0x3f
test dl, 8
jne 0x4380d8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x43812f
test dl, 4
jne 0x438101
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 0x43812f
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 0x43838b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x43838b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x438063
jmp 0x43838b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x437b9a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x438254
test dl, 0x20
jne 0x4381b6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x43824c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4381d5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x43824c
and eax, 0x3f
test dl, 8
jne 0x4381f5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x43824c
test dl, 4
jne 0x43821e
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 0x43824c
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 0x438269
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x43838b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x438180
jmp 0x43838b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43838b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x437b9a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x438367
test dl, 0x20
jne 0x4382c9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x43835f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4382e8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x43835f
and eax, 0x3f
test dl, 8
jne 0x438308
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x43835f
test dl, 4
jne 0x438331
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 0x43835f
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 0x43838b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x43838b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x438293
cmp dword [esp + 0x80], 0
je 0x43ac58
jmp 0x42effa
cmp eax, 0xf
ja case.0x4383a7.9
jmp dword [eax*4 + 0x43d20c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x438837
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x438464
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4383f0
push 0
push edi
push eax
push edx
push ecx
call fcn.0043ed90
add esp, 0x14
test eax, eax
jne 0x438837
jmp 0x438414
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x438414
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x438414
cmp edx, 1
je 0x438837
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x438837
cmp dword [ebp + 0x88], 0
je 0x43844f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x43844f
cmp dword [ebp + 0x18], 0
jne 0x43844f
cmp dword [edi], 2
jne 0x43844f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x43844f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4383c0
jmp 0x438837
cmp dword [ebp + 0x88], 0
je 0x438837
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x438837
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x438837
jmp 0x42ff66
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 0x4384e8
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x438837
cmp edx, dword [ebp + 0x84]
jbe 0x438837
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x438837
jmp 0x42ff66
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x438837
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x438837
jmp 0x438510
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x438464
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x43853b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x438837
cmp byte [eax], 0xa
jne 0x438565
inc eax
jmp 0x438562
cmp eax, 0xa
je 0x43855f
cmp dword [ebp + 0x68], 0
jne 0x438837
cmp eax, 0xb
je 0x43855f
cmp eax, 0xc
je 0x43855f
cmp eax, 0x85
jne 0x438837
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x438510
jmp 0x438837
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x438837
jmp 0x438590
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x438464
mov al, byte [ecx]
cmp al, 9
je 0x438837
cmp al, 0x20
je 0x438837
cmp al, 0xa0
je 0x438837
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x438590
jmp 0x438837
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x438837
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x438464
mov al, byte [ecx]
cmp al, 9
je 0x4385fe
cmp al, 0x20
je 0x4385fe
cmp al, 0xa0
jne 0x438837
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4385e0
jmp 0x438837
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x438837
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x438464
mov al, byte [ecx]
cmp al, 0xa
jb 0x438646
cmp al, 0xd
jbe 0x438837
cmp al, 0x85
je 0x438837
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x438624
jmp 0x438837
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x438837
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x438464
mov al, byte [ecx]
cmp al, 0xa
jb 0x438837
cmp al, 0xd
jbe 0x438692
cmp al, 0x85
jne 0x438837
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x438670
jmp 0x438837
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x438837
jmp 0x4386c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x438464
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x438837
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4386c0
jmp 0x438837
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x438837
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x438464
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x438837
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x438702
jmp 0x438837
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x438837
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x438464
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x438837
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x438744
jmp 0x438837
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x438837
jmp 0x438790
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x438464
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x438837
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x438790
jmp 0x438837
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x438837
jmp 0x4387d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x438464
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x438837
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4387d0
jmp 0x438837
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x438837
jmp 0x438810
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x438464
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x438837
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x438810
cmp dword [esp + 0x80], 0
je 0x43989a
jmp 0x42effa
mov esi, dword [esi]
test esi, esi
je 0x43cd11
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.0x438874
jmp dword [eax*4 + 0x43d24c]
cmp edi, 0xfffffc1b
je 0x438946
cmp edi, 0xfffffc20
jne 0x4388c3
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.0x438874.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4388bf
cmp byte [ecx], 0x77
jne case.0x438874.49
xor edi, edi
jmp 0x4388cb
test edi, edi
jne case.0x438874.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 0x438946
cmp dword [esi + 0x9c], 0x88
jb 0x438911
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x43c69a
push 0x134
call dword [0x628850]
mov edx, eax
add esp, 4
test edx, edx
jne 0x43c690
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x438d3c
mov edx, dword [esp + 0x8c]
jmp 0x438864
cmp edi, 0xfffffc20
jne 0x438a03
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 0x438a51
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4389ce
cmp byte [ecx], 0x77
jne 0x438a51
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 0x438a67
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438864
test edi, edi
je 0x4389ce
cmp edi, 0xfffffc1b
jne 0x438a51
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x438a43
cmp al, 0x77
jne 0x438a34
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 0x438a20
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 0x438d3c
mov edx, dword [esp + 0x8c]
jmp 0x438864
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x438ab9
cmp eax, 0x81
je 0x438ab9
cmp dword [ebp + 0x6c], 0
jne 0x438ac3
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 0x438ac3
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x49ffc0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x42ef80
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 0x43c6bc
push 0x134
call dword [0x628850]
mov edx, eax
add esp, 4
test edx, edx
jne 0x43c6b2
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
cmp edi, 1
jne 0x438b83
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x438b20
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x438b33
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 0x438b69
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 0x438b50
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x49ffc0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x42f42e.145
test edi, edi
je 0x438b93
cmp edi, 0xfffffc20
jne case.0x438874.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x438ba9
movzx eax, byte [edx + 0x49ffc0]
jmp 0x438bac
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x438bc9
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x42f001
cmp dword [esi + 0x9c], 0x8c
jne 0x42ef80
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c6de
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c6d4
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
cmp edi, 1
je 0x438cc2
cmp edi, 0xfffffc19
je 0x438cc2
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x438c6a
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.0x438874.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x438c72
cmp byte [ecx], 0x77
jmp 0x438c6c
test edi, edi
jne case.0x438874.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 0x438cc8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c6f7
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c6ed
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x438ce1
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438864
cmp dword [esi + 0x58], 0
je 0x43c31e
mov esi, dword [esi]
test esi, esi
je 0x43ccb6
mov edi, 1
jmp 0x438864
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x438dad
je 0x438d46
cmp edi, 0xfffffc19
je 0x4395e3
cmp edi, 0xfffffc1b
jle case.0x438874.49
cmp edi, 0xfffffc1f
jle 0x438d6e
mov esi, dword [esi]
test esi, esi
jne 0x438864
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 0x438d6e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x438dc0
cmp byte [ecx], 0x77
je 0x438dc0
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 0x438d71
cmp dword [esi + 0x58], 0
je 0x438ff7
mov esi, dword [esi]
test esi, esi
je 0x43ccb6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x438864
mov eax, edi
sub eax, 0
je 0x438dc0
dec eax
je 0x4395e3
jmp case.0x438874.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 0x438d88
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c70d
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c703
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
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 0x43c34c
cmp edi, 0xfffffc19
je 0x43c34c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x438e79
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x42fdfb
push ecx
call dword [0x62884c]
add esp, 4
jmp 0x42fdfb
test edi, edi
je 0x438ea3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x438e94
push ecx
call dword [0x62884c]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x438d3c
jmp 0x438859
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 0x438f09
cmp dword [esi + 0x58], 0
je 0x438ed4
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x43c753
push 0x134
call dword [0x628850]
mov edx, eax
add esp, 4
test edx, edx
jne 0x43c749
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x438e59
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x438f63
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c7a1
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c797
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x438864
cmp al, 0x88
jb 0x43c4a4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c7c3
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c7b9
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x438864
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x43ccc3
mov edi, 0xfffffc1b
jmp 0x438864
test edi, edi
jne case.0x438874.49
mov edx, dword [esi + 0x2c]
jmp 0x438fe0
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 0x438fe0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x42effa
test edi, edi
je 0x430874
jmp case.0x438874.49
test edi, edi
je 0x438faf
jmp case.0x438874.49
cmp edi, 0xfffffc1b
jne 0x43902b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x43902d
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x439e1b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c7e5
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c7db
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x438864
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4390a0
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0043d4a0
add esp, 0x14
test eax, eax
jns 0x439107
cmp eax, 0xfffffffe
jne 0x4390c9
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x43abe1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43abe1
cmp eax, dword [ebp + 0x84]
jbe 0x43abe1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x431e1e
jmp 0x43abe1
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c80a
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c800
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x438864
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x435f86.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c823
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c819
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4391c7
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43acc6
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 0x43abe1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c83c
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c832
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x42fdfb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c855
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c84b
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4392a1
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43acc6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4392d1
cmp dword [esi + 0x94], ecx
je 0x4392d1
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438864
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c86e
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c864
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
dec dword [esi + 8]
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c887
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c87d
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x439381
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43acc6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x43abe1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c8a0
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c896
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
dec dword [esi + 8]
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c8b9
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c8af
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43944e
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43acc6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4395e3
cmp dword [esi + 0x94], ecx
je 0x4395e3
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c8d2
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c8c8
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c8eb
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c8e1
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x439525
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43acc6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x43abe1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c901
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c8f7
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c917
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c90d
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4395f4
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438864
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x43963b
cmp dword [ebp + 0x88], 0
je 0x439623
cmp ecx, dword [ebp + 0x84]
jbe 0x439623
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x431e1e
mov esi, dword [esi]
test esi, esi
je 0x43cc78
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x438864
cmp dword [esi + 0x7c], 0xc
jne 0x439662
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x439684
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0043ed90
add esp, 0x14
test eax, eax
jne 0x4396a1
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.0x43967d.15
jmp dword [eax*4 + 0x43d358]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x439662
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x439662
cmp edi, 1
je 0x4396a1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x439662
mov esi, dword [esi]
test esi, esi
je 0x43cc78
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x438864
cmp dword [ebp + 0x88], 0
je case.0x43967d.13
cmp edx, dword [ebp + 0x78]
jb case.0x43967d.13
cmp dword [ebp + 0x18], 0
jne case.0x43967d.13
cmp dword [ebp + 0x1c], 2
jne case.0x43967d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x43967d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x431e1e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c92d
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c923
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x43973d.14
movzx eax, byte [ecx + 0x43d3a8]
jmp dword [eax*4 + 0x43d398]
cmp edx, dword [ebp + 0x78]
jae case.0x43967d.13
cmp byte [edx], 0xa
jne case.0x43967d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x43967d.13
cmp dword [ebp + 0x68], 0
je case.0x43967d.13
jmp case.0x43973d.14
cmp ecx, 9
je case.0x43973d.14
cmp ecx, 0x20
je case.0x43973d.14
cmp ecx, 0xa0
jmp 0x43983a
cmp ecx, 9
je case.0x43967d.13
cmp ecx, 0x20
je case.0x43967d.13
cmp ecx, 0xa0
je case.0x43967d.13
jmp case.0x43973d.14
cmp ecx, 0xa
jb case.0x43967d.13
cmp ecx, 0xd
jbe case.0x43973d.14
cmp ecx, 0x85
jmp 0x43983a
cmp ecx, 0xa
jb case.0x43973d.14
cmp ecx, 0xd
jbe case.0x43967d.13
cmp ecx, 0x85
je case.0x43967d.13
jmp case.0x43973d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x43967d.13
jmp case.0x43973d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x43983a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x43967d.13
jmp case.0x43973d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x43983a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x43967d.13
mov esi, dword [esi]
test esi, esi
je 0x43cc78
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x438864
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x43967d.13
mov esi, dword [esi]
test esi, esi
je 0x43cc78
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x438864
mov esi, dword [esi]
test esi, esi
je case.default.0x438874
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x438864
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x43989a
cmp eax, dword [esi + 0x30]
jbe 0x43989a
cmp byte [eax], 0xa
jne 0x43989a
cmp byte [eax - 1], 0xd
jne 0x43989a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c943
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c939
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
cmp edi, 0xfffffc1a
jne 0x439931
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 0x439929
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 0x439910
jmp 0x439988
mov dword [esi + 8], eax
jmp 0x4399ad
cmp edi, 0xfffffc20
jne 0x439965
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.0x438874.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x43996d
cmp byte [ecx], 0x77
jmp 0x439967
test edi, edi
jne case.0x438874.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 0x4399a1
cmp dword [esi + 0x5c], 0
jne 0x438ff7
cmp dword [esi + 0x54], 0
jne 0x438ff7
jmp 0x43abe1
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x4399c3
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x43c985
push 0x134
call dword [0x628850]
mov edx, eax
add esp, 4
test edx, edx
jne 0x43c97b
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
mov esi, dword [esi]
test edi, edi
jne 0x438d34
test esi, esi
je 0x43ccdd
mov edi, 0xfffffc1c
jmp 0x438864
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x43ccf7
mov edi, 0xfffffc1e
jmp 0x438864
cmp edi, 1
je 0x439a43
cmp edi, 0xfffffc19
jne 0x439a5d
cmp dword [ebp + 0xac], 0
jne 0x439a5d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x438a51
cmp edi, 0xfffffc1f
jne 0x438a51
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439a92
test dl, dl
je 0x439a8e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439a92
add eax, 2
add ecx, 2
test dl, dl
jne 0x439a72
xor eax, eax
jmp 0x439a97
sbb eax, eax
or eax, 1
test eax, eax
jne 0x438a51
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x43ccf7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x438864
cmp edi, 1
je 0x439acd
cmp edi, 0xfffffc19
jne case.0x438874.51
cmp dword [ebp + 0xac], 0
jne case.0x438874.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x438d34
test esi, esi
je 0x43ccd0
mov edi, 0xfffffc1d
jmp 0x438864
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x43cd04
mov edi, 0xfffffc1f
jmp 0x438864
cmp edi, 1
je 0x439b30
cmp edi, 0xfffffc19
jne case.0x438874.54
cmp dword [ebp + 0xac], 0
jne case.0x438874.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x43ccea
mov edi, 0xfffffc20
jmp 0x438864
cmp edi, 0xfffffc1a
jne 0x439bd1
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 0x439bc9
mov edx, dword [esi + 0xc]
jmp 0x439bb0
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 0x439bb0
jmp 0x439c38
mov dword [esi + 8], eax
jmp 0x42fb32
cmp edi, 0xfffffc20
jne 0x439c05
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.0x438874.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x439c0d
cmp byte [ecx], 0x77
jmp 0x439c07
test edi, edi
jne case.0x438874.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 0x42fb32
cmp dword [esi + 0x5c], 0
jne 0x439c78
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 0x42eff6
cmp dword [esi + 0x5c], 0
jne 0x42eff6
jmp 0x43abe1
cmp edi, 1
jne 0x439d34
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x439cb1
cmp al, 0x77
jne 0x43abe1
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 0x439cb1
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 0x42eff6
cmp ecx, dword [esi + 0x38]
je 0x42eff6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x439dcd
test ecx, ecx
jne 0x43c9ee
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c9e4
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x438864
cmp edi, 0xfffffc20
jne 0x439d68
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.0x438874.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x439d70
cmp byte [ecx], 0x77
jmp 0x439d6a
test edi, edi
jne case.0x438874.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 0x439ca0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c9c9
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43c9bf
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test ecx, ecx
jne 0x43ca13
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43ca09
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x438864
test edi, edi
je 0x43c4a4
jmp case.0x438874.49
test edi, edi
jne case.0x438874.49
add dword [esi + 0xc], 3
jmp 0x42ef80
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x439e49
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x439f4a
cmp ebx, 0xc0
jb 0x439f4a
test bl, 0x20
jne 0x439e8b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x439f47
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x439eb5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x439f4a
mov edx, dword [esi + 8]
test bl, 8
jne 0x439edb
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 0x439f3e
test bl, 4
jne 0x439f0a
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 0x439f3e
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.0043e720
add esp, 0xc
test eax, eax
je 0x42fdfb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43ca35
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43ca2b
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x43abe1
cmp dword [esp + 0x8c], edi
je 0x439fd1
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x439fd1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x439fc5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43ca4e
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43ca44
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43a02b
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x43a120
test bl, 0x20
jne 0x43a065
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43a11d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43a08f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43a120
mov edx, dword [esi + 8]
test bl, 8
jne 0x43a0b8
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 0x43a11b
test bl, 4
jne 0x43a0e7
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 0x43a11b
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 0x43a136
cmp dword [esi + 0x9c], 0x6e
jne 0x43a153
jmp 0x42fdfb
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 0x42fdfb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43ca67
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43ca5d
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x42fdfb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x43a1bc
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x43a1b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43ca80
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43ca76
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43a216
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
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 0x43a285
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x43a245
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43a24a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x43a234
cmp edi, 0xfffffffc
je 0x43a277
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43a282
cmp edi, 0xfffffffd
je 0x43a277
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43a282
cmp edi, 0xfffffffe
je 0x43a277
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43a282
cmp edi, 0xffffffff
je 0x43a277
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43a282
mov eax, dword [esi + 0x88]
jmp 0x43a2f0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x43a330
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x43a330
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x43a2b7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43a2bc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x43a2a6
cmp edi, 0xfffffffc
je 0x43a2ed
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43a330
cmp edi, 0xfffffffd
je 0x43a2ed
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43a330
cmp edi, 0xfffffffe
je 0x43a2ed
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43a330
cmp edi, 0xffffffff
je 0x43a2ed
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43a330
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 0x43ca99
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43ca8f
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
cmp dword [ebp + 0x88], 0
je case.0x435f86.14
cmp ebx, dword [ebp + 0x78]
jb case.0x435f86.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x435f86.14
jmp 0x42ff52
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43a37c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x43a370
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cab2
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43caa8
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43a3e2
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x43a4e2
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x43a41c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43a4df
test dl, 0x10
jne 0x43a43e
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 0x43a4e2
mov ecx, dword [esi + 8]
test dl, 8
jne 0x43a46e
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 0x43a4df
test dl, 4
jne 0x43a4a4
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 0x43a4df
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 0x4396a1
cmp dword [esi + 0x94], edx
je 0x4396a1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43a529
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x439135
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x43c94d
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43a55c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x43a550
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cacb
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cac1
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43a5c2
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x43a6b7
test bl, 0x20
jne 0x43a5fc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43a6b4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43a626
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43a6b7
mov edx, dword [esi + 8]
test bl, 8
jne 0x43a64f
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 0x43a6b2
test bl, 4
jne 0x43a67e
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 0x43a6b2
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 0x42fdfb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cae4
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cada
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43a720
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x43a714
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cafd
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43caf3
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43a786
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x43a7c2
cmp dword [ebp + 0x88], 0
je 0x43abe1
cmp ecx, dword [ebp + 0x84]
jbe 0x43abe1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x431e1e
jmp 0x43abe1
cmp dword [esi + 0x7c], 0xc
jne 0x43a814
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x43a7ef
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0043ed90
add esp, 0x14
test eax, eax
jne 0x43abe1
jmp 0x43a814
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x43a814
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43a814
cmp edi, 1
je 0x43abe1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x43abe1
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x43a8fc
test dl, 0x20
jne 0x43a847
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43a8f9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x43a86e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x43a8f7
test dl, 8
jne 0x43a894
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 0x43a8f7
test dl, 4
jne 0x43a8c3
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 0x43a8f7
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.0x43a90b.15
jmp dword [eax*4 + 0x43d424]
cmp dword [ebp + 0x88], 0
je case.0x43a90b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x43a90b.13
cmp dword [ebp + 0x18], 0
jne case.0x43a90b.13
cmp dword [ebp + 0x1c], 2
jne case.0x43a90b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x43a90b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x43a90b.13
jmp 0x431e1e
cmp edx, 0xd
ja 0x43a98e
je 0x43a97b
cmp edx, 0xa
je case.0x43a90b.13
jbe 0x43abe1
cmp edx, 0xc
jmp 0x43a9a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x43a90b.13
cmp byte [eax], 0xa
jne case.0x43a90b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x43a90b.13
cmp edx, 0x85
je 0x43a9ae
cmp edx, 0x2027
jbe 0x43abe1
cmp edx, 0x2029
ja 0x43abe1
cmp dword [ebp + 0x68], 0
je case.0x43a90b.13
jmp 0x43abe1
cmp edx, 0x180e
ja 0x43aa2d
je 0x43abe1
cmp edx, 0xa0
ja 0x43aa25
je 0x43abe1
cmp edx, 9
je 0x43abe1
cmp edx, 0x20
je 0x43abe1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43aa16
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x439135
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x43c94d
cmp edx, 0x1680
jmp 0x43a9e1
cmp edx, 0x205f
ja 0x43aa57
je 0x43abe1
cmp edx, 0x2000
jb case.0x43a90b.13
cmp edx, 0x200a
jbe 0x43abe1
cmp edx, 0x202f
jmp 0x43a9e1
cmp edx, 0x3000
jmp 0x43abdb
cmp edx, 0x180e
ja 0x43aa94
je case.0x43a90b.13
cmp edx, 0xa0
ja 0x43aa8c
je case.0x43a90b.13
cmp edx, 9
je case.0x43a90b.13
cmp edx, 0x20
jmp 0x43aac8
cmp edx, 0x1680
jmp 0x43aac8
cmp edx, 0x205f
ja 0x43aac2
je case.0x43a90b.13
cmp edx, 0x2000
jb 0x43abe1
cmp edx, 0x200a
jbe case.0x43a90b.13
cmp edx, 0x202f
jmp 0x43aac8
cmp edx, 0x3000
je case.0x43a90b.13
jmp 0x43abe1
cmp edx, 0x85
ja 0x43aaf8
je 0x43abe1
cmp edx, 0xa
jb case.0x43a90b.13
cmp edx, 0xd
jbe 0x43abe1
jmp case.0x43a90b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x43a90b.13
jmp 0x43abe1
cmp edx, 0x85
ja 0x43ab28
je case.0x43a90b.13
cmp edx, 0xa
jb 0x43abe1
cmp edx, 0xd
jmp 0x43ab31
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x43a90b.13
jmp 0x43abe1
cmp edx, 0x100
jae case.0x43a90b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x43a90b.13
jmp 0x43abe1
cmp edx, 0x100
jae 0x43abe1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x43abdb
cmp edx, 0x100
jae case.0x43a90b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x43a90b.13
jmp 0x43abe1
cmp edx, 0x100
jae 0x43abe1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x43abdb
cmp edx, 0x100
jae case.0x43a90b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x43a90b.13
mov esi, dword [esi]
test esi, esi
je 0x43cc78
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x438864
cmp edx, 0x100
jae 0x43abe1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x43a90b.13
mov esi, dword [esi]
test esi, esi
je 0x43cc78
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x438864
mov esi, dword [esi]
test esi, esi
je case.default.0x438874
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x438864
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43ac3c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x43ac30
cmp dword [esi + 0x7c], 0x11
jne 0x43ac58
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43ac58
cmp byte [eax], 0xa
jne 0x43ac58
dec eax
cmp byte [eax], 0xd
jne 0x43ac58
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cb16
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cb0c
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43acbe
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43acde
cmp dword [ebp + 0x88], 0
je 0x4395e3
cmp eax, dword [ebp + 0x84]
jmp 0x43b439
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x43ad1d
cmp ecx, 0xc0
jb 0x43ad1d
test cl, 0x20
jne 0x43acf9
inc eax
jmp 0x43ad1a
test cl, 0x10
jne 0x43ad03
add eax, 2
jmp 0x43ad1a
test cl, 8
jne 0x43ad0d
add eax, 3
jmp 0x43ad1a
test cl, 4
jne 0x43ad17
add eax, 4
jmp 0x43ad1a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x43ad34
mov esi, dword [esi]
test esi, esi
je 0x43cc78
xor edi, edi
jmp 0x438864
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43ad63
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x439135
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x43c94d
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43ad97
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43ae91
cmp ebx, 0xc0
jb 0x43ae91
test bl, 0x20
jne 0x43add9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43ae8e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43ae03
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43ae91
mov edx, dword [esi + 8]
test bl, 8
jne 0x43ae29
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 0x43ae8c
test bl, 4
jne 0x43ae58
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 0x43ae8c
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43aeb3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
cmp eax, 9
je 0x43aed8
cmp eax, 5
je 0x43aed8
cmp eax, 8
je 0x43aed8
xor eax, eax
jmp 0x43aedd
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x42fdfb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cb2f
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cb25
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43af46
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43b03c
cmp ebx, 0xc0
jb 0x43b03c
test bl, 0x20
jne 0x43af88
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43b039
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43afb0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x43b03c
mov edx, dword [esi + 8]
test bl, 8
jne 0x43afd6
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 0x43b039
test bl, 4
jne 0x43b005
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 0x43b039
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43b05e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x42fdfb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cb48
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cb3e
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43b0e8
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43b1de
cmp ebx, 0xc0
jb 0x43b1de
test bl, 0x20
jne 0x43b12a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43b1db
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43b152
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x43b1de
mov edx, dword [esi + 8]
test bl, 8
jne 0x43b178
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 0x43b1db
test bl, 4
jne 0x43b1a7
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 0x43b1db
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43b200
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x42fdfb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cb61
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cb57
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43b283
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43b379
cmp ebx, 0xc0
jb 0x43b379
test bl, 0x20
jne 0x43b2c5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43b376
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43b2ed
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x43b379
mov edx, dword [esi + 8]
test bl, 8
jne 0x43b313
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 0x43b376
test bl, 4
jne 0x43b342
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 0x43b376
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43b39b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x42fdfb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cb7a
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cb70
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43b41e
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43b467
cmp dword [ebp + 0x88], 0
je 0x4395e3
cmp edi, dword [ebp + 0x84]
jbe 0x4395e3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4395e3
mov esi, dword [esi]
test esi, esi
je 0x43cc9c
mov edi, 0xfffffff4
jmp 0x438864
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43b555
cmp ebx, 0xc0
jb 0x43b555
test bl, 0x20
jne 0x43b49d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43b552
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43b4c7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43b555
mov edx, dword [esi + 8]
test bl, 8
jne 0x43b4ed
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 0x43b550
test bl, 4
jne 0x43b51c
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 0x43b550
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43b577
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43b708
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x43b6a7
cmp ebx, 0xc0
jb 0x43b6a7
test bl, 0x20
jne 0x43b5db
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x43b69f
test bl, 0x10
jne 0x43b600
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 0x43b69f
test bl, 8
jne 0x43b631
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 0x43b69f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x43b66b
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 0x43b69f
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43b6c9
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx ecx, byte [eax*8 + 0x4a02ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a0150], eax
je 0x43b708
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x43b5a0
cmp dword [ebp + 0x88], 0
je 0x43b735
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43b735
cmp eax, dword [ebp + 0x84]
jbe 0x43b735
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x42ff66
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cb93
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cb89
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x43b79c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43b79c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x43b790
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x42ef80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cbac
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cba2
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x43b7f7
movzx ebx, byte [ecx]
jmp 0x43b8e5
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43b80c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x43b800
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x43b8e5
test bl, 0x20
jne 0x43b82f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x43b8dd
test bl, 0x10
jne 0x43b84f
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 0x43b8dd
test bl, 8
jne 0x43b878
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 0x43b8dd
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x43b8ad
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 0x43b8dd
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43b907
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02ca]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x42ef80
dec edi
cmp dword [esp + 0x8c], 0
jne 0x43b93f
movzx ebx, byte [edi]
jmp 0x43b9fe
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x43b951
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x43b947
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x43b9fe
test bl, 0x20
jne 0x43b971
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x43b9f6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x43b98e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x43b9f6
and eax, 0x3f
test bl, 8
jne 0x43b9a9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x43b9f6
test bl, 4
jne 0x43b9cd
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 0x43b9f6
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43ba20
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx edx, byte [eax*8 + 0x4a02ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a0150], eax
je 0x437656
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x43b920
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43ba81
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43bb7b
cmp ebx, 0xc0
jb 0x43bb7b
test bl, 0x20
jne 0x43bac3
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43bb78
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43baed
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43bb7b
mov edx, dword [esi + 8]
test bl, 8
jne 0x43bb13
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 0x43bb76
test bl, 4
jne 0x43bb42
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 0x43bb76
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 + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43bb9d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x43bbc4
cmp eax, 3
je 0x43bbc4
xor eax, eax
jmp 0x43bbc9
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x42fdfb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cbde
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cbd4
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43bc32
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43bd33
cmp ebx, 0xc0
jb 0x43bd33
test bl, 0x20
jne 0x43bc74
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43bd30
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43bc9e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43bd33
mov edx, dword [esi + 8]
test bl, 8
jne 0x43bcc4
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 0x43bd27
test bl, 4
jne 0x43bcf3
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 0x43bd27
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 0x43bd5e
cmp ebx, 0x40
je 0x43bd5e
cmp ebx, 0x60
je 0x43bd5e
cmp ebx, 0xa0
jb 0x43bd52
cmp ebx, 0xd7ff
jbe 0x43bd5e
cmp ebx, 0xe000
jae 0x43bd5e
xor eax, eax
jmp 0x43bd63
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x430742
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cbf7
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cbed
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43bdcc
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43becd
cmp ebx, 0xc0
jb 0x43becd
test bl, 0x20
jne 0x43be0e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43beca
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43be38
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43becd
mov edx, dword [esi + 8]
test bl, 8
jne 0x43be5e
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 0x43bec1
test bl, 4
jne 0x43be8d
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 0x43bec1
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 0x43bf10
je case.0x43bf30.8192
cmp ebx, 0x85
ja 0x43befc
je case.0x43bf30.8192
cmp ebx, 9
jb case.0x43bf30.8203
cmp ebx, 0xd
jbe case.0x43bf30.8192
cmp ebx, 0x20
jmp 0x43bf45
cmp ebx, 0xa0
je case.0x43bf30.8192
cmp ebx, 0x1680
jmp 0x43bf45
cmp ebx, 0x202f
ja 0x43bf37
je case.0x43bf30.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x43bf30.8203
movzx eax, byte [eax + 0x43d46c]
jmp dword [eax*4 + 0x43d464]
cmp ebx, 0x205f
je case.0x43bf30.8192
cmp ebx, 0x3000
je case.0x43bf30.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4a1948]
shl eax, 7
and ebx, 0x8000007f
jns 0x43bf69
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
cmp dword [eax*4 + 0x4a00d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x43bf9c
jmp 0x42fdfb
cmp dword [esi + 0x68], 0
jne 0x430742
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cc10
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cc06
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43bffc
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43c0f2
cmp ebx, 0xc0
jb 0x43c0f2
test bl, 0x20
jne 0x43c03e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43c0ef
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43c066
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x43c0f2
mov edx, dword [esi + 8]
test bl, 8
jne 0x43c08c
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 0x43c0ef
test bl, 4
jne 0x43c0bb
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 0x43c0ef
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 + 0x4a1948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x43c115
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a3b48]
movzx eax, byte [eax*8 + 0x4a02c9]
mov eax, dword [eax*4 + 0x4a00d8]
cmp eax, 1
je 0x43c141
cmp eax, 3
je 0x43c141
cmp ebx, 0x5f
je 0x43c141
xor eax, eax
jmp 0x43c146
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x42fdfb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cc29
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cc1f
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
test edi, edi
jne case.0x438874.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x43c1af
mov esi, dword [esi]
test esi, esi
je 0x43cc78
jmp 0x438864
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43b426
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x43c2ac
cmp ebx, 0xc0
jb 0x43c2ac
test bl, 0x20
jne 0x43c1f1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43c2a9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43c219
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x43c2ac
mov edx, dword [esi + 8]
test bl, 8
jne 0x43c23f
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 0x43c2a2
test bl, 4
jne 0x43c26e
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 0x43c2a2
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 + 0x4a0188]
lea eax, [eax*4 + 0x4a0188]
cmp ebx, ecx
jb 0x43c2ce
lea eax, [eax + 4]
cmp ebx, ecx
je 0x43c313
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x43c2c1
cmp dword [esi + 0x68], 0
je 0x430742
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43cc42
push 0x134
call dword [0x628850]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x43cc38
mov esi, dword [esi]
test esi, esi
je 0x43cc6b
lea edi, [eax - 6]
jmp 0x438859
cmp dword [esi + 0x68], 0
je 0x43c2d8
jmp 0x430742
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 0x43c321
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x42effa
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x43c363
push ecx
call dword [0x62884c]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x42effa
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43a159
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x439f65
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43a2fb
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x43a500
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43a6c9
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x43ad3a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43aeec
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43b08e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43b229
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43b3c4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43bbd8
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43bfa2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43c155
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43c2de
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43bd72
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x43a9ed
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x43b73b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x42ef80
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 + 0x49ffc0]
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 0x42ef70
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 0x43c766
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 0x43c766
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x43c4bf
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 0x43c766
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x43c4bf
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 0x43c766
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x43c4bf
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 0x42ef70
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 0x43c956
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 0x43c956
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 0x43c956
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 0x43c956
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 0x43c956
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 0x43c766
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 0x43c766
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x43c717
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 0x42ef70
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 + 0x49ffc0]
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 0x42ef70
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 0x43c956
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 0x43c956
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 0x43c956
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x43c94d
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 0x42ef70
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 0x43c766
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 0x43c766
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 0x43c956
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 0x43c956
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 0x43c956
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x43c94d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x43c94d
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