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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x8c
push ebx
push ebp
mov ebp, dword [esp + 0xa8]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0xac]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0xb8]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov edi, edi
mov edx, dword [ebp]
mov ebx, dword [ebp + 0x4c]
mov dword [esp + 0x28], ebx
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, dword [ebp + 4]
jb 0x49d28b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aab32
mov edi, 0xfffffff8
jmp 0x4a6e3c
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x49d2a9
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aab42
mov edi, 0xffffffeb
jmp 0x4a6e3c
cmp dword [ebp + 0x98], 2
jne 0x49d2d3
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
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], ebx
mov cl, byte [eax]
movzx eax, cl
mov dword [esi + 0x9c], eax
cmp cl, 0xa1
ja case.0x49d2ff.98
movzx eax, byte [eax + 0x4aad7c]
jmp dword [eax*4 + 0x4aac30]
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 0x49d33d
push 0x134
call dword [0xd8e760]
mov edi, eax
add esp, 4
test edi, edi
je 0x4aa8f3
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 edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x55a438]
add eax, edx
add ecx, eax
mov dword [edi + 0xc], ecx
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 0x49d250
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d3ac
push 0x134
call dword [0xd8e760]
mov edx, eax
add esp, 4
test edx, edx
je 0x4aa8f3
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 0x4a7533
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d3e9
push 0x134
call dword [0xd8e760]
mov edx, eax
add esp, 4
test edx, edx
je 0x4aa8f3
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 0x4a7533
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 0x49d438
push 0x134
call dword [0xd8e760]
mov edi, eax
add esp, 4
test edi, edi
je 0x4aa8f3
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x49d347
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d46c
push 0x134
call dword [0xd8e760]
mov edx, eax
add esp, 4
test edx, edx
je 0x4aa8f3
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 0x4a7533
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x49d4ad
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x55a438]
add eax, edx
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x49d2d3
mov edi, dword [esi + 4]
test edi, edi
jne 0x49d4d2
push 0x134
call dword [0xd8e760]
mov edi, eax
add esp, 4
test edi, edi
je 0x4aa8f3
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x49d347
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d506
push 0x134
call dword [0xd8e760]
mov edx, eax
add esp, 4
test edx, edx
je 0x4aa8f3
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 0x4a7533
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 0x49d555
push 0x134
call dword [0xd8e760]
mov edi, eax
add esp, 4
test edi, edi
je 0x4aa8f3
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x49d347
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 0x4a83f4
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.0x49d2ff.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 0x4a6ed4
mov dword [esi + 0x54], ebx
jmp 0x49ddef
mov dword [esi + 0x54], ebx
jmp 0x49de13
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
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0xc], eax
cmp byte [eax], 0x76
jne 0x49d723
mov edi, dword [0xd91278]
test edi, edi
je 0x49d70f
mov dword [esp + 0x34], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x40], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x4c], 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 + 0x5c], 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 + 0x60], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
mov dword [esp + 0x54], eax
jne 0x49d6d4
mov dword [esp + 0x54], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x34]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x4a906c
jns 0x49d70f
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a6f71
jmp 0x4a6e38
movzx eax, byte [0x55a4ae]
add dword [esi + 0xc], eax
movzx eax, byte [0x55a4ae]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ebx, dword [esi + 0xc]
movzx ecx, byte [ebx]
mov dword [esp + 0x2c], ecx
lea eax, [ecx - 0x8d]
cmp eax, 0x10
ja case.0x49d746.146
movzx eax, byte [eax + 0x4aae38]
jmp dword [eax*4 + 0x4aae20]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x49d746.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x49d82d
cmp ecx, dword [edx + 4]
je 0x49d82d
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x4a719b
movzx ecx, byte [ecx + 0x55a438]
jmp 0x4a719e
cmp dword [ebp + 0xa4], 0
je case.0x49d746.145
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 1]
shl edi, 8
or edi, eax
shl ecx, 8
movzx eax, byte [ebx + 2]
or ecx, eax
mov eax, dword [ebp + 0x30]
imul ecx, dword [ebp + 0x24]
add eax, ecx
test edi, edi
je 0x49d77e
mov ebx, eax
lea ebx, [ebx]
movzx edx, byte [eax + 1]
dec edi
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
mov ecx, dword [eax + 4]
xor eax, eax
cmp edx, ecx
sete al
mov dword [esi + 0x58], eax
je 0x49d77e
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x49d7d0
jmp 0x49d77e
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x49d779
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x49d779
mov eax, 1
jmp 0x49d77b
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ebx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
je case.0x49d746.145
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 0x49d88a
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x49d88a
mov eax, 1
jmp 0x49d88c
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x49d77e
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x49d860
jmp 0x49d77e
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d8d6
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
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]
jmp 0x4a7400
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 0x49d943
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x49d2d3
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 edx, dword [esi + 0x98]
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jl 0x49d93a
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x49d993
mov eax, ecx
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x49d984
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x49d2d3
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x49d9de
cmp cl, 0x9f
je 0x49d9de
cmp dword [ebp + 0xa4], ebx
jne 0x49d9de
cmp dword [ebp + 0x5c], ebx
jne case.default.0x4a906c
cmp dword [ebp + 0x60], ebx
je 0x49d9de
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x4a906c
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 eax, dword [esi]
neg edi
mov esi, eax
sbb edi, edi
and edi, 0xfffffc18
inc edi
test eax, eax
je 0x4a6f71
jmp 0x4a6e38
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49da39
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4a727b
mov dword [esi + 0x58], ebx
jmp 0x4a727b
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49da65
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4a73c1
mov dword [esi + 0x58], ebx
jmp 0x4a73c1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x49dab2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x49dad0
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x4a7d3f.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49daac
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49daa0
test edx, edx
jg 0x49da87
jmp 0x49dad0
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x74]
jb case.0x4a7d3f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x49d93a
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x49d2d3
mov edi, dword [0xd91278]
test edi, edi
je 0x49dbd8
mov dword [esp + 0x68], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x74], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x80], 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 + 0x90], 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 + 0x94], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
mov dword [esp + 0x88], eax
jne 0x49db97
mov dword [esp + 0x88], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x68]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x4a906c
jns 0x49dbd8
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a6f71
jmp 0x4a6e38
add dword [esi + 0xc], 6
jmp 0x49d2d3
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 0x49dc02
xor edx, edx
jmp 0x49dc0f
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 0x49dc35
lea esp, [esp]
cmp edx, dword [ecx + 4]
jne 0x49dc2d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x49dc72
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x49dc20
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 0x49dc88
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x49dca0
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aab52
mov edi, 0xffffffe6
jmp 0x4a6e38
shl eax, 2
push eax
call dword [0xd8e758]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x4aa8f3
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.004abb90
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x4a74e7
mov edx, dword [esi + 0xc]
lea esp, [esp]
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 0x49dcd0
jmp 0x49d2d3
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49dd18
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
jmp 0x49dd40
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x49dd40
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49dd7e
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
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 eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x49dda0
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x49d2d3
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x49ddef
cmp eax, 0x8b
jne 0x49de13
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 0x49de30
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 0x4a7feb
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 0x49dead
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x49ded6
push 0x134
call dword [0xd8e760]
mov edx, eax
add esp, 4
test edx, edx
je 0x4aa8f3
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 0x4a7533
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 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 0x49df12
cmp al, 0x81
je 0x49df12
mov dword [esi + 0x38], ebx
jmp 0x49df23
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 0x49df30
cmp al, 0x80
jbe 0x49df34
cmp al, 0x82
jne 0x49df51
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
jmp 0x4a7391
cmp al, 0x85
je 0x49df65
cmp al, 0x8a
je 0x49df65
cmp al, 0x86
je 0x49df65
cmp al, 0x8b
jne 0x49e03b
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 0x49dfaa
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x49dfaa
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x4a7391
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 0x49dfd9
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x49e03b
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x49dfff
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x49dfff
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x49dff0
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 0x49e03b
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x49e073
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 eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aab62
mov edi, 0xfffffc1a
jmp 0x4a6e38
cmp cl, 0x78
je 0x49e103
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x49e103
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x49e0c9
test ecx, ecx
jne 0x49e0ae
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
test ecx, ecx
jne 0x49e0eb
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x49fa42
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49e134
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
cmp dword [ebp + 0x44], ebx
je case.0x49d2ff.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4a906c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x49f206.10
jmp case.default.0x4a906c
cmp dword [ebp + 0x44], ebx
je 0x49e182
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4a906c
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x49f206.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x4a906c
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x49e1cd
cmp ecx, edi
jbe 0x49e1c2
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.00508540
add esp, 0x14
test eax, eax
je 0x49e1c2
mov eax, 1
jmp 0x49e1c4
xor eax, eax
test eax, eax
jne case.0x49f206.10
jmp case.default.0x4a906c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x4a906c
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x4a906c
cmp edx, 1
je case.0x49f206.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x49f206.10
jmp case.default.0x4a906c
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x49f206.10
jmp case.default.0x4a906c
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x49d2d3
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x49e2c4
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x49e252
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.005083b0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x49f206.10
jmp 0x49e273
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x49e26f
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x49e26f
cmp edi, 1
je case.0x49f206.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x49f206.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a7d3f.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x4a7d3f.14
cmp dword [ebp + 0x18], 0
jne case.0x4a7d3f.14
cmp dword [ebp + 0x1c], 2
jne case.0x4a7d3f.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x4a7d3f.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4aa955
jmp case.0x4a7d3f.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x4a906c
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x49f206.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x49f206.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x49f206.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aabf2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a6e3c
cmp dword [ebp + 0x48], ebx
jne case.default.0x4a906c
cmp dword [ebp + 0x58], ebx
je case.0x49d2ff.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49f212
jmp case.default.0x4a906c
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x49e2cd
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x49e35e
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005083b0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x49e38c
jmp 0x49e37b
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x49e38c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x49e38c
cmp edi, 1
je 0x49e37b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x49e38c
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x49e2cd
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4a906c
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4a906c
cmp dword [ebp + 0x18], ebx
jne case.default.0x4a906c
cmp dword [ebp + 0x1c], 2
jne case.default.0x4a906c
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x4a906c
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x4a906c
jmp 0x49e2f7
cmp dword [esp + 0x28], ebx
je 0x49e698
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x49e3f6
mov dword [esi + 0x5c], ebx
jmp 0x49e525
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x49e40e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x49e402
cmp ecx, dword [ebp + 0x84]
jae 0x49e41c
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x49e4d3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x49e44a
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x49e4cb
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x49e45d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x49e4c5
and eax, 0x3f
test bl, 8
jne 0x49e478
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x49e4c5
test bl, 4
jne 0x49e49c
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 0x49e4c5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp dword [ebp + 0x54], 0
mov edx, ebx
je 0x49e55b
cmp edx, 0x5f
jne 0x49e4ed
mov dword [esi + 0x5c], 1
jmp 0x49e525
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x55c200]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x49e56c
cmp eax, 3
je 0x49e56c
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49e573
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x49e54f
cmp edi, dword [ebp + 0x84]
jbe 0x49e54f
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e2f7
mov dword [esi + 0x54], 0
jmp 0x49e7b3
cmp edi, 0x100
jae 0x49e520
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x49e520
mov eax, 1
jmp 0x49e522
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x49e62a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x49e5a1
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x49e622
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x49e5b4
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x49e61c
and eax, 0x3f
test dl, 8
jne 0x49e5cf
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x49e61c
test dl, 4
jne 0x49e5f3
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x49e61c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp dword [ebp + 0x54], 0
mov edi, edx
je 0x49e67d
cmp edi, 0x5f
jne 0x49e643
mov dword [esi + 0x54], 1
jmp 0x49e7b3
shr eax, 7
movzx eax, byte [eax + 0x55c200]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x49e68e
cmp eax, 3
je 0x49e68e
xor eax, eax
jmp 0x49e7b0
cmp ebx, 0x100
jae 0x49e676
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x49e676
mov eax, 1
jmp 0x49e7b0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x49e6a8
mov dword [esi + 0x5c], ebx
jmp 0x49e732
cmp eax, dword [ebp + 0x84]
ja 0x49e6b7
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x49e722
cmp ecx, 0x5f
jne 0x49e6d1
mov dword [esi + 0x5c], 1
jmp 0x49e732
mov eax, ecx
test eax, eax
jns 0x49e6da
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55c200]
shl eax, 7
and ecx, 0x8000007f
jns 0x49e6f4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x49e71b
cmp eax, 3
je 0x49e71b
xor eax, eax
jmp 0x49e72f
mov eax, 1
jmp 0x49e72f
mov eax, dword [ebp + 0x40]
movzx eax, byte [ecx + eax]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x49e761
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x49e75c
cmp eax, dword [ebp + 0x84]
jbe 0x49e75c
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x49e2f7
mov dword [esi + 0x54], ebx
jmp 0x49e7b3
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x49e7a3
cmp ecx, 0x5f
jne 0x49e777
mov dword [esi + 0x54], 1
jmp 0x49e7b3
mov eax, ecx
test eax, eax
jns 0x49e780
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55c200]
shl eax, 7
and ecx, 0x8000007f
jns 0x49e653
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x49e653
mov eax, 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 0x49e7ce
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x49e7d6
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x49d2d3
jmp case.default.0x4a906c
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x49e81d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x49e812
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.005083b0
add esp, 0x14
test eax, eax
je 0x49e812
mov eax, 1
jmp 0x49e814
xor eax, eax
test eax, eax
je 0x49e848
jmp case.default.0x4a906c
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x49e848
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x49e848
cmp edx, 1
je case.default.0x4a906c
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4a906c
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x49d2ff.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x49d2ff.13
cmp dword [ebp + 0x18], ebx
jne case.0x49d2ff.13
cmp dword [ebp + 0x1c], 2
jne case.0x49d2ff.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x49d2ff.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x49e2f7
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x49e8b6
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x4a906c
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4a906c
jmp 0x49e2f7
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x49f206.10
cmp ecx, dword [ebp + 0x78]
jae case.0x49f206.10
lea ecx, [ecx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x49f206.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x49e8d0
inc dword [esi + 0xc]
jmp 0x49d2d3
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x49e914
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4a906c
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4a906c
jmp 0x49e3c7
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x49d2d3
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49e941
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x84]
jmp 0x49e89b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x49ea2b
cmp edx, 0xc0
jb 0x49ea2b
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x49e97f
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x49ea26
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x49e9a0
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x49ea26
test dl, 8
jne 0x49e9c3
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 0x49ea26
test dl, 4
jne 0x49e9f2
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 0x49ea26
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, edx
cmp eax, 0x100
jae case.0x49f206.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x49f206.10
jmp case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x49ea69
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edx, dword [ebp + 0x84]
jmp 0x49e89b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x49eb66
cmp ecx, 0xc0
jb 0x49eb66
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x49eaa5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x49eb61
test cl, 0x10
jne 0x49eac6
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 0x49eb61
test cl, 8
jne 0x49eaf0
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 0x49eb61
test cl, 4
jne 0x49eb26
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 0x49eb61
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
mov eax, ecx
cmp eax, 0xff
ja case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x49f206.10
jmp case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49eba4
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x84]
jmp 0x49e89b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x49ecac
cmp edx, 0xc0
jb 0x49ecac
test dl, 0x20
jne 0x49ebe0
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x49eca7
test dl, 0x10
jne 0x49ec07
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x49eca7
test dl, 8
jne 0x49ec37
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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 0x49eca7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x49ec73
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 0x49eca7
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, edx
cmp eax, 0x100
jae case.0x49f206.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x49f206.10
jmp case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x49ecea
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edx, dword [ebp + 0x84]
jmp 0x49e89b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x49ede7
cmp ecx, 0xc0
jb 0x49ede7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x49ed26
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x49ede2
test cl, 0x10
jne 0x49ed47
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 0x49ede2
test cl, 8
jne 0x49ed71
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 0x49ede2
test cl, 4
jne 0x49eda7
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 0x49ede2
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
mov eax, ecx
cmp eax, 0xff
ja case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x49f206.10
jmp case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49ee25
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x84]
jmp 0x49e89b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x49ef2d
cmp edx, 0xc0
jb 0x49ef2d
test dl, 0x20
jne 0x49ee61
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x49ef28
test dl, 0x10
jne 0x49ee88
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x49ef28
test dl, 8
jne 0x49eeb8
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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 0x49ef28
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x49eef4
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 0x49ef28
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, edx
cmp eax, 0x100
jae case.0x49f206.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x49f206.10
jmp case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x49ef6b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edx, dword [ebp + 0x84]
jmp 0x49e89b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x49f068
cmp ecx, 0xc0
jb 0x49f068
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x49efa7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x49f063
test cl, 0x10
jne 0x49efc8
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 0x49f063
test cl, 8
jne 0x49eff2
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 0x49f063
test cl, 4
jne 0x49f028
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 0x49f063
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
mov eax, ecx
cmp eax, 0xff
ja case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x49f206.10
jmp case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49f0a6
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x84]
jmp 0x49e89b
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edi
mov dword [esi + 8], edi
mov ebx, edx
mov ecx, edx
mov dword [esp + 0x20], edi
je 0x49f1e6
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x49f1e6
test dl, 0x20
jne 0x49f0f6
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x49f1ea
test dl, 0x10
jne 0x49f126
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x49f1ea
test dl, 8
jne 0x49f162
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x49f1ea
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x49f1a7
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]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x49f1ea
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 ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x49f1ea
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x49f249
cmp ecx, 0x85
je case.0x49f206.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4a906c
jmp dword [edx*4 + 0x4aae4c]
cmp edi, dword [ebp + 0x78]
jb 0x49f234
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x49f206.10
cmp eax, dword [ebp + 0x84]
jbe case.0x49f206.10
cmp ecx, 1
jmp 0x49e2ea
cmp byte [eax], 0xa
jne case.0x49f206.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x49d2d3
sub edx, 0x2028
je case.0x49f206.11
sub edx, 1
jne case.default.0x4a906c
cmp dword [ebp + 0x68], 0
je case.0x49f206.10
jmp case.default.0x4a906c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49f28a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x84]
jmp 0x49e89b
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ebx, edx
mov dword [esi + 8], edi
mov eax, edx
mov dword [esp + 0x20], edx
mov ecx, edx
je 0x49f3a5
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x49f3a5
test dl, 0x20
jne 0x49f2d1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x49f398
test dl, 0x10
jne 0x49f2f8
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x49f398
test dl, 8
jne 0x49f328
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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 0x49f398
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x49f364
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 0x49f398
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 ebx, edx
mov dword [esp + 0x20], edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x20], 0x2000
mov edi, edx
ja 0x49f40b
cmp edx, 0x2000
je case.default.0x4a906c
cmp edx, 0xa0
ja 0x49f3eb
cmp ebx, 0xa0
je case.default.0x4a906c
cmp edx, 9
je case.default.0x4a906c
cmp edx, 0x20
je case.default.0x4a906c
inc dword [esi + 0xc]
jmp 0x49d2d3
cmp edi, 0x1680
je case.default.0x4a906c
cmp edx, 0x180e
je case.default.0x4a906c
inc dword [esi + 0xc]
jmp 0x49d2d3
cmp eax, 0x3000
ja case.0x49f206.10
cmp ecx, 0x3000
je case.default.0x4a906c
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x49f206.10
movzx eax, byte [edx + 0x4aae64]
jmp dword [eax*4 + 0x4aae5c]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x49f460
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edx, dword [ebp + 0x84]
jmp 0x49e89b
movzx ecx, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ebx, ecx
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x20], ecx
mov edi, ecx
je 0x49f570
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x49f570
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x49f4a7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x49f563
test cl, 0x10
jne 0x49f4c8
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 0x49f563
test cl, 8
jne 0x49f4f2
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 0x49f563
test cl, 4
jne 0x49f528
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 0x49f563
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
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x20], 0x2000
mov edx, ecx
ja 0x49f5d0
cmp ecx, 0x2000
je case.0x49f206.10
cmp ecx, 0xa0
ja 0x49f5b3
cmp ebx, 0xa0
je case.0x49f206.10
cmp ecx, 9
je case.0x49f206.10
cmp ecx, 0x20
je case.0x49f206.10
jmp case.default.0x4a906c
cmp edx, 0x1680
je case.0x49f206.10
cmp ecx, 0x180e
je case.0x49f206.10
jmp case.default.0x4a906c
cmp eax, 0x3000
ja case.default.0x4a906c
cmp edi, 0x3000
je case.0x49f206.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4a906c
movzx eax, byte [ecx + 0x4aaecc]
jmp dword [eax*4 + 0x4aaec4]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49f625
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x84]
jmp 0x49e89b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x49f73d
cmp edx, 0xc0
jb 0x49f73d
test dl, 0x20
jne 0x49f665
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x49f736
test dl, 0x10
jne 0x49f68c
movzx ecx, byte [edi]
and edx, 0xf
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x49f736
test dl, 8
jne 0x49f6bf
movzx ecx, byte [edi]
and edx, 7
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
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 0x49f736
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x49f6fb
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 [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 0x49f736
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 [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 ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x49f763
cmp eax, 0x85
je case.0x4a7d3f.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x49f206.10
jmp dword [edx*4 + 0x4aaf2c]
sub edx, 0x2028
je case.0x4a7d3f.14
sub edx, 1
jne case.0x49f206.10
jmp case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49f79e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x84]
jmp 0x49e89b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x49f890
cmp edx, 0xc0
jb 0x49f890
test dl, 0x20
jne 0x49f7dc
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x49f889
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49f803
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x49f889
test dl, 8
jne 0x49f826
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 0x49f889
test dl, 4
jne 0x49f855
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 0x49f889
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 ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x49f8b6
cmp eax, 0x85
je case.0x49f206.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4a7d3f.14
jmp dword [edx*4 + 0x4aaf3c]
sub edx, 0x2028
je case.0x49f206.10
sub edx, 1
je case.0x49f206.10
jmp case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49f8f1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x84]
jmp 0x49e89b
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov ebx, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
je 0x49fa04
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x49fa04
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x49f94a
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x49f9f1
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x49f96b
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x49f9f1
test dl, 8
jne 0x49f98e
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 0x49f9f1
test dl, 4
jne 0x49f9bd
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 0x49f9f1
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 ecx, edx
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ecx
mov edi, dword [esi + 0xc]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x55c200]
movzx ecx, byte [edi + 1]
shl eax, 7
add eax, ebx
movzx ebx, word [eax*2 + 0x55e400]
cmp ecx, 0xa
ja case.0x4a8fea.15
jmp dword [ecx*4 + 0x4aaf4c]
cmp dword [esi + 0x9c], 0xf
je case.default.0x4a906c
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x49d2d3
mov al, byte [ebx*8 + 0x55ab81]
cmp al, 9
je 0x49fa64
cmp al, 5
je 0x49fa64
cmp al, 8
je 0x49fa64
xor ecx, ecx
jmp 0x49fa69
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x49fa42
jmp case.default.0x4a906c
movzx ecx, byte [ebx*8 + 0x55ab81]
xor edx, edx
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x55a550]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x49fa42
jmp case.default.0x4a906c
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x55ab81]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x49fa42
jmp case.default.0x4a906c
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x55ab80]
jmp 0x49fab7
movzx eax, byte [ebx*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x49fa64
cmp eax, 3
je 0x49fa64
xor ecx, ecx
jmp 0x49fa69
cmp edx, 0x20
ja 0x49fb23
je case.0x49fa2e.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x49fb9f.8203
jmp dword [edx*4 + 0x4aaf78]
cmp edx, 0x2000
ja 0x49fb7f
je case.0x49fa2e.0
cmp edx, 0x1680
ja 0x49fb77
je case.0x49fa2e.0
sub edx, 0x85
je case.0x49fa2e.0
sub edx, 0x1b
je case.0x49fa2e.0
movzx eax, byte [ebx*8 + 0x55ab81]
xor ecx, ecx
cmp dword [eax*4 + 0x55a550], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x49fac3
cmp edx, 0x180e
jmp 0x49fb4e
cmp edx, 0x3000
ja case.0x49fb9f.8203
je case.0x49fa2e.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x49fb9f.8203
movzx eax, byte [edx + 0x4aaf94]
jmp dword [eax*4 + 0x4aaf8c]
movzx eax, byte [ebx*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x49fa64
cmp eax, 3
je 0x49fa64
cmp edx, 0x5f
je 0x49fa64
xor ecx, ecx
jmp 0x49fa69
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x55aa40]
cmp ecx, dword [eax]
jb 0x49fbfd
mov ecx, dword [eax]
lea esp, [esp]
lea eax, [eax + 4]
cmp edx, ecx
je 0x49fc0f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x49fbf0
cmp dword [esi + 0x9c], 0x10
jne 0x49fa42
jmp case.default.0x4a906c
cmp dword [esi + 0x9c], 0x10
je 0x49fa42
jmp case.default.0x4a906c
cmp dword [esp + 0x24], 0x24
je 0x49fa64
cmp dword [esp + 0x1c], 0x40
je 0x49fa64
cmp edx, 0x60
je 0x49fa64
cmp edx, 0xa0
jb 0x49fc54
cmp edx, 0xd7ff
jbe 0x49fa64
cmp edx, 0xe000
jae 0x49fa64
xor ecx, ecx
jmp 0x49fa69
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x49fc88
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edx, dword [ebp + 0x84]
jmp 0x49e89b
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x14], edx
je 0x49fd75
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x49fd75
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x49fccb
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x49fd6a
test al, 0x10
jne 0x49fce3
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x49fd64
test al, 8
jne 0x49fd04
and eax, 7
lea edi, [edx + 3]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x49fd64
test al, 4
jne 0x49fd31
and eax, 3
lea edi, [edx + 4]
shl eax, 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]
jmp 0x49fd64
and eax, 1
lea edi, [edx + 5]
shl eax, 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]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x14], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab82]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x14], edx
jae 0x49fee2
mov dword [esp + 0x14], edx
lea esp, [esp]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x49fe89
cmp edx, 0xc0
jb 0x49fe89
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x49fdf1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x49fe85
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x49fe09
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x49fe7f
and eax, 0x3f
test dl, 8
jne 0x49fe29
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x49fe7f
test dl, 4
jne 0x49fe52
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 0x49fe7f
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x55c200]
mov edx, dword [esp + 0x14]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx ecx, byte [eax*8 + 0x55ab82]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x55a5c8], eax
mov ebp, dword [esp + 0xb0]
je 0x49fee2
add edi, ebx
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x14], edx
cmp edi, edx
jb 0x49fdb0
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x49f206.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x49f206.10
jmp 0x49f220
mov edx, dword [esi + 0xc]
xor eax, eax
cmp cl, 0x74
sete al
movzx ebx, byte [edx + 3]
movzx edi, byte [edx + 1]
mov dword [esp + 0x30], eax
movzx eax, byte [edx + 4]
shl ebx, 8
or ebx, eax
shl edi, 8
movzx eax, byte [edx + 2]
or edi, eax
lea eax, [edx + 5]
imul edi, dword [ebp + 0x24]
add edi, 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
je 0x49fff7
mov edx, edi
mov dword [esp + 0x14], edi
mov edi, edi
movzx ecx, byte [edi]
dec ebx
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [esi + 0x14]
jge 0x49ff89
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x49ff9a
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x14], edi
mov edx, edi
test ebx, ebx
jg 0x49ff60
jmp 0x49fff7
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x49fff1
xor eax, eax
cmp cl, 0x72
sete al
mov dword [esp + 0x30], 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 eax, dword [esi + 0x98]
cmp eax, dword [esi + 0x14]
jge 0x49ffe7
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x49ffe7
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x49fff1
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
add ecx, 0xffffff9e
cmp ecx, 7
ja case.default.0x4a0012
movzx eax, byte [ecx + 0x4aaffc]
jmp dword [eax*4 + 0x4aaff4]
lea eax, [edx + 1]
mov edx, ecx
mov dword [esi + 0xc], eax
and edx, 1
movsx eax, byte [ecx + 0x553278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x553284]
mov dword [esp + 0x14], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a0097
mov dword [esi + 0x8c], closesocket
jmp 0x4a0097
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x14], 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 0x4a0093
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x49d2d3
jns 0x4a00b4
cmp dword [esi + 0x90], 0
je 0x49d2d3
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4a00f9
mov ebx, 1
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0049cec0
add esp, 0x14
test eax, eax
js 0x4a0117
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x4a00c6
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49d2d3
cmp dword [esp + 0x14], 0
je 0x4a0142
mov dword [esi + 0x84], eax
jmp 0x4a774c
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4a0126
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x78]
jb case.default.0x4a906c
jmp 0x49e895
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x4a7798
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0049cec0
add esp, 0x14
test eax, eax
js 0x4a0185
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x4a014e
cmp eax, 0xfffffffe
jne 0x4a7798
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a7798
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4a7798
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4a7798
jmp 0x49e2f7
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0049cec0
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x4a021e
cmp ecx, 0xfffffffe
jne 0x4a01f3
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4a906c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4a906c
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4a906c
jmp 0x49e3c7
add dword [esi + 8], ecx
jmp 0x49d2d3
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
lea eax, [edx + 0x21]
mov dword [esi + 0xc], eax
mov bl, byte [eax]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x4a024e
movzx eax, byte [ecx + 0x4ab00c]
jmp dword [eax*4 + 0x4ab004]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4a026b
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4a0273
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x553278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x553284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a0308
mov dword [esi + 0x8c], closesocket
jmp 0x4a0308
movzx ecx, byte [edx + 0x22]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], eax
movzx eax, byte [edx + 0x23]
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 0x4a02ee
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4a0308
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ecx, dword [esp + 0x28]
mov ebx, 1
mov dword [esp + 0x14], ebx
test ecx, ecx
je 0x4a0480
cmp dword [esi + 0x90], ebx
jl 0x4a04cb
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4a0440
test bl, 0x20
jne 0x4a0377
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4a0440
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4a03a5
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4a0440
test bl, 8
jne 0x4a03cf
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]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4a0440
test bl, 4
jne 0x4a0405
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]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4a0440
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 dword [esi + 8], eax
mov ebx, ecx
mov eax, ecx
cmp eax, 0xff
jbe 0x4a0450
cmp dword [esi + 0x9c], 0x6e
jmp 0x4a0463
mov eax, dword [esi + 0x28]
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.default.0x4a906c
mov ebx, dword [esp + 0x14]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a0330
jmp 0x4a04c7
cmp dword [esi + 0x90], ebx
jl 0x4a04cb
jmp 0x4a0490
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
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.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a0490
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49d2d3
cmp dword [esp + 0x20], 0
je 0x4a04f7
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x4a87db
jmp 0x4a7845
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4a06dc
cmp eax, dword [esi + 0x8c]
jge 0x4a06cc
jmp 0x4a0520
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a06aa
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x4a0655
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4a0575
mov eax, ebx
mov dword [esp + 0x1c], 2
and eax, 0x1f
mov ebx, ecx
shl eax, 6
or ebx, eax
mov eax, 2
mov ecx, ebx
mov edx, ebx
jmp 0x4a065a
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x4a05a4
and ebx, 0xf
mov dword [esp + 0x1c], 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, 3
mov ecx, ebx
mov edx, ebx
jmp 0x4a065a
test bl, 8
jne 0x4a05d8
and ebx, 7
mov dword [esp + 0x1c], 4
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
mov eax, 4
mov ecx, ebx
mov edx, ebx
jmp 0x4a065a
test bl, 4
jne 0x4a0615
and ebx, 3
mov dword [esp + 0x1c], 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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 5
mov ecx, ebx
mov edx, ebx
jmp 0x4a065a
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, 6
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov edx, ebx
jmp 0x4a065a
mov eax, 1
cmp edx, 0xff
jbe 0x4a066d
cmp dword [esi + 0x9c], 0x6e
je 0x4a06cc
jmp 0x4a068e
mov eax, dword [esp + 0x1c]
and ecx, 7
mov dword [esp + 0x1c], eax
mov edx, 1
mov eax, dword [esi + 0x28]
shr ebx, 3
shl edx, cl
test byte [ebx + eax], dl
je 0x4a06cc
mov eax, dword [esp + 0x1c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a0520
jmp 0x4a06cc
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a06cc
cmp edi, dword [ebp + 0x84]
jbe 0x4a06cc
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e2f7
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a8841
cmp eax, dword [esi + 0x8c]
jge 0x4a0741
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a071f
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 0x4a0741
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a06e4
jmp 0x4a0741
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a0741
cmp ebx, dword [ebp + 0x84]
jbe 0x4a0741
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e2f7
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a7888
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
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
mov bl, byte [edx]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x4a0787
movzx eax, byte [ecx + 0x4ab020]
jmp dword [eax*4 + 0x4ab018]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4a07a4
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4a07ac
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x553278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x553284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a083d
mov dword [esi + 0x8c], closesocket
jmp 0x4a083d
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], 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 0x4a0823
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4a083d
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov eax, dword [esi + 0x90]
mov ebx, 1
mov ecx, eax
cmp eax, ebx
jl 0x4a0972
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x4a0949
cmp edx, 0xc0
jb 0x4a0949
test dl, 0x20
jne 0x4a0899
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a0946
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a08c0
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a0946
test dl, 8
jne 0x4a08e3
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 0x4a0946
test dl, 4
jne 0x4a0912
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 0x4a0946
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
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.00508a20
add esp, 0xc
test eax, eax
je case.default.0x4a906c
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x4a0852
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49d2d3
cmp dword [esp + 0x20], 0
je 0x4a0990
mov dword [esi + 0x84], eax
jmp 0x4a85c1
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a0ae1
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a0abf
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x4a0a91
cmp edx, 0xc0
jb 0x4a0a91
test dl, 0x20
jne 0x4a09f1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4a0a89
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a0a13
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a0a89
and eax, 0x3f
test dl, 8
jne 0x4a0a33
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a0a89
test dl, 4
jne 0x4a0a5c
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 0x4a0a89
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
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.00508a20
add esp, 0xc
test eax, eax
je 0x4a0ae1
mov eax, dword [esp + 0x14]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a09b0
jmp 0x4a0ae1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a0ae1
cmp edi, dword [ebp + 0x84]
jbe 0x4a0ae1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e2f7
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a862c
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a0cad
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x4a0c38
test bl, 0x20
jne 0x4a0b4b
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x4a0c38
test bl, 0x10
jne 0x4a0b80
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x4a0c38
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x4a0bc1
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 0x4a0c38
test bl, 4
jne 0x4a0bfa
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 0x4a0c38
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 edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x4a0c6d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edx, edi
jb case.default.0x4a906c
cmp edx, dword [ebp + 0x84]
jmp 0x49e89b
test ecx, ecx
jle 0x4a0c9f
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.default.0x4a906c
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x4a0c71
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x49d2d3
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x4a0ce9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4a7d3f.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4aa955
jmp case.0x4a7d3f.14
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 0x4a1007
jmp case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a0d25
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp edi, dword [ebp + 0x84]
jmp 0x49e89b
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a0fe8
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x4a0e6c
test bl, 0x20
jne 0x4a0d7f
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x4a0e6c
test bl, 0x10
jne 0x4a0db4
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x4a0e6c
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x4a0df5
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 0x4a0e6c
test bl, 4
jne 0x4a0e2e
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 0x4a0e6c
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 + 8]
mov edi, dword [esi + 0x80]
movzx ecx, byte [eax]
cmp edi, 0x80
jae 0x4a0e9a
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x4a906c
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x49d2d3
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x4a0f8d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a0ec9
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a0f88
test cl, 0x10
jne 0x4a0eea
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 0x4a0f88
test cl, 8
jne 0x4a0f17
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 0x4a0f88
test cl, 4
jne 0x4a0f4d
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 0x4a0f88
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
mov edi, ecx
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edx, dword [esi + 0x80]
cmp edx, ecx
je 0x49d2d3
mov eax, edx
test eax, eax
jns 0x4a0fad
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55c200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a0fc8
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x55e400]
mov eax, dword [eax*8 + 0x55ab84]
add eax, edx
cmp edi, eax
je 0x49d2d3
jmp case.default.0x4a906c
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 case.0x4a7d3f.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x49d2d3
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 0x4a1125
mov dword [esp + 0x24], 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 0x4a106a
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x4a1072
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x4a1125
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a1125
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a1125
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a1125
mov edx, dword [esi + 0xc]
cmp cl, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x2e
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x553278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x553284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a1125
mov dword [esi + 0x8c], closesocket
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a1579
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 0x4a126e
test bl, 0x20
jne 0x4a1181
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x4a126e
test bl, 0x10
jne 0x4a11b6
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x4a126e
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x4a11f7
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 0x4a126e
test bl, 4
jne 0x4a1230
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 0x4a126e
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 0x4a158a
cmp dword [esi + 0x9c], 0x2e
jb 0x4a12e0
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x4a129c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55c200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a12b7
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x55e400]
mov ecx, dword [eax*8 + 0x55ab84]
add ecx, edx
cmp ecx, edx
je 0x4a12e0
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.005086e0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x4a12e7
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x14], 1
cmp eax, 1
jl 0x4a13f4
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 0x4a136e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4a1331
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a1336
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a1320
cmp edi, 0xfffffffc
je 0x4a1363
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a136b
cmp edi, 0xfffffffd
je 0x4a1363
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a136b
cmp edi, 0xfffffffe
je 0x4a1363
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a136b
cmp edi, 0xffffffff
je 0x4a1363
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a136b
mov eax, dword [esi + 0x88]
jmp 0x4a13d6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4a1412
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a1412
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4a13a1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a13a6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a1390
cmp edi, 0xfffffffc
je 0x4a13d3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a1412
cmp edi, 0xfffffffd
je 0x4a13d3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a1412
cmp edi, 0xfffffffe
je 0x4a13d3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a1412
cmp edi, 0xffffffff
je 0x4a13d3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a1412
mov eax, dword [esi + 0x6c]
mov edx, dword [esp + 0x14]
add eax, ebx
inc edx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], edx
cmp edx, eax
jle 0x4a1300
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49d2d3
cmp dword [esp + 0x20], 0
je 0x4a1434
mov dword [esi + 0x84], eax
jmp 0x4a8975
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4a906c
cmp ebx, dword [ebp + 0x84]
jmp 0x49e89b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a1569
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 0x4a14be
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4a1481
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a1486
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a1470
cmp edi, 0xfffffffc
je 0x4a14b3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a14bb
cmp edi, 0xfffffffd
je 0x4a14b3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a14bb
cmp edi, 0xfffffffe
je 0x4a14b3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a14bb
cmp edi, 0xffffffff
je 0x4a14b3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a14bb
mov eax, dword [esi + 0x88]
jmp 0x4a1526
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4a1542
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a1542
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4a14f1
jmp 0x4a14e0
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a14f6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a14e0
cmp edi, 0xfffffffc
je 0x4a1523
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a1542
cmp edi, 0xfffffffd
je 0x4a1523
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a1542
cmp edi, 0xfffffffe
je 0x4a1523
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a1542
cmp edi, 0xffffffff
je 0x4a1523
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a1542
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x14]
add eax, ebx
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a1450
jmp 0x4a1569
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a1569
cmp ebx, dword [ebp + 0x78]
jb 0x4a1569
cmp ebx, dword [ebp + 0x84]
jbe 0x4a1569
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e2f7
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a8a1d
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x4a158e
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x4a1688
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, edi
jl 0x4a15f4
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a77fe
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a15e3
cmp dword [esi + 0x94], ecx
jne case.0x4a7d3f.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x4a15c0
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49d2d3
cmp dword [esp + 0x20], 0
je 0x4a1612
mov dword [esi + 0x84], eax
jmp 0x4a792e
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x4a1678
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a1656
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x4a1645
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x4a1678
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a1628
jmp 0x4a1678
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a1678
cmp eax, dword [ebp + 0x84]
jbe 0x4a1678
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4aa955
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a7971
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4a16bf
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a16dd
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x4a906c
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x4a1695
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49d2d3
cmp dword [esp + 0x20], 0
je 0x4a16f6
mov dword [esi + 0x84], eax
jmp 0x4a79f6
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp ebx, dword [ebp + 0x84]
jmp 0x49e89b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a1756
lea ebx, [ebx]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a1734
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4a1756
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a1710
jmp 0x4a1756
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a1756
cmp ecx, dword [ebp + 0x84]
jbe 0x4a1756
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e2f7
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a7a39
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49e887
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x4a1a2f
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x4a1874
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4a17b5
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4a1871
test bl, 0x10
jne 0x4a17d6
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x4a1871
test bl, 8
jne 0x4a1800
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x4a1871
test bl, 4
jne 0x4a1836
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 0x4a1871
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 ecx, [eax + 1]
mov dword [esi + 8], ecx
mov edi, edx
mov dword [esp + 0x14], edx
mov eax, edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4a19b5
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x4a18c0
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4a19b9
test dl, 0x10
jne 0x4a18ee
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4a19b9
test dl, 8
jne 0x4a1928
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 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]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4a19b9
test dl, 4
jne 0x4a196b
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 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]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4a19b9
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 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
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4a19b9
mov ecx, dword [esp + 0x14]
cmp dword [esi + 0x9c], 0x1f
jne 0x4a19cf
cmp ebx, eax
jne 0x49d2d3
jmp case.default.0x4a906c
cmp ebx, 0x7f
jbe 0x4a1a0d
mov eax, ebx
test eax, eax
jns 0x4a19dd
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55c200]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a19f8
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x55e400]
mov eax, dword [eax*8 + 0x55ab84]
add eax, ebx
jmp 0x4a1a1a
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x4a906c
cmp eax, edi
jne 0x49d2d3
jmp case.default.0x4a906c
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x4a7d3f.14
cmp dword [esi + 0x9c], 0x20
jne 0x4a1007
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4a7d3f.14
add dword [esi + 0xc], 2
jmp 0x49d2d3
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 0x4a1bb1
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 0x4a1ac8
cmp al, 0x4f
je 0x4a1ac8
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4a1bb1
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4a1bb1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a1bb1
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a1bb1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a1bb1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 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 0x4a1bb1
mov edx, dword [esi + 0xc]
cmp cl, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x48
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x553278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x553284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a1bb1
mov dword [esi + 0x8c], closesocket
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x28]
inc edx
mov dword [esi + 0xc], edx
test eax, eax
je 0x4a1ce2
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x4a1ce2
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a1c03
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x4a1cde
test cl, 0x10
jne 0x4a1c2b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x4a1cde
test cl, 8
jne 0x4a1c5f
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x4a1cde
test cl, 4
jne 0x4a1c9c
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 4
jmp 0x4a1cde
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 5
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x48
jb 0x4a20c1
test eax, eax
je 0x4a1d42
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x4a1d42
mov eax, edx
test eax, eax
jns 0x4a1d07
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55c200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a1d22
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov edi, 1
movzx eax, word [ecx*2 + 0x55e400]
mov eax, dword [eax*8 + 0x55ab84]
add eax, edx
mov dword [esi + 0x94], eax
jmp 0x4a1d65
cmp dword [esp + 0x28], 0
mov edi, 1
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
je 0x4a1e98
cmp dword [esi + 0x90], 1
jl 0x4a1ed4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x4a1e71
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a1db0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a1e6c
test cl, 0x10
jne 0x4a1dd1
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 0x4a1e6c
test cl, 8
jne 0x4a1dfb
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 0x4a1e6c
test cl, 4
jne 0x4a1e31
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 0x4a1e6c
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
mov eax, ecx
cmp dword [esi + 0x80], ecx
je case.default.0x4a906c
cmp dword [esi + 0x94], eax
je case.default.0x4a906c
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a1d72
jmp 0x4a1ed4
cmp dword [esi + 0x90], edi
jl 0x4a1ed4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x4a906c
cmp dword [esi + 0x94], ecx
je case.default.0x4a906c
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a1ea0
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49d2d3
test ebx, ebx
je 0x4a1f00
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x4a8ba0
jmp 0x4a7ae3
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4a2057
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a2047
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2025
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a2000
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a1f64
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a1ffc
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a1f7f
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a1ff6
and eax, 0x3f
test dl, 8
jne 0x4a1f9f
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a1ff6
test dl, 4
jne 0x4a1fc8
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 0x4a1ff6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp dword [esi + 0x80], edx
je 0x4a2047
cmp dword [esi + 0x94], eax
je 0x4a2047
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a1f24
jmp 0x4a2047
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a2047
cmp edi, dword [ebp + 0x84]
jbe 0x4a2047
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e2f7
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a8bfc
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a20b1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a208f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a20b1
cmp dword [esi + 0x94], ecx
je 0x4a20b1
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a2065
jmp 0x4a20b1
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a20b1
cmp eax, dword [ebp + 0x84]
jbe 0x4a20b1
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4aa955
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a7b26
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x4a2219
cmp dword [esi + 0x90], edi
jl 0x4a224f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4a21fa
mov cl, byte [eax]
test bl, 0x20
jne 0x4a211b
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4a21f2
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4a213f
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x4a21f2
test bl, 8
jne 0x4a217a
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x4a21fa
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4a21b8
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x4a21ee
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
mov edi, dword [esp + 0x14]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x4a906c
inc edi
mov dword [esp + 0x14], edi
cmp edi, dword [esi + 0x90]
jle 0x4a20e2
jmp 0x4a224b
cmp dword [esi + 0x90], edi
jl 0x4a224f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a16dd
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x4a906c
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a2221
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49d2d3
cmp dword [esp + 0x20], 0
je 0x4a227b
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x4a8d9b
jmp 0x4a7bab
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4a23ce
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x4a23be
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a239c
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x4a237b
test dl, 0x20
jne 0x4a22d6
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x4a2373
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a22f8
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a236f
and eax, 0x3f
test dl, 8
jne 0x4a2318
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a236f
test dl, 4
jne 0x4a2341
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 0x4a236f
and edx, 1
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]
mov ecx, dword [esp + 0x14]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp dword [esi + 0x80], edx
je 0x4a23be
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a22a0
jmp 0x4a23be
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a23be
cmp edi, dword [ebp + 0x84]
jbe 0x4a23be
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e2f7
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a8dfc
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a2426
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a2404
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x4a2426
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a23e0
jmp 0x4a2426
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a2426
cmp ecx, dword [ebp + 0x84]
jbe 0x4a2426
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4aa955
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a7bee
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], 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 0x4a2567
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 + 0x20], edx
mov dword [esi + 0xc], eax
jmp 0x4a2567
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a2567
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a2567
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a2567
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 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 0x4a2567
mov ecx, dword [esi + 0xc]
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
add ebx, 0xffffffab
mov dword [esi + 0xc], eax
mov edx, ebx
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [edx + 0x553278]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x553284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a2567
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 0x4a2589
cmp ecx, 0xf
je 0x4a2589
mov dword [esi + 0x60], 0xffffffff
jmp 0x4a25ad
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
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x4a27ba
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4a34b4
cmp eax, 0xa
ja case.0x4a8fea.15
jmp dword [eax*4 + 0x4ab02c]
cmp dword [esi + 0x68], 0
jne case.default.0x4a906c
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x4a27be
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7c56
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x4a263e
cmp edx, 0xc0
jb 0x4a263e
test dl, 0x20
jne 0x4a261c
lea eax, [ecx + 2]
jmp 0x4a263b
test dl, 0x10
jne 0x4a2626
lea eax, [ecx + 3]
jmp 0x4a263b
test dl, 8
jne 0x4a2630
lea eax, [ecx + 4]
jmp 0x4a263b
lea eax, [ecx + 5]
test dl, 4
je 0x4a263b
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a25f1
jmp 0x4a27be
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49e887
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4a276a
cmp eax, 0xc0
jb 0x4a276a
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a26a9
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a2765
test al, 0x10
jne 0x4a26c9
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4a2765
test al, 8
jne 0x4a26f5
and eax, 7
shl eax, 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 0x4a2765
test al, 4
jne 0x4a272a
and eax, 3
shl eax, 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 0x4a2765
and eax, 1
shl eax, 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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
cmp eax, 9
je 0x4a279f
cmp eax, 5
je 0x4a279f
cmp eax, 8
je 0x4a279f
xor eax, eax
jmp 0x4a27a4
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a2660
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49d2d3
cmp dword [esp + 0x20], 0
je 0x4a482b
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x4a480e
cmp ecx, 0xa
ja case.0x4a8fea.15
jmp dword [ecx*4 + 0x4ab058]
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49e887
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4a291f
cmp eax, 0xc0
jb 0x4a291f
test al, 0x20
jne 0x4a2849
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a291a
test al, 0x10
jne 0x4a286f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x4a291a
test al, 8
jne 0x4a28a1
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x4a291a
test al, 4
movzx eax, byte [edx]
jne 0x4a28dc
and ecx, 3
and eax, 0x3f
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 0x4a291a
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a2800
jmp 0x4a27ba
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
jmp 0x4a2980
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49e887
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4a2a9f
cmp eax, 0xc0
jb 0x4a2a9f
test al, 0x20
jne 0x4a29c9
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a2a9a
test al, 0x10
jne 0x4a29ef
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x4a2a9a
test al, 8
jne 0x4a2a21
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x4a2a9a
test al, 4
movzx eax, byte [edx]
jne 0x4a2a5c
and ecx, 3
and eax, 0x3f
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 0x4a2a9a
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a2980
jmp 0x4a27ba
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49e887
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4a2c10
cmp eax, 0xc0
jb 0x4a2c10
test al, 0x20
jne 0x4a2b3a
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a2c0b
test al, 0x10
jne 0x4a2b60
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x4a2c0b
test al, 8
jne 0x4a2b92
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x4a2c0b
test al, 4
movzx eax, byte [edx]
jne 0x4a2bcd
and ecx, 3
and eax, 0x3f
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 0x4a2c0b
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab80]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a2af1
jmp 0x4a27ba
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49e887
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4a2d81
cmp eax, 0xc0
jb 0x4a2d81
test al, 0x20
jne 0x4a2cab
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a2d7c
test al, 0x10
jne 0x4a2cd1
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x4a2d7c
test al, 8
jne 0x4a2d03
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x4a2d7c
test al, 4
movzx eax, byte [edx]
jne 0x4a2d3e
and ecx, 3
and eax, 0x3f
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 0x4a2d7c
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x4a2db8
cmp eax, 3
je 0x4a2db8
xor eax, eax
jmp 0x4a2dbd
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a2c62
jmp 0x4a27ba
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x4a27ba
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
cmp dword [esp + 0x28], 0
lea edx, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x1c], ecx
mov edi, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
je 0x4a2f1a
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x4a2f1a
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a2e4d
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a2f09
test cl, 0x10
jne 0x4a2e6e
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 0x4a2f09
test cl, 8
jne 0x4a2e98
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 0x4a2f09
test cl, 4
jne 0x4a2ece
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 0x4a2f09
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
mov edi, ecx
mov dword [esp + 0x1c], ecx
mov eax, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1c], 0x20
mov edx, ecx
ja 0x4a2f3b
cmp eax, 0x20
je case.0x4a3010.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x4a3010.8203
jmp dword [eax*4 + 0x4ab084]
cmp edx, 0x2000
ja 0x4a2fe8
cmp edi, 0x2000
je case.0x4a3010.8193
cmp ecx, 0x1680
ja 0x4a2fe0
je case.0x4a3010.8193
mov eax, ecx
sub eax, 0x85
je case.0x4a3010.8193
sub eax, 0x1b
je case.0x4a3010.8193
mov eax, ecx
test eax, eax
jns 0x4a2f84
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55c200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a2f9e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
cmp dword [eax*4 + 0x55a550], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4a906c
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x4a2df0
jmp 0x4a27ba
cmp ecx, 0x180e
jmp 0x4a2f75
cmp ebx, 0x3000
ja case.0x4a3010.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4a3010.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x4a3010.8203
movzx eax, byte [eax + 0x4ab0a0]
jmp dword [eax*4 + 0x4ab098]
cmp dword [esi + 0x68], 0
jne case.default.0x4a906c
jmp 0x4a2fc6
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a27ba
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49e887
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x4a313f
cmp eax, 0xc0
jb 0x4a313f
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a307f
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a3138
test al, 0x10
jne 0x4a309f
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4a3138
test al, 8
jne 0x4a30c8
and eax, 7
shl eax, 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 0x4a3138
test al, 4
jne 0x4a30fd
and eax, 3
shl eax, 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 0x4a3138
and eax, 1
shl eax, 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
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x4a317b
cmp eax, 3
je 0x4a317b
cmp ebx, 0x5f
je 0x4a317b
xor eax, eax
jmp 0x4a3180
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4a906c
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4a3034
jmp 0x4a27ba
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x4a32a9
cmp edx, 0xc0
jb 0x4a32a9
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a31fd
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a32a4
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a321e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a32a4
test dl, 8
jne 0x4a3241
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 0x4a32a4
test dl, 4
jne 0x4a3270
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 0x4a32a4
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 ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x55aa40]
lea eax, [eax*4 + 0x55aa40]
jb 0x4a32cd
mov ecx, dword [eax]
mov edi, edi
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a32e9
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a32c0
cmp dword [esi + 0x68], 0
je case.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a31b0
jmp 0x4a27ba
cmp dword [esi + 0x68], 0
jne case.default.0x4a906c
jmp 0x4a32d7
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a27ba
jmp 0x4a3310
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edi
mov edx, ecx
mov eax, ecx
mov dword [esp + 0x14], ecx
mov ebx, ecx
je 0x4a345d
mov dword [esp + 0x14], ecx
cmp ecx, 0xc0
jb 0x4a345d
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x4a3370
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edi + 1]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4a3461
test cl, 0x10
jne 0x4a339c
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4a3461
test cl, 8
jne 0x4a33d4
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4a3461
test cl, 4
jne 0x4a3415
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4a3461
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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, edx
mov ebx, edx
mov edi, edx
jmp 0x4a3461
mov edi, dword [esp + 0x14]
cmp edx, 0x24
je 0x4a348c
cmp eax, 0x40
je 0x4a348c
cmp ebx, 0x60
je 0x4a348c
cmp edi, 0xa0
jb 0x4a3480
cmp ecx, 0xd7ff
jbe 0x4a348c
cmp ecx, 0xe000
jae 0x4a348c
xor eax, eax
jmp 0x4a3491
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4a906c
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x4a3310
jmp 0x4a27ba
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4a37ab
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a27ba
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49e887
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x14], edi
je 0x4a35dc
mov dword [esp + 0x14], edi
cmp eax, 0xc0
jb 0x4a35dc
test al, 0x20
jne 0x4a351c
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4a35cb
test al, 0x10
jne 0x4a353c
mov ecx, eax
lea edx, [edi + 2]
movzx eax, byte [edi]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x4a35cb
test al, 8
jne 0x4a3565
mov ecx, eax
lea edx, [edi + 3]
movzx eax, byte [edi]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x4a35cb
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x4a3598
and eax, 3
lea edx, [edi + 4]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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]
jmp 0x4a35cb
and eax, 1
lea edx, [edi + 5]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x14], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x55c200]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab82]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x14], eax
jae 0x4a376b
mov edi, edx
mov dword [esp + 0x14], eax
jmp 0x4a3620
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a36f9
cmp edx, 0xc0
jb 0x4a36f9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a3661
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a36f5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a3679
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a36ef
and eax, 0x3f
test dl, 8
jne 0x4a3699
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a36ef
test dl, 4
jne 0x4a36c2
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 0x4a36ef
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x10], edi
movzx eax, byte [edx + 0x55c200]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx ecx, byte [eax*8 + 0x55ab82]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x55a5c8], eax
mov ebp, dword [esp + 0xb0]
je 0x4a3763
lea edx, [ebx + edi]
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x14], eax
cmp edx, eax
jb 0x4a3620
jmp 0x4a376b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a3791
cmp edx, eax
jb 0x4a3791
cmp ecx, dword [ebp + 0x84]
jbe 0x4a3791
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4a89e0
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4a34d1
jmp 0x4a27ba
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x4a4370
cmp eax, 0xf
ja case.0x4a8fea.15
jmp dword [eax*4 + 0x4ab100]
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x49e887
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a3819
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005083b0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4a380d
mov eax, 1
jmp 0x4a380f
xor eax, eax
test eax, eax
jne case.default.0x4a906c
jmp 0x4a3840
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a383e
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a383e
cmp edi, 1
je case.default.0x4a906c
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4a906c
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a3876
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4a3876
test ecx, ecx
jne 0x4a3876
cmp dword [ebp + 0x1c], 2
jne 0x4a3876
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a3876
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4a89e0
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a3892
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a3892
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a3881
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a37d7
jmp 0x4a27ba
mov edi, 1
cmp ecx, edi
jl 0x4a27be
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4a77fe
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a38e8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a38e8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a38d0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a38b4
jmp 0x4a27be
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x4a7d3f.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x4a27be
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a27be
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp ecx, 0xc0
jb 0x4a3a27
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a3962
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x4a3a1e
test cl, 0x10
jne 0x4a3983
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 2
jmp 0x4a3a1e
test cl, 8
jne 0x4a39ad
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 3
jmp 0x4a3a1e
test cl, 4
jne 0x4a39e3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 4
jmp 0x4a3a1e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 5
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp edi, 0x85
ja 0x4a3a5b
cmp eax, 0x85
je case.0x4a3a42.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a906c
jmp dword [ecx*4 + 0x4ab140]
cmp ebx, dword [ebp + 0x78]
jae case.0x4a3a42.10
cmp byte [edx], 0xa
jne case.0x4a3a42.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4a3a42.10
sub ecx, 0x2028
je case.0x4a3a42.11
sub ecx, 1
jne case.default.0x4a906c
cmp dword [ebp + 0x68], 0
jne case.default.0x4a906c
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a3922
jmp 0x4a27ba
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a27be
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4a3bb0
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a3ae7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a3ba3
test cl, 0x10
jne 0x4a3b08
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 0x4a3ba3
test cl, 8
jne 0x4a3b32
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 0x4a3ba3
test cl, 4
jne 0x4a3b68
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 0x4a3ba3
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
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x4a3c1c
cmp edx, 0x2000
je case.default.0x4a906c
cmp ecx, 0xa0
ja 0x4a3c02
je case.default.0x4a906c
cmp ecx, 9
je case.default.0x4a906c
cmp ecx, 0x20
je case.default.0x4a906c
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a3aa1
jmp 0x4a27ba
cmp ebx, 0x1680
je case.default.0x4a906c
cmp ecx, 0x180e
je case.default.0x4a906c
jmp case.0x4a3c41.8203
cmp eax, 0x3000
ja case.0x4a3c41.8203
cmp edi, 0x3000
je case.default.0x4a906c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4a3c41.8203
movzx eax, byte [ecx + 0x4ab158]
jmp dword [eax*4 + 0x4ab150]
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a27be
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4a3d6f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a3ca6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a3d62
test cl, 0x10
jne 0x4a3cc7
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 0x4a3d62
test cl, 8
jne 0x4a3cf1
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 0x4a3d62
test cl, 4
jne 0x4a3d27
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 0x4a3d62
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
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x4a3dcb
cmp edx, 0x2000
je case.0x4a3df4.8193
cmp ecx, 0xa0
ja 0x4a3db5
je case.0x4a3df4.8193
cmp ecx, 9
je case.0x4a3df4.8193
cmp ecx, 0x20
jne case.default.0x4a906c
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a3c60
jmp 0x4a27ba
cmp ebx, 0x1680
je case.0x4a3df4.8193
cmp ecx, 0x180e
jne case.default.0x4a906c
jmp case.0x4a3df4.8193
cmp eax, 0x3000
ja case.default.0x4a906c
cmp edi, 0x3000
je case.0x4a3df4.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4a906c
movzx eax, byte [ecx + 0x4ab1c0]
jmp dword [eax*4 + 0x4ab1b8]
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
jmp 0x4a3e10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4a3f13
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a3e50
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a3f0c
test cl, 0x10
jne 0x4a3e71
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 0x4a3f0c
test cl, 8
jne 0x4a3e9b
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 0x4a3f0c
test cl, 4
jne 0x4a3ed1
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 0x4a3f0c
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
mov edi, ecx
mov eax, ecx
cmp eax, 0x85
ja 0x4a3f35
cmp edi, 0x85
je case.default.0x4a906c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a3f2e
jmp dword [ecx*4 + 0x4ab220]
sub ecx, 0x2028
je case.default.0x4a906c
sub ecx, 1
je case.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a3e10
jmp 0x4a27ba
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a4060
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a3fb2
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a4059
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a3fd3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a4059
test dl, 8
jne 0x4a3ff6
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 0x4a4059
test dl, 4
jne 0x4a4025
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 0x4a4059
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 ecx, edx
mov eax, edx
cmp eax, 0x85
ja 0x4a4082
cmp ecx, 0x85
je case.0x4a407b.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4a906c
jmp dword [edx*4 + 0x4ab230]
sub edx, 0x2028
je case.0x4a407b.10
sub edx, 1
jne case.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a3f70
jmp 0x4a27ba
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49e8f5
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4a419e
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a40f2
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a4199
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a4113
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a4199
test dl, 8
jne 0x4a4136
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 0x4a4199
test dl, 4
jne 0x4a4165
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 0x4a4199
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, edx
cmp eax, 0x80
jae 0x4a41b2
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x4a906c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a40b2
jmp 0x4a27ba
cmp ecx, 1
jl 0x4a27be
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7c56
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4a7d3f.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a41d2
jmp 0x4a27be
mov edi, 1
cmp ecx, edi
jl 0x4a27be
mov edx, dword [ebp + 0x78]
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4a7c56
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4a4243
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4a7d3f.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a4268
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a4268
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a4250
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a4220
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7c56
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4a7d3f.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a4284
jmp 0x4a27be
mov edi, 1
cmp ecx, edi
jl 0x4a27be
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4a7c56
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4a42f3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4a7d3f.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a4318
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a4318
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a4300
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a42d0
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7c56
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4a7d3f.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a4334
jmp 0x4a27be
cmp eax, 0xf
ja case.0x4a8fea.15
jmp dword [eax*4 + 0x4ab240]
mov ebx, 1
cmp ecx, ebx
jl 0x4a27ba
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x49ea50
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a43d0
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.005083b0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4a43c4
mov eax, 1
jmp 0x4a43c6
xor eax, eax
test eax, eax
jne case.default.0x4a906c
jmp 0x4a43f7
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4a43f7
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a43f7
cmp edi, 1
je case.default.0x4a906c
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4a906c
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a442e
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4a442e
cmp dword [ebp + 0x18], 0
jne 0x4a442e
cmp dword [ebp + 0x1c], 2
jne 0x4a442e
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a442e
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4a89e0
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4390
jmp 0x4a27ba
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x4a3906
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cce
mov edx, 1
cmp ecx, edx
jl 0x4a27be
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7c56
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4a7d3f.14
movzx eax, byte [eax + 0x4ab290]
jmp dword [eax*4 + 0x4ab280]
cmp ecx, dword [ebp + 0x78]
jae case.0x4a44a8.10
cmp byte [ecx], 0xa
jne case.0x4a44a8.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4a44a8.10
cmp dword [ebp + 0x68], 0
jne case.0x4a7d3f.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a4480
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edx, 1
jmp 0x4a44f0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a77fe
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4a7d3f.14
cmp ecx, 0x20
je case.0x4a7d3f.14
cmp ecx, 0xa0
je case.0x4a7d3f.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a44f0
jmp 0x4a27be
mov edx, 1
cmp ecx, edx
jl 0x4a27be
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a77fe
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x4a4569
cmp ecx, 0x20
je 0x4a4569
cmp ecx, 0xa0
jne case.0x4a7d3f.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a4540
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edx, 1
mov edi, edx
jmp 0x4a4590
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a77fe
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a45b6.11
movzx eax, byte [eax + 0x4ab314]
mov edx, edi
jmp dword [eax*4 + 0x4ab30c]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x4a4590
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edx, 1
jmp 0x4a45e0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a77fe
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a7d3f.14
movzx eax, byte [eax + 0x4ab398]
jmp dword [eax*4 + 0x4ab390]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a45e0
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edi, 1
jmp 0x4a4630
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a4453
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a7d3f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a4630
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a4453
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a7d3f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a4670
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a4453
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a7d3f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a46b0
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a4453
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a7d3f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a46f0
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a4453
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a7d3f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a4730
jmp 0x4a27be
cmp ecx, 1
jl 0x4a27be
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a4453
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a7d3f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a4770
jmp 0x4a27be
mov dword [esi + 0x84], eax
jmp 0x4a942d
mov dword [esi + 0x84], eax
jmp 0x4a95e8
mov dword [esi + 0x84], eax
jmp 0x4a97aa
mov dword [esi + 0x84], eax
jmp 0x4a9964
mov dword [esi + 0x84], eax
jmp 0x4a9b1e
mov dword [esi + 0x84], eax
jmp 0x4aa2b9
mov dword [esi + 0x84], eax
jmp 0x4aa6a9
mov dword [esi + 0x84], eax
jmp 0x4aa8d0
mov dword [esi + 0x84], eax
jmp 0x4aaa9a
mov dword [esi + 0x84], eax
jmp 0x4aa486
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x4a9e4a
test ebx, ebx
jne 0x4a90d9
jmp 0x4a7e45
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4a5793
cmp eax, 0xa
ja case.0x4a8fea.15
jmp dword [eax*4 + 0x4ab414]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4a48c2
lea ebx, [ebx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a48d2
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x4a48ae
cmp ecx, 0xc0
jb 0x4a48ae
test cl, 0x20
jne 0x4a4888
mov eax, 2
jmp 0x4a48ae
test cl, 0x10
jne 0x4a4894
mov eax, 3
jmp 0x4a48ae
test cl, 8
jne 0x4a48a0
mov eax, 4
jmp 0x4a48ae
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4a48c2
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a4860
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a9eac
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a48c2
cmp edx, dword [ebp + 0x84]
jbe 0x4a48c2
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a48c2
jmp 0x4aa955
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a48c2
jmp 0x4a4910
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4a4a67
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a4a04
cmp eax, 0xc0
jb 0x4a4a04
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a4959
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a4a00
test al, 0x10
jne 0x4a4973
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a49fa
test al, 8
jne 0x4a4996
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4a49fa
test al, 4
jne 0x4a49c5
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x4a49fa
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
cmp eax, 9
je 0x4a4a39
cmp eax, 5
je 0x4a4a39
cmp eax, 8
je 0x4a4a39
xor eax, eax
jmp 0x4a4a3e
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a48c2
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a4910
jmp 0x4a48c2
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a48c2
cmp edx, dword [ebp + 0x84]
jbe 0x4a48c2
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x4a48c2
jmp 0x49e2f7
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a48c2
jmp 0x4a4ab0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a4bfe
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a4ba4
cmp eax, 0xc0
jb 0x4a4ba4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a4af9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a4ba0
test al, 0x10
jne 0x4a4b13
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a4b9a
test al, 8
jne 0x4a4b36
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4a4b9a
test al, 4
jne 0x4a4b65
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x4a4b9a
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4a48c2
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a4ab0
jmp 0x4a48c2
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a48c2
cmp edx, dword [ebp + 0x84]
jbe 0x4a48c2
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a48c2
jmp 0x49e2f7
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a48c2
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a4bfe
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a4d33
cmp eax, 0xc0
jb 0x4a4d33
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a4c88
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a4d2f
test al, 0x10
jne 0x4a4ca2
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a4d29
test al, 8
jne 0x4a4cc5
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4a4d29
test al, 4
jne 0x4a4cf4
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x4a4d29
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4a48c2
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a4c43
jmp 0x4a48c2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a48c2
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a4bfe
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a4e94
cmp eax, 0xc0
jb 0x4a4e94
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a4de9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a4e90
test al, 0x10
jne 0x4a4e03
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a4e8a
test al, 8
jne 0x4a4e26
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4a4e8a
test al, 4
jne 0x4a4e55
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x4a4e8a
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab80]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4a48c2
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a4da0
jmp 0x4a48c2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a48c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4a4a67
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a4ff4
cmp eax, 0xc0
jb 0x4a4ff4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a4f49
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a4ff0
test al, 0x10
jne 0x4a4f63
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a4fea
test al, 8
jne 0x4a4f86
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4a4fea
test al, 4
jne 0x4a4fb5
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x4a4fea
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x4a502b
cmp eax, 3
je 0x4a502b
xor eax, eax
jmp 0x4a5030
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a48c2
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a4f00
jmp 0x4a48c2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a48c2
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a5299
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
je 0x4a5189
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4a5189
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a50d5
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a5179
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a50f3
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a5173
and eax, 0x3f
test dl, 8
jne 0x4a5116
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a5173
test dl, 4
jne 0x4a5142
and edx, 3
mov dword [esp + 0x18], 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 0x4a5173
and edx, 1
mov dword [esp + 0x18], 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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x14], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
cmp dword [esp + 0x14], 0x20
ja 0x4a51a8
cmp eax, 0x20
je case.0x4a5286.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4a5286.8203
jmp dword [eax*4 + 0x4ab440]
cmp edx, 0x2000
ja 0x4a525e
cmp ecx, 0x2000
je case.0x4a5286.8193
cmp edx, 0x1680
ja 0x4a5256
je case.0x4a5286.8193
mov eax, edx
sub eax, 0x85
je case.0x4a5286.8193
sub eax, 0x1b
je case.0x4a5286.8193
mov eax, edx
test eax, eax
jns 0x4a51f1
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55c200]
shl eax, 7
and edx, 0x8000007f
jns 0x4a520b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
cmp dword [eax*4 + 0x55a550], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4a48c2
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a5070
jmp 0x4a48c2
cmp edx, 0x180e
jmp 0x4a51e2
cmp ebx, 0x3000
ja case.0x4a5286.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x4a5286.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4a5286.8203
movzx eax, byte [eax + 0x4ab45c]
jmp dword [eax*4 + 0x4ab454]
cmp dword [esi + 0x68], 0
jne 0x4a48c2
jmp 0x4a5233
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a48c2
cmp edi, dword [ebp + 0x84]
jmp 0x4a4c12
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a48c2
jmp 0x4a52d0
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x4a4bfe
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x4a53dd
cmp eax, 0xc0
jb 0x4a53dd
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a5321
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x4a53d7
test al, 0x10
jne 0x4a533e
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a53d1
test al, 8
jne 0x4a5367
and eax, 7
mov dword [esp + 0x18], 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4a53d1
test al, 4
jne 0x4a5399
and eax, 3
mov dword [esp + 0x18], 5
shl eax, 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]
jmp 0x4a53d1
and eax, 1
mov dword [esp + 0x18], 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x4a5419
cmp eax, 3
je 0x4a5419
cmp ebx, 0x5f
je 0x4a5419
xor eax, eax
jmp 0x4a541e
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a48c2
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a52d0
jmp 0x4a48c2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a48c2
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4a55a3
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x4a5548
cmp edx, 0xc0
jb 0x4a5548
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a54ad
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a5544
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a54c8
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a553e
and eax, 0x3f
test dl, 8
jne 0x4a54e8
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a553e
test dl, 4
jne 0x4a5511
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 0x4a553e
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x55aa40]
lea eax, [eax*4 + 0x55aa40]
jb 0x4a556d
mov ecx, dword [eax]
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a5597
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a5560
cmp dword [esi + 0x68], 0
je 0x4a48c2
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a5460
jmp 0x4a48c2
cmp dword [esi + 0x68], 0
jne 0x4a48c2
jmp 0x4a5577
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a48c2
cmp edi, dword [ebp + 0x84]
jmp 0x4a4a7b
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a48c2
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a576d
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
je 0x4a570f
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x4a570f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a563b
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
or edx, eax
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
jmp 0x4a570f
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x4a566b
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
jmp 0x4a570f
test dl, 8
jne 0x4a56a0
and edx, 7
mov dword [esp + 0x18], 4
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
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
jmp 0x4a570f
test dl, 4
jne 0x4a56cc
and edx, 3
mov dword [esp + 0x18], 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 0x4a56fd
and edx, 1
mov dword [esp + 0x18], 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, edx
mov dword [esp + 0x14], eax
mov ebx, eax
mov ecx, eax
cmp eax, 0x24
je 0x4a573c
cmp ecx, 0x40
je 0x4a573c
cmp ebx, 0x60
je 0x4a573c
cmp dword [esp + 0x14], 0xa0
jb 0x4a5730
cmp edx, 0xd7ff
jbe 0x4a573c
cmp edx, 0xe000
jae 0x4a573c
xor eax, eax
jmp 0x4a5741
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a48c2
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a55d2
jmp 0x4a48c2
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a48c2
cmp edi, dword [ebp + 0x84]
jbe 0x4a48c2
mov dword [ebp + 0x64], 1
jmp 0x4a4a84
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4a5b0c
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a5abd
jmp 0x4a57c0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a5a9b
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x18], edi
je 0x4a58cd
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x4a58cd
test al, 0x20
jne 0x4a580b
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4a58bc
test al, 0x10
jne 0x4a5829
movzx eax, byte [edi]
lea edx, [edi + 2]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x4a58bc
test al, 8
jne 0x4a5853
movzx eax, byte [edi]
lea edx, [edi + 3]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x4a58bc
test al, 4
movzx eax, byte [edi]
jne 0x4a5886
and ecx, 3
lea edx, [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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]
jmp 0x4a58bc
and ecx, 1
lea edx, [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x55c200]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab82]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x18], eax
jae 0x4a5a5e
mov edi, edx
mov dword [esp + 0x18], eax
jmp 0x4a5910
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a59ec
cmp edx, 0xc0
jb 0x4a59ec
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a5951
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a59e8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a596c
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a59e2
and eax, 0x3f
test dl, 8
jne 0x4a598c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a59e2
test dl, 4
jne 0x4a59b5
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 0x4a59e2
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x14]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x1c], edi
movzx eax, byte [edx + 0x55c200]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx ecx, byte [eax*8 + 0x55ab82]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x55a5c8], eax
mov ebp, dword [esp + 0xb0]
je 0x4a5a56
lea edx, [ebx + edi]
mov dword [esp + 0x14], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x18], eax
cmp edx, eax
jb 0x4a5910
jmp 0x4a5a5e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a5a84
cmp edx, eax
jb 0x4a5a84
cmp ecx, dword [ebp + 0x84]
jbe 0x4a5a84
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4a89e0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a57c0
jmp 0x4a5abd
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a5abd
cmp ecx, dword [ebp + 0x84]
jbe 0x4a5abd
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e2f7
cmp dword [esp + 0x24], 0
jne 0x49d2d3
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a5afd
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x4a7ee4
add eax, 0xfffffffa
test ebx, ebx
je 0x4a692f
cmp eax, 0xf
ja case.0x4a8fea.15
jmp dword [eax*4 + 0x4ab4bc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a691f
lea esp, [esp]
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a5c13
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a5b82
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005083b0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4a5b76
mov eax, 1
jmp 0x4a5b78
xor eax, eax
test eax, eax
jne 0x4a691f
jmp 0x4a5ba9
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a5ba7
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a5ba7
cmp edi, 1
je 0x4a691f
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4a691f
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a5bdf
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4a5bdf
test ecx, ecx
jne 0x4a5bdf
cmp dword [ebp + 0x1c], 2
jne 0x4a5bdf
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a5bdf
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4a89e0
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a5c01
lea ebx, [ebx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a5c01
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a5bf0
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4a5b40
jmp 0x4a691f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a691f
cmp ecx, dword [ebp + 0x84]
jbe 0x4a691f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a691f
jmp 0x49e2f7
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x4a5c98
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4a691f
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4a5c9e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a5c8a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a5c8a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a5c72
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4a5c60
jmp 0x4a691f
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a691f
cmp eax, dword [ebp + 0x84]
jbe 0x4a691f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4a691f
jmp 0x4aa955
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 0x4a5d19
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a691f
cmp edx, dword [ebp + 0x84]
jbe 0x4a691f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a691f
jmp 0x4aa955
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4a691f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a691f
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a5eb4
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4a5e3e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a5d8e
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a5e32
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a5dac
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a5e2c
and eax, 0x3f
test dl, 8
jne 0x4a5dcf
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a5e2c
test dl, 4
jne 0x4a5dfb
and edx, 3
mov dword [esp + 0x18], 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 0x4a5e2c
and edx, 1
mov dword [esp + 0x18], 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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov dword [esp + 0x14], edx
mov eax, edx
mov ebx, edx
cmp ecx, 0xd
jne 0x4a5e5a
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4a691f
cmp byte [eax], 0xa
jne 0x4a5e9a
inc eax
jmp 0x4a5e97
cmp eax, 0xa
je 0x4a5e91
cmp dword [ebp + 0x68], 0
jne 0x4a691f
cmp ebx, 0xb
je 0x4a5e91
cmp dword [esp + 0x14], 0xc
je 0x4a5e91
cmp edx, 0x85
je 0x4a5e91
cmp edx, 0x2028
je 0x4a5e91
cmp edx, 0x2029
jne 0x4a691f
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a5d40
jmp 0x4a691f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a691f
cmp edi, dword [ebp + 0x84]
jmp 0x4a5c27
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a691f
jmp 0x4a5ef0
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a5eb4
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a5fea
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a5f3a
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a5fde
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a5f58
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a5fd8
and eax, 0x3f
test dl, 8
jne 0x4a5f7b
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a5fd8
test dl, 4
jne 0x4a5fa7
and edx, 3
mov dword [esp + 0x18], 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 0x4a5fd8
and edx, 1
mov dword [esp + 0x18], 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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x14], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x14], 0x2000
ja 0x4a605a
cmp ebx, 0x2000
je case.0x4a607b.8193
cmp edx, 0xa0
ja 0x4a604a
je case.0x4a607b.8193
cmp edx, 9
je case.0x4a607b.8193
cmp edx, 0x20
je case.0x4a607b.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x4a691f
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a5ef0
jmp 0x4a691f
cmp edx, 0x1680
je case.0x4a607b.8193
cmp edx, 0x180e
jmp 0x4a6012
cmp eax, 0x3000
ja case.0x4a607b.8203
cmp ecx, 0x3000
je case.0x4a607b.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a607b.8203
movzx eax, byte [edx + 0x4ab504]
jmp dword [eax*4 + 0x4ab4fc]
mov ecx, 1
jmp 0x4a6016
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a691f
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4a61e1
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a617c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a60e2
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x4a6176
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a60fa
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a6170
and eax, 0x3f
test dl, 8
jne 0x4a611a
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a6170
test dl, 4
jne 0x4a6143
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 0x4a6170
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
cmp eax, 0x85
ja 0x4a619a
cmp ecx, 0x85
je case.0x4a6193.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4a6193
jmp dword [edx*4 + 0x4ab564]
sub edx, 0x2028
je case.0x4a6193.10
sub edx, 1
je case.0x4a6193.10
xor ecx, ecx
jmp 0x4a61b0
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x4a691f
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a60a0
jmp 0x4a691f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a691f
cmp edi, dword [ebp + 0x84]
jbe 0x4a691f
mov dword [ebp + 0x64], ebx
jmp 0x4a5c34
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a691f
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a5eb4
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a6313
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6264
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a630d
test dl, 0x10
jne 0x4a627f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a6307
test dl, 8
jne 0x4a62a3
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a6307
test dl, 4
jne 0x4a62d3
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 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 0x4a6307
and edx, eax
mov ebx, 6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x4a632a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4a691f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a6220
jmp 0x4a691f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a691f
jmp 0x4a6360
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a5eb4
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a6439
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a63a0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a6435
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a63b8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a642f
and eax, 0x3f
test dl, 8
jne 0x4a63d8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a642f
test dl, 4
jne 0x4a6401
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 0x4a642f
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4a691f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4a691f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a6360
jmp 0x4a691f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a691f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a5eb4
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a6573
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a64c4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a656d
test dl, 0x10
jne 0x4a64df
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a6567
test dl, 8
jne 0x4a6503
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a6567
test dl, 4
jne 0x4a6533
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 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 0x4a6567
and edx, eax
mov ebx, 6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x4a658a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4a691f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a6480
jmp 0x4a691f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a691f
jmp 0x4a65c0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a5eb4
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a669c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6600
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a6698
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a661b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a6692
and eax, 0x3f
test dl, 8
jne 0x4a663b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a6692
test dl, 4
jne 0x4a6664
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 0x4a6692
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4a691f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4a691f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a65c0
jmp 0x4a691f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a691f
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a5eb4
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a67d5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6726
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a67cf
test dl, 0x10
jne 0x4a6741
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a67c9
test dl, 8
jne 0x4a6765
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a67c9
test dl, 4
jne 0x4a6795
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 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 0x4a67c9
and edx, eax
mov ebx, 6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x4a67ec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4a691f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a66e2
jmp 0x4a691f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a691f
lea ecx, [ecx]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a5eb4
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a68fc
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6860
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a68f8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a687b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a68f2
and eax, 0x3f
test dl, 8
jne 0x4a689b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a68f2
test dl, 4
jne 0x4a68c4
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 0x4a68f2
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4a691f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4a691f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a6820
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a9355
cmp eax, 0xf
ja case.0x4a8fea.15
jmp dword [eax*4 + 0x4ab574]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x4a6c03.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x4a6a04
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a6991
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.005083b0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4a6985
mov eax, 1
jmp 0x4a6987
xor eax, eax
test eax, eax
jne case.0x4a6c03.10
jmp 0x4a69b8
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4a69b8
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a69b8
cmp edi, 1
je case.0x4a6c03.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a6c03.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a69ef
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4a69ef
cmp dword [ebp + 0x18], 0
jne 0x4a69ef
cmp dword [ebp + 0x1c], 2
jne 0x4a69ef
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a69ef
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4a89e0
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4a6951
jmp case.0x4a6c03.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a6c03.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a6c03.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a6c03.10
jmp 0x49e2f7
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 0x4a6a7f
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a6c03.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a6c03.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a6c03.10
jmp 0x4aa955
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x4a6c03.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a6c03.10
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a6af7
mov al, byte [ecx]
cmp al, 0xd
jne 0x4a6ac5
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x4a6c03.10
cmp byte [eax], 0xa
jne 0x4a6ae9
inc eax
jmp 0x4a6ae6
cmp al, 0xa
je 0x4a6ae3
cmp dword [ebp + 0x68], 0
jne case.0x4a6c03.10
cmp al, 0xb
je 0x4a6ae3
cmp al, 0xc
je 0x4a6ae3
cmp al, 0x85
jne case.0x4a6c03.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x4a6aa0
jmp case.0x4a6c03.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a6c03.10
cmp ecx, dword [ebp + 0x84]
jmp 0x4a6a64
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a6c03.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a6b59
mov cl, byte [eax]
cmp cl, 9
je case.0x4a6c03.10
cmp cl, 0x20
je case.0x4a6c03.10
cmp cl, 0xa0
je case.0x4a6c03.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a6b22
jmp case.0x4a6c03.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a6c03.10
cmp eax, dword [ebp + 0x84]
jbe case.0x4a6c03.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4a6c03.10
jmp 0x4aa955
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a6c03.10
lea ebx, [ebx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a6b59
mov cl, byte [eax]
cmp cl, 9
je 0x4a6bbd
cmp cl, 0x20
je 0x4a6bbd
cmp cl, 0xa0
jne case.0x4a6c03.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a6ba0
jmp case.0x4a6c03.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x4a6c03.10
mov edi, ecx
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6a50
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a6c03.11
movzx eax, byte [eax + 0x4ab5bc]
mov ecx, edi
jmp dword [eax*4 + 0x4ab5b4]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a6be3
jmp case.0x4a6c03.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a6c03.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a6af7
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a6c03.10
movzx eax, byte [eax + 0x4ab640]
jmp dword [eax*4 + 0x4ab638]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a6c32
jmp case.0x4a6c03.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a6c03.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6a50
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a6c03.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a6c81
jmp case.0x4a6c03.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a6c03.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6a50
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a6c03.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a6cc3
jmp case.0x4a6c03.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a6c03.10
jmp 0x4a6d10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6a50
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a6c03.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a6d10
jmp case.0x4a6c03.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a6c03.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6a50
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a6c03.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a6d52
jmp case.0x4a6c03.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a6c03.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6a50
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a6c03.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a6d94
jmp case.0x4a6c03.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a6c03.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6df5
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a6c03.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a6dd0
jmp case.0x4a6c03.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a6c03.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a6c03.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4aa955
cmp dword [esp + 0x24], 0
jne 0x49d2d3
jmp 0x4a7ea5
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aac1f
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x4a6e4c
jmp dword [eax*4 + 0x4ab6bc]
cmp edi, 0xfffffc1b
je 0x4a6f2b
cmp edi, 0xfffffc20
jne 0x4a6e9a
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4a7338
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a6e96
cmp byte [ecx], 0x77
jne case.default.0x4a7338
xor edi, edi
jmp 0x4a6ea2
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4a6f2b
cmp dword [esi + 0x9c], 0x88
jb 0x4a6eea
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a6f13
push 0x134
call dword [0xd8e760]
mov edx, eax
add esp, 4
test edx, edx
je 0x4aa8f3
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 0x4a7533
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 eax, dword [esi]
mov esi, eax
test eax, eax
jne 0x4a6e3c
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x4a7043
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x4a709b
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a6fb9
cmp byte [ecx], 0x77
jne 0x4a709b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne case.0x4a7d3f.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x4a70ac
cmp eax, 0x81
je 0x4a70ac
cmp dword [ebp + 0x6c], 0
jne 0x4a70b6
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 0x4a70b6
movzx eax, byte [edx]
movzx eax, byte [eax + 0x55a438]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x49d260
test edi, edi
je 0x4a6fb9
cmp edi, 0xfffffc1b
jne 0x4a709b
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x81
je 0x4a708d
cmp byte [edx], 0x77
mov ebx, edx
jne 0x4a707c
movzx ecx, byte [edx + 1]
movzx edx, byte [edx + 2]
shl ecx, 8
or edx, ecx
add edx, ebx
mov ebx, edx
cmp byte [edx], 0x77
je 0x4a7062
mov dword [esp + 0x10], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
mov edx, ebx
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 eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a6f71
jmp 0x4a6e38
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 0x4a70f4
push 0x134
call dword [0xd8e760]
mov edx, eax
add esp, 4
test edx, edx
je 0x4aa8f3
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 0x4a7533
cmp edi, 1
jne 0x4a7182
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4a7123
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x4a7136
inc edx
mov dword [esi + 0xc], edx
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
jne 0x4a7167
lea ecx, [ecx]
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 0x4a7150
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x55a438]
sub ecx, eax
add ecx, 3
mov dword [esi + 0xc], ecx
jmp 0x49d77e
test edi, edi
je 0x49d77e
cmp edi, 0xfffffc20
je 0x49d77e
jmp case.default.0x4a7338
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x4a71b6
cmp byte [eax - 3], 0x77
jne 0x49d2d3
cmp dword [esi + 0x9c], 0x8c
jne 0x49d260
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a71f9
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x4a7ee4
cmp edi, 1
je 0x4a72b3
cmp edi, 0xfffffc19
je 0x4a72b3
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x4a7259
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4a7338
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a7261
cmp byte [ecx], 0x77
jmp 0x4a725b
test edi, edi
jne case.default.0x4a7338
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
jne 0x4a72b9
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a72a4
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x4a73f4
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x4a7d3f.14
cmp dword [esi + 0x58], 0
jne 0x4a7391
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x4a72d0
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x49d2d3
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x4a731b
je case.0x4a7338.995
cmp edi, 0xfffffc19
jmp 0x4a742b
test edi, edi
jg 0x4a7426
je 0x4a73a7
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x4a7338
jmp dword [eax*4 + 0x4ab7c8]
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4a7338.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a73a7
cmp byte [ecx], 0x77
je 0x4a73a7
mov edx, dword [esi + 0xc]
lea esp, [esp]
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 0x4a7370
cmp dword [esi + 0x58], 0
je 0x4a762b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aab72
mov edi, 1
jmp 0x4a6e38
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
jne 0x4a7387
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a73ea
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x49d250
mov eax, edi
sub eax, 1
je case.0x4a7d3f.14
jmp case.default.0x4a7338
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.004abb90
mov eax, dword [esi + 0x4c]
lea ecx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ecx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x4aaacd
cmp edi, 0xfffffc19
je 0x4aaacd
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x4a749f
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x4a7d3f.14
push ecx
call dword [0xd8e75c]
add esp, 4
jmp case.0x4a7d3f.14
test edi, edi
je 0x4a74c3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x4a7338
push ecx
call dword [0xd8e75c]
add esp, 4
jmp case.default.0x4a7338
mov dword [ebp + 0xa4], ecx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x4a7564
cmp dword [esi + 0x58], 0
je 0x4a74f7
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a7520
push 0x134
call dword [0xd8e760]
mov edx, eax
add esp, 4
test edx, edx
je 0x4aa8f3
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 + 0x55a438]
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 0x49d250
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x4a747f
test edi, edi
jne case.default.0x4a7338
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x4a75c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a75a8
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], edi
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 0x4a7eed
cmp al, 0x88
jb 0x4aaaf8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a75f1
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
test edi, edi
jne case.default.0x4a7338
mov edx, dword [esi + 0x2c]
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 0x4a7614
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x49d2d3
test edi, edi
je case.0x49f206.10
jmp case.default.0x4a7338
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aab82
mov edi, 0xfffffc1b
jmp 0x4a6e3c
cmp edi, 0xfffffc1b
jne 0x4a767d
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x4a767f
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4a8491
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a76ba
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0049cec0
add esp, 0x14
test eax, eax
jns 0x4a7741
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4a771f
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edi, dword [ebp + 0x78]
jb case.0x4a7d3f.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a0cce
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7775
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 8]
sub eax, dword [esi + 0x88]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x4a906c
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a77cd
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a781d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a7d3f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a7d3f.14
jmp 0x49e2af
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 case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a786e
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x4a906c
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a78bd
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a790d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a7d3f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a7d3f.14
jmp 0x49e2af
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a7924
cmp dword [esi + 0x94], ecx
jne case.0x4a7d3f.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7957
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x4a7ee4
dec dword [esi + 8]
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a79a6
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a0cba
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7a1f
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x4a7ee4
dec dword [esi + 8]
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7a6e
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a7abe
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a7d3f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a7d3f.14
jmp 0x49e2af
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4a7d3f.14
cmp dword [esi + 0x94], ecx
je case.0x4a7d3f.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7b0c
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7b5b
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a0cba
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7bd4
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7c23
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4a7c6f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a0cce
cmp dword [esi + 0x7c], 0xc
jne 0x4a7cbe
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a7c99
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005083b0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4a7cbe
jmp case.0x4a7d3f.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a7cbe
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a7cbe
cmp edi, 1
je case.0x4a7d3f.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a7d3f.14
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.0x4a8fea.15
jmp dword [eax*4 + 0x4ab7d8]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x4a7cd9.13
cmp edx, dword [ebp + 0x78]
jb case.0x4a7cd9.13
cmp dword [ebp + 0x18], 0
jne case.0x4a7cd9.13
cmp dword [ebp + 0x1c], 2
jne case.0x4a7cd9.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4a7cd9.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x4a7cd9.13
jmp 0x4aa955
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a7d3f.14
movzx eax, byte [ecx + 0x4ab828]
jmp dword [eax*4 + 0x4ab818]
cmp edx, dword [ebp + 0x78]
jae case.0x4a7cd9.13
cmp byte [edx], 0xa
jne case.0x4a7cd9.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4a7cd9.13
cmp dword [ebp + 0x68], 0
je case.0x4a7cd9.13
jmp case.0x4a7d3f.14
cmp ecx, 9
je case.0x4a7d3f.14
cmp ecx, 0x20
je case.0x4a7d3f.14
cmp ecx, 0xa0
jne case.0x4a7cd9.13
jmp case.0x4a7d3f.14
cmp ecx, 9
je case.0x4a7cd9.13
cmp ecx, 0x20
je case.0x4a7cd9.13
cmp ecx, 0xa0
je case.0x4a7cd9.13
jmp case.0x4a7d3f.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a7cd9.13
movzx eax, byte [ecx + 0x4ab8ac]
jmp dword [eax*4 + 0x4ab8a4]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a7d3f.14
movzx eax, byte [ecx + 0x4ab930]
jmp dword [eax*4 + 0x4ab928]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a7cd9.13
jmp case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a7cd9.13
jmp case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a7cd9.13
jmp case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a7cd9.13
jmp case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a7cd9.13
jmp case.0x4a7d3f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7e6e
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x4a7ea5
cmp eax, dword [esi + 0x30]
jbe 0x4a7ea5
cmp byte [eax], 0xa
jne 0x4a7ea5
dec eax
cmp byte [eax], 0xd
jne 0x4a7ea5
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7eda
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x49d250
cmp edi, 0xfffffc1a
jne 0x4a7f71
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 0x4a7f69
mov edx, dword [esi + 0xc]
jmp 0x4a7f50
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 0x4a7f50
jmp 0x4a7fc6
mov dword [esi + 8], eax
jmp 0x4a7feb
cmp edi, 0xfffffc20
jne 0x4a7fa4
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4a7338
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a7fac
cmp byte [ecx], 0x77
jmp 0x4a7fa6
test edi, edi
jne case.default.0x4a7338
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 0x4a7fdf
cmp dword [esi + 0x5c], 0
jne 0x4a762b
cmp dword [esi + 0x54], 0
jne 0x4a762b
jmp case.0x4a7d3f.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x4a8001
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a802a
push 0x134
call dword [0xd8e760]
mov edx, eax
add esp, 4
test edx, edx
je 0x4aa8f3
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 0x4a7533
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x4a8137
jmp 0x4a6f69
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4a6f69
test eax, eax
je 0x4aab92
mov edi, 0xfffffc1c
jmp 0x4a6e3c
test edi, edi
je 0x4a80ed
jmp case.default.0x4a7338
cmp edi, 1
je 0x4a808b
cmp edi, 0xfffffc19
jne 0x4a80a5
cmp dword [ebp + 0xac], 0
jne 0x4a80a5
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x4a7338
cmp edi, 0xfffffc1f
jne case.default.0x4a7338
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4a80e0
test dl, dl
je 0x4a80dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4a80e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4a80c0
xor eax, eax
jmp 0x4a80e5
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4a7338
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aaba2
mov edi, 0xfffffc1e
jmp 0x4a6e3c
cmp edi, 1
je 0x4a8116
cmp edi, 0xfffffc19
jne 0x4a812b
cmp dword [ebp + 0xac], 0
jne 0x4a812b
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4a6f69
test eax, eax
je 0x4aabb2
mov edi, 0xfffffc1d
jmp 0x4a6e3c
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aabc2
mov edi, 0xfffffc1f
jmp 0x4a6e3c
cmp edi, 1
je 0x4a817d
cmp edi, 0xfffffc19
jne case.0x4a6e4c.54
cmp dword [ebp + 0xac], 0
jne case.0x4a6e4c.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aabd2
mov edi, 0xfffffc20
jmp 0x4a6e3c
cmp edi, 0xfffffc1a
jne 0x4a8224
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 0x4a821c
mov edx, dword [esi + 0xc]
jmp 0x4a8200
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 0x4a8200
jmp 0x4a8289
mov dword [esi + 8], eax
jmp 0x49de82
cmp edi, 0xfffffc20
jne 0x4a8257
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4a7338
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a825f
cmp byte [ecx], 0x77
jmp 0x4a8259
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
je 0x49de82
cmp dword [esi + 0x5c], 0
jne 0x4a82c9
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 0x49d93a
cmp dword [esi + 0x5c], 0
jne 0x49d93a
jmp case.0x4a7d3f.14
cmp edi, 1
jne 0x4a838f
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x4a8302
cmp al, 0x77
jne case.0x4a7d3f.14
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x4a8302
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov edi, dword [esi + 0xc]
mov al, byte [edi]
cmp al, 0x78
je 0x49fa42
cmp ecx, dword [esi + 0x38]
je 0x49fa42
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x4a8438
test ecx, ecx
jne 0x4a8374
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
cmp edi, 0xfffffc20
jne 0x4a83c2
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4a7338
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a83ca
cmp byte [ecx], 0x77
jmp 0x4a83c4
test edi, edi
jne case.default.0x4a7338
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4a82f1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a841d
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
test ecx, ecx
jne 0x4a845e
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
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 0x4a7eed
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x49d260
test edi, edi
jne case.default.0x4a7338
add dword [esi + 0xc], 3
jmp 0x49d260
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a0cba
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a85a6
cmp edx, 0xc0
jb 0x4a85a6
test dl, 0x20
jne 0x4a84f6
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a85a3
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a851d
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a85a3
test dl, 8
jne 0x4a8540
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 0x4a85a3
test dl, 4
jne 0x4a856f
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 0x4a85a3
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
push ebx
push dword [esi + 0x28]
push edx
call fcn.00508a20
add esp, 0xc
test eax, eax
je case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a85ea
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x4a7d3f.14
test ebx, ebx
je 0x4a862c
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4a862c
nop
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4a8620
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a8655
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4a869f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a0cce
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4a8797
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4a86d1
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4a8790
test bl, 0x10
jne 0x4a86f2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x4a8790
test bl, 8
jne 0x4a871f
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x4a8790
test bl, 4
jne 0x4a8755
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 0x4a8790
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 + 8], eax
mov edi, ebx
mov eax, ebx
cmp eax, 0xff
jbe 0x4a87be
cmp dword [esi + 0x9c], 0x6e
jne 0x4a87d5
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aac02
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x4a6e3c
mov edx, dword [esi + 0x28]
and edi, 7
shr ebx, 3
mov eax, 1
mov ecx, edi
shl eax, cl
test byte [ebx + edx], al
jmp 0x4a87a5
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a8804
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x4a906c
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4a8841
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4a8835
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a886a
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
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 0x4a88ff
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4a88c2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a88c7
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a88b1
cmp edi, 0xfffffffc
je 0x4a88f4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a88fc
cmp edi, 0xfffffffd
je 0x4a88f4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a88fc
cmp edi, 0xfffffffe
je 0x4a88f4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a88fc
cmp edi, 0xffffffff
je 0x4a88f4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a88fc
mov eax, dword [esi + 0x88]
jmp 0x4a896a
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4a89ad
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a89ad
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4a8931
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a8936
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a8920
cmp edi, 0xfffffffc
je 0x4a8967
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a89ad
cmp edi, 0xfffffffd
je 0x4a8967
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a89ad
cmp edi, 0xfffffffe
je 0x4a8967
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a89ad
cmp edi, 0xffffffff
je 0x4a8967
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a89ad
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 0x4a899e
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x4a7ee4
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4a906c
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4a906c
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x4a906c
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4a906c
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aabf2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a6e3c
test edi, edi
jne case.default.0x4a7338
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a8a1d
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4a8a11
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a8a52
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a0cba
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4a8b82
test dl, 0x20
jne 0x4a8abc
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x4a8b82
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a8ae8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x4a8b82
test dl, 8
jne 0x4a8b13
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]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x4a8b82
test dl, 4
jne 0x4a8b47
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]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x4a8b82
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 dword [esi + 8], eax
mov edx, ecx
mov eax, ecx
cmp dword [esi + 0x80], edx
je case.0x4a7d3f.14
cmp dword [esi + 0x94], eax
je case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a8bc9
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a8bfc
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4a8bf0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a8c31
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a8c81
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a7d3f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a7d3f.14
jmp 0x49e2af
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x10], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4a8d89
mov cl, byte [eax]
test bl, 0x20
jne 0x4a8cae
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4a8d81
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4a8cd2
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x4a8d81
test bl, 8
jne 0x4a8d0d
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x4a8d89
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4a8d4b
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x4a8d81
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x4a906c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a8dc4
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a8dfc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4a8df0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a8e31
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4a8e7d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a0cce
cmp dword [esi + 0x7c], 0xc
jne 0x4a8ecc
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a8ea7
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005083b0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4a8ecc
jmp case.0x4a7d3f.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a8ecc
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a8ecc
cmp edi, 1
je case.0x4a7d3f.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a7d3f.14
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x10], edi
mov ebx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x4a8fdb
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8f19
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x4a8fc0
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a8f3a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x4a8fc0
test dl, 8
jne 0x4a8f5d
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 3
jmp 0x4a8fc0
test dl, 4
jne 0x4a8f8c
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 4
jmp 0x4a8fc0
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 5
mov ecx, edx
mov dword [esi + 8], edi
mov dword [esp + 0x10], edi
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x4a8fea.15
jmp dword [eax*4 + 0x4ab9ac]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a8fea.13
mov eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x78]
jb case.0x4a8fea.13
cmp dword [ebp + 0x18], 0
jne case.0x4a8fea.13
cmp dword [ebp + 0x1c], 2
jne case.0x4a8fea.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x4a8fea.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4a8fea.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aabf2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a6e3c
cmp edx, 0x85
ja 0x4a9085
je case.0x4a906c.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4a906c
jmp dword [edx*4 + 0x4ab9ec]
cmp edi, dword [ebp + 0x78]
jae case.0x4a8fea.13
cmp byte [edi], 0xa
jne case.0x4a8fea.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x4a8fea.13
sub edx, 0x2028
je case.0x4a906c.11
sub edx, 1
jne case.default.0x4a906c
cmp dword [ebp + 0x68], 0
je case.0x4a8fea.13
jmp case.default.0x4a906c
cmp edx, 0x2000
ja 0x4a9125
je case.default.0x4a906c
cmp edx, 0xa0
ja 0x4a9111
je case.default.0x4a906c
cmp edx, 9
je case.default.0x4a906c
cmp edx, 0x20
je case.default.0x4a906c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9102
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x4a7ee4
cmp edx, 0x1680
je case.default.0x4a906c
cmp edx, 0x180e
jmp 0x4a90cd
cmp edx, 0x3000
ja case.0x4a8fea.13
je case.default.0x4a906c
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a8fea.13
movzx eax, byte [edx + 0x4aba04]
jmp dword [eax*4 + 0x4ab9fc]
cmp edx, 0x2000
ja 0x4a919c
je case.0x4a8fea.13
cmp edx, 0xa0
ja 0x4a917f
je case.0x4a8fea.13
cmp edx, 9
je case.0x4a8fea.13
cmp edx, 0x20
je case.0x4a8fea.13
jmp case.default.0x4a906c
cmp edx, 0x1680
je case.0x4a8fea.13
cmp edx, 0x180e
je case.0x4a8fea.13
jmp case.default.0x4a906c
cmp edx, 0x3000
ja case.default.0x4a906c
je case.0x4a8fea.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x4a906c
movzx eax, byte [edx + 0x4aba6c]
jmp dword [eax*4 + 0x4aba64]
cmp edx, 0x85
ja 0x4a91ec
je case.default.0x4a906c
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4a8fea.13
jmp dword [edx*4 + 0x4abacc]
sub edx, 0x2028
je case.default.0x4a906c
sub edx, 1
jne case.0x4a8fea.13
jmp case.default.0x4a906c
cmp edx, 0x85
ja 0x4a9227
je case.0x4a8fea.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4a906c
jmp dword [edx*4 + 0x4abadc]
sub edx, 0x2028
je case.0x4a8fea.13
sub edx, 1
je case.0x4a8fea.13
jmp case.default.0x4a906c
cmp ecx, 0x100
jae case.0x4a8fea.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4a8fea.13
jmp case.default.0x4a906c
cmp ebx, 0x100
jae case.default.0x4a906c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4a8fea.13
jmp case.default.0x4a906c
cmp dword [esp + 0x18], 0x100
jae case.0x4a8fea.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4a8fea.13
jmp case.default.0x4a906c
cmp dword [esp + 0x14], 0x100
jae case.default.0x4a906c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4a8fea.13
jmp case.default.0x4a906c
cmp dword [esp + 0x1c], 0x100
jae case.0x4a8fea.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4a8fea.13
jmp case.default.0x4a906c
cmp dword [esp + 0x20], 0x100
jae case.default.0x4a906c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4a8fea.13
jmp case.default.0x4a906c
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x4a6e4c
mov edi, 0xfffffff2
jmp 0x4a6e38
test edi, edi
jne case.default.0x4a7338
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a933c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4a9330
cmp dword [esi + 0x7c], 0x11
jne 0x4a9355
cmp ecx, dword [esi + 0x30]
jbe 0x4a9355
cmp byte [ecx], 0xa
jne 0x4a9355
dec ecx
cmp byte [ecx], 0xd
jne 0x4a9355
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a938a
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a93da
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a7d3f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a7d3f.14
jmp 0x49e2af
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a941d
cmp ecx, 0xc0
jb 0x4a941d
test cl, 0x20
jne 0x4a93f9
lea eax, [edx + 1]
jmp 0x4a941a
test cl, 0x10
jne 0x4a9403
add eax, 3
jmp 0x4a941a
test cl, 8
jne 0x4a940d
add eax, 4
jmp 0x4a941a
test cl, 4
jne 0x4a9417
add eax, 5
jmp 0x4a941a
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9456
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a94a0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cce
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4a959f
cmp eax, 0xc0
jb 0x4a959f
test al, 0x20
jne 0x4a94d8
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a959a
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x4a94fe
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4a959a
test al, 8
jne 0x4a952a
and eax, 7
shl eax, 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 0x4a959a
test al, 4
jne 0x4a955f
and eax, 3
shl eax, 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 0x4a959a
and eax, 1
shl eax, 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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
cmp eax, 9
je 0x4a95d4
cmp eax, 5
je 0x4a95d4
cmp eax, 8
je 0x4a95d4
xor eax, eax
jmp 0x4a95d9
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9611
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a965b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cce
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4a976a
cmp eax, 0xc0
jb 0x4a976a
test al, 0x20
jne 0x4a9693
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a9765
test al, 0x10
jne 0x4a96bb
mov ecx, eax
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x4a9765
test al, 8
jne 0x4a96ef
mov ecx, eax
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x4a9765
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4a972a
and eax, 3
shl eax, 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 0x4a9765
and eax, 1
shl eax, 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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a97d3
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a981d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cce
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4a992b
cmp eax, 0xc0
jb 0x4a992b
test al, 0x20
jne 0x4a9855
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a9926
test al, 0x10
jne 0x4a987b
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x4a9926
test al, 8
jne 0x4a98ad
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x4a9926
test al, 4
movzx eax, byte [edx]
jne 0x4a98e8
and ecx, 3
and eax, 0x3f
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 0x4a9926
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a998d
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a99d7
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cce
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4a9ae5
cmp eax, 0xc0
jb 0x4a9ae5
test al, 0x20
jne 0x4a9a0f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a9ae0
test al, 0x10
jne 0x4a9a35
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x4a9ae0
test al, 8
jne 0x4a9a67
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x4a9ae0
test al, 4
movzx eax, byte [edx]
jne 0x4a9aa2
and ecx, 3
and eax, 0x3f
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 0x4a9ae0
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab80]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9b47
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a9b91
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cce
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x10], edx
je 0x4a9c8e
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x4a9c8e
test al, 0x20
jne 0x4a9bce
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x4a9c7d
test al, 0x10
jne 0x4a9bee
mov ecx, eax
lea edi, [edx + 2]
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x4a9c7d
test al, 8
jne 0x4a9c17
mov ecx, eax
lea edi, [edx + 3]
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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]
jmp 0x4a9c7d
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4a9c4a
and eax, 3
lea edi, [edx + 4]
shl eax, 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]
jmp 0x4a9c7d
and eax, 1
lea edi, [edx + 5]
shl eax, 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
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x10], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab82]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x10], edx
jae 0x4a9e05
mov dword [esp + 0x10], edx
jmp 0x4a9cd0
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a9dac
cmp edx, 0xc0
jb 0x4a9dac
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a9d11
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a9da8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a9d2c
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a9da2
and eax, 0x3f
test dl, 8
jne 0x4a9d4c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a9da2
test dl, 4
jne 0x4a9d75
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 0x4a9da2
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x18]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x55c200]
mov edx, dword [esp + 0x10]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx ecx, byte [eax*8 + 0x55ab82]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x55a5c8], eax
mov ebp, dword [esp + 0xb0]
je 0x4a9e05
add edi, ebx
mov dword [esp + 0x18], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x10], edx
cmp edi, edx
jb 0x4a9cd0
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a9e44
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x4a9e44
cmp eax, dword [ebp + 0x84]
jbe 0x4a9e44
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4a9e44
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aabf2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a6e3c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9e73
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x4a9eac
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a9eac
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4a9ea0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49d260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9ee1
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x4a9f0b
movzx edx, byte [edi]
jmp 0x4a9fd1
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4a9f1f
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x4a9f13
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x4a9fd3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a9f4e
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4a9fcf
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a9f61
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4a9fc9
and eax, 0x3f
test dl, 8
jne 0x4a9f7c
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a9fc9
test dl, 4
jne 0x4a9fa0
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4a9fc9
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x55c200]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx ebx, byte [eax*8 + 0x55ab82]
mov eax, edi
cmp eax, dword [esi + 0x30]
jbe 0x49d260
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x4aa014
movzx edx, byte [edi]
jmp 0x4aa0df
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4aa030
mov edi, edi
mov al, byte [edx - 1]
lea edi, [edx - 1]
mov cl, al
mov edx, edi
and al, 0xc0
cmp al, 0x80
je 0x4aa020
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x4aa0e1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4aa05c
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4aa0dd
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4aa06f
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4aa0d7
and eax, 0x3f
test dl, 8
jne 0x4aa08a
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4aa0d7
test dl, 4
jne 0x4aa0ae
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4aa0d7
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x55c200]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x55e400]
movzx edx, byte [eax*8 + 0x55ab82]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x55a5c8], eax
je 0x4a5ac8
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x4a9ff5
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4aa15e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cce
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4aa26e
cmp eax, 0xc0
jb 0x4aa26e
test al, 0x20
jne 0x4aa196
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4aa269
test al, 0x10
jne 0x4aa1bc
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4aa269
test al, 8
jne 0x4aa1ee
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
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 0x4aa269
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4aa22b
and ecx, 3
and eax, 0x3f
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 0x4aa269
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x4aa2a5
cmp eax, 3
je 0x4aa2a5
xor eax, eax
jmp 0x4aa2aa
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa2e2
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a0cba
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
mov ebx, edx
mov dword [esp + 0x10], edx
je 0x4aa443
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x4aa443
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4aa36b
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4aa447
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4aa397
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4aa447
test dl, 8
jne 0x4aa3c8
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]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4aa447
test dl, 4
jne 0x4aa402
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]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4aa447
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 ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4aa447
mov edi, dword [esp + 0x10]
cmp ecx, 0x24
je 0x4aa472
cmp eax, 0x40
je 0x4aa472
cmp ebx, 0x60
je 0x4aa472
cmp edi, 0xa0
jb 0x4aa466
cmp edx, 0xd7ff
jbe 0x4aa472
cmp edx, 0xe000
jae 0x4aa472
xor eax, eax
jmp 0x4aa477
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4a906c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa4af
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x4a7ee4
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a0cba
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edx
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x10], edx
mov ebx, edx
mov dword [esp + 0x18], edx
je 0x4aa5f1
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x4aa5f1
test dl, 0x20
jne 0x4aa533
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4aa5e0
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4aa55a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4aa5e0
test dl, 8
jne 0x4aa57d
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 0x4aa5e0
test dl, 4
jne 0x4aa5ac
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 0x4aa5e0
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 ecx, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov ebx, edx
mov dword [esp + 0x18], edx
cmp dword [esp + 0x10], 0x20
mov edi, edx
ja 0x4aa612
cmp eax, 0x20
je case.0x4aa718.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4aa718.8203
jmp dword [eax*4 + 0x4abaec]
cmp edx, 0x2000
ja 0x4aa6ec
cmp ecx, 0x2000
je case.0x4aa718.8193
cmp edi, 0x1680
ja 0x4aa6e1
cmp edx, 0x1680
je case.0x4aa718.8193
mov eax, edx
sub eax, 0x85
je case.0x4aa718.8193
sub eax, 0x1b
je case.0x4aa718.8193
mov eax, edx
test eax, eax
jns 0x4aa661
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55c200]
shl eax, 7
and edx, 0x8000007f
jns 0x4aa67b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
cmp dword [eax*4 + 0x55a550], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4a906c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa6d2
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4aa8f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x4a7ee4
cmp edx, 0x180e
jmp 0x4aa652
cmp ebx, 0x3000
ja case.0x4aa718.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4aa718.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4aa718.8203
movzx eax, byte [eax + 0x4abb08]
jmp dword [eax*4 + 0x4abb00]
cmp dword [esi + 0x68], 0
je 0x4aa6a3
jmp case.default.0x4a906c
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4aa769
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cce
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov edi, eax
mov ebx, eax
je 0x4aa880
cmp eax, 0xc0
jb 0x4aa880
test al, 0x20
jne 0x4aa7a6
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x4aa879
test al, 0x10
jne 0x4aa7cc
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4aa879
test al, 8
jne 0x4aa7fe
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
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 0x4aa879
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4aa83b
and ecx, 3
and eax, 0x3f
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 0x4aa879
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x55c200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x55e400]
movzx eax, byte [eax*8 + 0x55ab81]
mov eax, dword [eax*4 + 0x55a550]
cmp eax, 1
je 0x4aa8bc
cmp eax, 3
je 0x4aa8bc
cmp ebx, 0x5f
je 0x4aa8bc
xor eax, eax
jmp 0x4aa8c1
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4a906c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aab0a
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4aab00
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aac0f
mov edi, 0xfffffffa
jmp 0x4a6e38
test edi, edi
jne case.default.0x4a7338
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a7d3f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4aa96b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a7d3f.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4a7d3f.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a7d3f.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aabf2
mov edi, 0xfffffff4
jmp 0x4a6e3c
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x4aaa53
cmp edx, 0xc0
jb 0x4aaa53
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4aa9a7
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4aaa4e
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4aa9c8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4aaa4e
test dl, 8
jne 0x4aa9eb
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 0x4aaa4e
test dl, 4
jne 0x4aaa1a
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 0x4aaa4e
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 ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x55aa40]
lea eax, [eax*4 + 0x55aa40]
jb 0x4aaa75
mov ecx, dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4aaa8e
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4aaa68
cmp dword [esi + 0x68], 0
jne 0x4aaa94
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aac02
xor edi, edi
jmp 0x4a6e3c
cmp dword [esi + 0x68], 0
jne case.0x4a7d3f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aab23
push 0x134
call dword [0xd8e760]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4aab19
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4aac0f
lea edi, [ecx - 6]
jmp 0x4a6e3c
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4aaae4
push ecx
call dword [0xd8e75c]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x49d2d3
mov dword [esi + 0xc], ecx
jmp 0x49d260
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x4a7ee4
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x4a7ee4
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x8c
ret