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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
xor edx, edx
mov dword [ebp - 0xc], ecx
push ebx
mov ecx, dword [eax + 0x7c]
mov eax, ecx
mov ebx, dword [ebp + 0x14]
shr eax, 0x13
and eax, 1
shr ecx, 0x11
mov dword [ebp - 8], eax
and ecx, 1
push esi
push edi
mov edi, dword [ebp + 0x18]
lea eax, [ebx - 0x38]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 4], eax
mov eax, ecx
div ebx
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 0xc]
sub ecx, edx
mov dword [ebp - 0x30], ecx
add ecx, eax
mov dword [ebp - 0x34], ecx
xor edx, edx
mov ecx, dword [ebp - 4]
mov dword [eax + 0x18], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x44], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov eax, ecx
mov dword [ebp - 0x18], edx
mov dword [eax + 0x40], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x4c], 0xffffffff
mov dword [eax + 0x1c], edx
mov dword [eax], esi
mov dword [eax + 0x10], ebx
test edx, edx
je 0x45be44
sub eax, dword [edi + 0x18]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], eax
mov eax, edx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x45be3f
movzx eax, dx
mov dword [ecx + 0x44], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x1c]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x10]
lea eax, [edx + 1]
mov dword [edi + 0x18], eax
cmp edx, ecx
jae 0x46a429
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x14]
jb 0x45be81
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
jmp 0x45be81
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov bl, byte [esi]
movzx ecx, bl
mov byte [ebp + 0xb], bl
mov byte [eax + 0x31], bl
cmp ecx, 0xa6
ja case.0x46724b.15
movzx eax, byte [ecx + 0x46a594]
jmp dword [eax*4 + 0x46a438]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
jne 0x45bf2f
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
nop word [eax + eax]
cmp eax, 0xffffffff
je case.0x46724b.15
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x18]
add ecx, eax
mov eax, edi
mov edx, ecx
mov dword [ebp - 0x14], ecx
sub edx, dword [ebp + 0x14]
or eax, 0x10000
cmp dword [ecx + 0x1c], eax
je 0x45befa
mov eax, dword [edx + 0x4c]
jmp 0x45bed0
mov eax, dword [ebp - 4]
lea esi, [edi + edi]
lea ecx, [esi - 2]
mov dword [eax + 0x48], edi
mov eax, dword [edx + 0x38]
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
sub eax, dword [edi + 0x4c]
mov dword [edx + ecx*4 + 0x54], eax
mov eax, edx
mov eax, dword [eax + 0x38]
sub eax, dword [edi + 0x4c]
mov dword [edx + ecx*4 + 0x58], eax
mov eax, edx
cmp ecx, dword [eax + 0x50]
jb 0x45bf2c
mov dword [eax + 0x50], esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x53c028]
add eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x45be81
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x60]
jbe 0x45bf55
mov dword [edi + 0x60], eax
mov eax, dword [ebp - 4]
mov esi, 0xfffffc19
mov dword [ebp - 0x1c], eax
jmp 0x4668ab
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
je 0x45bfc4
mov eax, dword [eax + 0x4c]
cmp eax, 0xffffffff
je case.0x46724b.15
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ecx + 0x18]
add ebx, eax
mov ecx, ebx
mov dword [ebp - 0x14], ebx
sub ecx, dword [ebp + 0x14]
mov eax, dword [ebx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x45bf9e
mov eax, dword [ecx + 0x4c]
jmp 0x45bf71
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0x3c]
mov dword [ecx + 0x3c], eax
add dword [ecx], 3
jmp 0x45be84
mov edx, dword [eax + 0x3c]
mov ecx, dword [eax + 0x38]
cmp ecx, edx
jne 0x45bfeb
mov eax, dword [edi + 0x78]
test al, 4
jne case.0x466b77.999
test al, 8
je 0x45bfeb
mov eax, dword [edi + 0x4c]
add eax, dword [edi + 0x34]
cmp edx, eax
je case.0x466b77.999
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x46a35a
mov edi, dword [ebp + 0x1c]
mov eax, dword [eax + 0x78]
or eax, dword [edi + 0x7c]
test eax, 0x20000000
je 0x46a358
test bl, bl
je case.0x466b77.999
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax + 0x88]
test esi, esi
je 0x45c072
mov ebx, dword [ebp - 4]
lea edi, [eax + 0x54]
mov edx, dword [edi]
add ebx, 0x38
mov ecx, dword [ebx]
cmp ecx, edx
jae 0x45c059
push dword [ebp - 8]
add eax, 0x8c
push eax
push edx
push esi
push ecx
call fcn.00432b00
add esp, 0x14
test eax, eax
je 0x45c059
mov eax, 1
jmp 0x45c05b
xor eax, eax
mov edx, dword [ebp + 0x1c]
add edx, 0x8c
test eax, eax
je 0x45c0bc
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp case.0x466b77.998
mov edi, dword [ebp - 4]
lea esi, [eax + 0x54]
lea ebx, [eax + 0x8c]
mov eax, dword [esi]
sub eax, dword [ebx]
mov ecx, dword [edi + 0x38]
cmp ecx, eax
ja 0x45c0b5
mov edx, dword [ebp + 0x1c]
mov al, byte [ecx]
cmp al, byte [edx + 0x90]
mov edx, dword [ebx]
jne 0x45c0b5
cmp edx, 1
je 0x45c0ab
mov al, byte [ecx + 1]
mov ecx, dword [ebp + 0x1c]
cmp al, byte [ecx + 0x91]
jne 0x45c0b5
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp case.0x466b77.998
mov edx, ebx
lea ebx, [edi + 0x38]
mov edi, esi
mov eax, dword [ebp + 0x1c]
movzx eax, word [eax + 0x3c]
mov esi, eax
test ax, ax
je 0x45c107
mov eax, dword [edi]
mov ecx, dword [ebx]
dec eax
cmp ecx, eax
jne 0x45c107
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x88], 0
jne 0x45c103
cmp dword [edx], 2
jne 0x45c103
mov edi, dword [ebp + 0x1c]
mov al, byte [ecx]
cmp al, byte [edi + 0x90]
jne case.0x45bea7.13
mov eax, edi
mov dword [eax + 0x1c], 1
cmp esi, 1
ja 0x45d8ef
mov edi, eax
jmp case.0x45bea7.13
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45c149
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x45c132
cmp dword [eax + 0x24], 0
je 0x45c142
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
mov edi, eax
jmp case.0x466b77.999
mov edx, dword [ebp - 8]
inc ecx
mov dword [eax + 0x38], ecx
test edx, edx
je 0x45c17d
cmp ecx, dword [edi + 0x54]
jae 0x45c17d
nop dword [eax]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45c177
mov eax, dword [ebp - 4]
inc ecx
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x45c160
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
inc dword [eax]
jmp 0x45be84
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x45c1cb
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x45c0ab
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x45c1b3
cmp dword [eax + 0x24], 0
je 0x45c0ab
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
mov edi, dword [ebp + 0x1c]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x45be84
mov eax, dword [ebp - 4]
test edx, edx
je 0x45c2eb
lea edi, [esi + 1]
mov dword [eax + 0xc], 1
mov dword [eax], edi
mov edx, 1
movzx eax, byte [edi]
cmp eax, 0xc0
jb 0x45c267
test al, 0x20
jne 0x45c21c
mov eax, dword [ebp - 4]
mov edx, 2
mov dword [eax + 0xc], 2
jmp 0x45c26a
test al, 0x10
jne 0x45c231
mov eax, dword [ebp - 4]
mov edx, 3
mov dword [eax + 0xc], 3
jmp 0x45c267
test al, 8
jne 0x45c246
mov eax, dword [ebp - 4]
mov edx, 4
mov dword [eax + 0xc], 4
jmp 0x45c267
test al, 4
mov eax, dword [ebp - 4]
jne 0x45c25b
mov dword [eax + 0xc], 5
mov edx, 5
jmp 0x45c267
mov dword [eax + 0xc], 6
mov edx, 6
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
mov eax, ecx
sub eax, esi
cmp edx, eax
jbe 0x45c2c0
mov edi, dword [ebp + 0x1c]
cmp esi, ecx
jb case.0x466b77.999
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
mov eax, edi
cmp esi, dword [eax + 0x5c]
ja 0x45c2a6
cmp dword [eax + 0x24], 0
je 0x45c142
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
mov edi, eax
jmp case.0x466b77.999
mov ebx, dword [ebp - 4]
mov cl, byte [esi]
inc esi
mov al, byte [edi]
inc edi
cmp al, cl
mov eax, ebx
mov dword [ebx + 0x38], esi
mov dword [ebx], edi
jne 0x45c2e1
add edx, 0xffffffff
mov dword [eax + 0xc], edx
jne 0x45c2c0
jmp 0x45be7e
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x4668ab
mov ecx, dword [ebp + 0x1c]
mov edi, dword [eax + 0x38]
mov eax, dword [ecx + 0x54]
sub eax, edi
cmp eax, 1
jge 0x45c334
movzx eax, word [ecx + 0x3c]
mov ecx, eax
test ax, ax
je 0x45c0ab
mov eax, dword [ebp + 0x1c]
cmp edi, dword [eax + 0x5c]
ja 0x45c31c
cmp dword [eax + 0x24], 0
je 0x45c0ab
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
mov cl, byte [edi]
lea eax, [edi + 1]
mov ebx, dword [ebp - 4]
mov dl, byte [esi + 1]
mov edi, dword [ebp + 0x1c]
mov dword [ebx + 0x38], eax
cmp dl, cl
jne case.0x466b77.999
lea eax, [esi + 2]
mov dword [ebx], eax
jmp 0x45be81
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov dword [ebp - 0x2c], ebx
cmp ebx, dword [edi + 0x54]
jb 0x45c39d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x5c]
ja 0x45c386
cmp dword [eax + 0x24], 0
je 0x45c142
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
mov edi, eax
jmp case.0x466b77.999
test edx, edx
je 0x45c699
mov ecx, dword [ebp - 4]
mov dword [eax + 0xc], 1
lea eax, [esi + 1]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], 1
mov dword [ecx], eax
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x45c420
test bl, 0x20
jne 0x45c3ef
movzx eax, byte [esi + 2]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [ebp + 0xc], 2
mov eax, ecx
mov dword [eax + 0xc], 2
jmp 0x45c423
test bl, 0x10
jne 0x45c452
movzx ecx, byte [esi + 2]
and ebx, 0xf
movzx eax, byte [esi + 3]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [ebp + 0xc], 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 3
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x2c]
movzx edx, byte [esi]
cmp ebx, 0x80
jae 0x45c52e
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x28]
mov al, byte [ecx + ebx]
cmp al, byte [edx + ecx]
je 0x45c51b
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
test bl, 8
jne 0x45c491
movzx ecx, byte [esi + 2]
and ebx, 7
movzx eax, byte [esi + 3]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [ebp + 0xc], 4
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 4
jmp 0x45c420
movzx eax, byte [esi + 2]
movzx ecx, byte [esi + 3]
and eax, 0x3f
movzx edx, byte [esi + 4]
and ecx, 0x3f
movzx esi, byte [esi + 5]
and edx, 0x3f
mov edi, dword [ebp + 8]
and esi, 0x3f
test bl, 4
jne 0x45c4e2
and ebx, 3
mov dword [ebp + 0xc], 5
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
mov dword [eax + 0xc], 5
shl ebx, 6
or ebx, esi
jmp 0x45c426
and ebx, 1
mov dword [ebp + 0xc], 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 6
jmp 0x45c426
mov ecx, dword [ebp - 4]
lea eax, [edi + 1]
mov dword [ecx], eax
lea eax, [esi + 1]
mov dword [ecx + 0x38], eax
jmp 0x45be7e
lea ecx, [esi + 1]
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x45c638
lea esi, [ecx + 1]
test dl, 0x20
jne 0x45c561
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x45c638
lea edi, [ecx + 2]
test dl, 0x10
jne 0x45c58d
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x45c638
lea eax, [ecx + 3]
mov dword [ebp - 0x2c], eax
test dl, 8
jne 0x45c5c1
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
jmp 0x45c632
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x10], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp - 0x28], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
test dl, 4
jne 0x45c60b
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x10]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp - 0x2c]
jmp 0x45c632
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp - 0x2c]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
mov dword [ecx], eax
cmp edx, ebx
je 0x45be81
mov eax, ebx
test eax, eax
jns 0x45c657
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45c673
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x53d1ac]
add eax, ebx
cmp edx, eax
mov edx, dword [ebp - 8]
je 0x45be84
jmp case.0x466b77.999
cmp dword [ebp - 0x24], 0
je 0x45c70f
movzx edx, byte [esi + 1]
movzx edi, byte [ebx]
cmp edx, 0x80
jae 0x45c6c4
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x28]
mov al, byte [ecx + edx]
cmp al, byte [ecx + edi]
mov edi, dword [ebp + 0x1c]
je 0x45c729
jmp case.0x466b77.999
cmp edi, edx
je 0x45c726
mov eax, edx
test eax, eax
jns 0x45c6d1
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x45c6ed
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x53d1ac]
add eax, edx
cmp edi, eax
mov edi, dword [ebp + 0x1c]
je 0x45c729
jmp case.0x466b77.999
mov edx, dword [edi + 0x28]
movzx eax, byte [esi + 1]
movzx ecx, byte [ebx]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
je 0x45c729
jmp case.0x466b77.999
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
lea eax, [ebx + 1]
mov dword [ecx + 0x38], eax
lea eax, [esi + 2]
mov dword [ecx], eax
jmp 0x45be81
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x2c], ebx
cmp ebx, dword [eax + 0x54]
jb 0x45c786
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x45c0ab
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x5c]
ja 0x45c76e
cmp dword [eax + 0x24], 0
je 0x45c0ab
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
lea eax, [esi + 1]
test edx, edx
je 0x45ca12
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
lea ecx, [eax + 1]
movzx ebx, byte [eax]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
cmp ebx, 0xc0
jb 0x45c898
lea edx, [ecx + 1]
test bl, 0x20
jne 0x45c7cd
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x45c895
lea esi, [ecx + 2]
test bl, 0x10
jne 0x45c7f8
movzx ecx, byte [ecx]
and ebx, 0xf
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax], esi
jmp 0x45c895
lea edi, [ecx + 3]
test bl, 8
jne 0x45c82b
movzx ecx, byte [ecx]
and ebx, 7
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax], edi
jmp 0x45c895
movzx edx, byte [edx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 4
jne 0x45c86a
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp + 0xc]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
jmp 0x45c890
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x45c9a6
lea esi, [ecx + 1]
test dl, 0x20
jne 0x45c8cf
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x45c9a6
lea edi, [ecx + 2]
test dl, 0x10
jne 0x45c8fb
movzx eax, byte [ecx]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x45c9a6
test dl, 8
jne 0x45c92f
movzx eax, byte [ecx]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
mov esi, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
mov dword [esi + 0x38], eax
jmp 0x45c9a6
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x28], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp - 0x2c], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
test dl, 4
jne 0x45c979
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x28]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x45c9a0
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp ebx, edx
je case.0x466b77.999
cmp byte [ebp + 0xb], 0x20
jne 0x45be81
cmp ebx, 0x7f
jbe 0x45c9fb
mov eax, ebx
test eax, eax
jns 0x45c9c9
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45c9e5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
lea eax, [eax + eax*2]
add ebx, dword [eax*4 + 0x53d1ac]
jmp 0x45ca02
mov eax, dword [edi + 0x2c]
movzx ebx, byte [eax + ebx]
cmp ebx, edx
mov edx, dword [ebp - 8]
jne 0x45be84
jmp case.0x466b77.999
cmp dword [ebp - 0x24], 0
lea ecx, [ebx + 1]
movzx edi, byte [ebx]
je 0x45caa3
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
movzx edx, byte [eax]
lea eax, [esi + 2]
mov dword [ebx], eax
cmp edx, edi
jne 0x45ca3c
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
cmp byte [ebp + 0xb], 0x20
jne 0x45be7e
cmp edx, 0x7f
jbe 0x45ca86
mov eax, edx
test eax, eax
jns 0x45ca54
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x45ca70
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x53d1ac]
jmp 0x45ca90
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x2c]
movzx edx, byte [eax + edx]
cmp edx, edi
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
jne 0x45be84
jmp case.0x466b77.999
movzx edx, byte [eax]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
cmp edx, edi
je 0x45c0ab
cmp byte [ebp + 0xb], 0x20
jne 0x45cacc
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x2c]
movzx eax, byte [eax + edx]
cmp eax, edi
je 0x45c0ab
lea eax, [esi + 2]
jmp 0x45be79
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
lea edx, [eax + 0x24]
add esi, 3
mov dword [edx], ecx
mov dword [eax + 0x20], ecx
mov dword [eax], esi
jmp 0x45cc1f
mov eax, dword [ebp - 4]
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [edx], ecx
mov dword [eax], esi
jmp 0x45cc1c
mov eax, dword [ebp - 4]
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 1
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [edx], ecx
mov dword [eax], esi
jmp 0x45cc1c
mov eax, dword [ebp - 4]
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [edx], ecx
mov dword [eax], esi
jmp 0x45cc1c
mov eax, dword [ebp - 4]
inc esi
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [edx], 0xffffffff
mov dword [eax], esi
jmp 0x45cc1c
mov eax, dword [ebp - 4]
inc esi
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [edx], 0xffffffff
mov dword [eax], esi
jmp 0x45cc1c
mov eax, dword [ebp - 4]
inc esi
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [edx], 1
mov dword [eax], esi
jmp 0x45cc1c
movzx ecx, byte [esi]
cmp bl, 0x2e
mov edx, dword [ebp - 4]
sbb eax, eax
inc esi
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax], esi
mov eax, dword [ecx*4 + 0x55a780]
mov dword [edx + 0x20], eax
add edx, 0x24
mov eax, dword [ecx*4 + 0x55a7ac]
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x55a7d8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x45d0c7
mov dword [eax + 0xc], 1
mov dword [eax + 8], esi
movzx ebx, byte [esi]
cmp ebx, 0xc0
jb 0x45d0b0
lea ecx, [esi + 2]
test bl, 0x20
jne 0x45cc68
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
mov dword [eax + 0xc], 2
or edx, ebx
mov dword [eax], ecx
jmp 0x45cd55
test bl, 0x10
jne 0x45cc99
movzx edx, byte [esi + 1]
and ebx, 0xf
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or edx, ebx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 3
lea eax, [esi + 3]
jmp 0x45cd50
test bl, 8
jne 0x45ccd3
movzx edx, byte [esi + 1]
and ebx, 7
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 4
lea eax, [esi + 4]
jmp 0x45cd50
movzx edx, byte [esi + 4]
movzx eax, byte [esi + 1]
and edx, 0x3f
movzx ecx, byte [ecx]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
and edi, 0x3f
mov dword [ebp + 0xc], edx
mov edx, ebx
test bl, 4
jne 0x45cd1f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov dword [eax + 0xc], 5
shl edx, 6
lea eax, [esi + 5]
or edx, dword [ebp + 0xc]
jmp 0x45cd50
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 6
lea eax, [esi + 6]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
cmp byte [ebp + 0xb], 0x2e
jb 0x45cd9c
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x53d1ac]
add ecx, edx
cmp ecx, edx
je 0x45cd9c
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
push ecx
call fcn.00432ca0
add esp, 8
jmp 0x45cd9e
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x2c], 1
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
mov dword [ebp + 0xc], edx
cmp edx, 1
jb 0x45cee2
nop dword [eax]
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [eax + 0x38]
mov edi, dword [eax + 0xc]
mov ecx, dword [ecx + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x45ce40
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x45cdf7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45ce00
add ecx, 4
add edx, 4
sub esi, 4
jae 0x45cde6
cmp esi, 0xfffffffc
je 0x45cec3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45ce3d
cmp esi, 0xfffffffd
je 0x45cec3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45ce3d
cmp esi, 0xfffffffe
je 0x45cec3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45ce3d
cmp esi, 0xffffffff
je 0x45cec3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x45cec3
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x45d022
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x45d022
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x45ce81
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45ce86
add ecx, 4
add edx, 4
sub esi, 4
jae 0x45ce70
cmp esi, 0xfffffffc
je 0x45cec3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45d022
cmp esi, 0xfffffffd
je 0x45cec3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45d022
cmp esi, 0xfffffffe
je 0x45cec3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45d022
cmp esi, 0xffffffff
je 0x45cec3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45d022
mov ecx, dword [ebp - 4]
lea eax, [ebx + edi]
mov edx, dword [ebp - 0x2c]
inc edx
mov dword [ebp - 0x2c], edx
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edx, dword [ebp + 0xc]
jbe 0x45cdc0
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x2c], ecx
cmp edx, ecx
je 0x45be7e
cmp dword [ebp - 0xc], 0
je 0x469ddd
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
cmp edx, ecx
jae 0x45d09b
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [eax + 0x38]
mov edi, dword [eax + 0xc]
mov ecx, dword [ecx + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x45cf96
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x45cf51
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45cf5a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x45cf40
cmp esi, 0xfffffffc
je 0x45d007
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45cf93
cmp esi, 0xfffffffd
je 0x45d007
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45cf93
cmp esi, 0xfffffffe
je 0x45d007
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45cf93
cmp esi, 0xffffffff
je 0x45d007
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x45d007
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x45d067
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x45d067
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x45cfd1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45cfd6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x45cfc0
cmp esi, 0xfffffffc
je 0x45d007
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45d067
cmp esi, 0xfffffffd
je 0x45d007
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45d067
cmp esi, 0xfffffffe
je 0x45d007
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45d067
cmp esi, 0xffffffff
je 0x45d007
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45d067
mov edx, dword [ebp + 0xc]
lea eax, [ebx + edi]
mov ebx, dword [ebp - 4]
inc edx
mov dword [ebp + 0xc], edx
mov dword [ebx + 0x38], eax
cmp edx, dword [ebp - 0x2c]
jb 0x45cf10
jmp 0x45d09b
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x45c0ab
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x45c0ab
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x5c]
ja 0x45d04f
cmp dword [eax + 0x24], 0
je 0x45c0ab
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x45d098
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x45d098
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x5c]
ja 0x45d088
cmp dword [eax + 0x24], 0
je 0x45d098
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
je 0x45be84
jmp 0x4678dc
mov ecx, dword [ebp - 4]
lea eax, [esi + 1]
mov esi, ecx
mov dword [ecx], eax
mov eax, ecx
mov ecx, dword [ebp - 8]
mov dword [eax + 0x28], ebx
add eax, 0x24
jmp 0x45d0d7
movzx ebx, byte [esi]
mov dword [eax + 0x28], ebx
lea eax, [esi + 1]
mov esi, dword [ebp - 4]
mov dword [esi], eax
mov eax, edx
cmp byte [ebp + 0xb], 0x2e
jb 0x45d246
cmp dword [ebp - 0x24], 0
je 0x45d11d
test ecx, ecx
jne 0x45d11d
cmp ebx, 0x7f
jbe 0x45d11d
mov eax, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x53d1ac]
add eax, ebx
jmp 0x45d124
mov eax, dword [edi + 0x2c]
movzx eax, byte [eax + ebx]
mov dword [esi + 0x2c], eax
mov edx, 1
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, edx
jb 0x45d163
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x45d1bb
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x45d155
cmp dword [ebx + 0x2c], eax
jne 0x45c0ab
lea eax, [ecx + 1]
inc edx
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edx, esi
jbe 0x45d136
mov edx, dword [eax + 0x24]
mov edi, dword [ebp + 0x1c]
cmp esi, edx
je 0x45be81
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x466fb1
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
cmp esi, edx
jae 0x45d220
nop dword [eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x45d1f4
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x45d1ae
cmp dword [ebx + 0x2c], eax
jne 0x45d220
inc esi
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
cmp esi, edx
jb 0x45d190
jmp 0x45d220
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x45c0ab
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x45d1dc
cmp dword [eax + 0x24], 0
je 0x45c0ab
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x45d21d
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x45d20d
cmp dword [eax + 0x24], 0
je 0x45d21d
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp edi, 2
mov edi, dword [ebp + 0x1c]
je 0x45be84
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x45be81
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1a
jmp 0x46a27e
mov ebx, dword [esi + 0x20]
mov edi, 1
cmp ebx, edi
jb 0x45d282
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x54]
jae 0x45d2d6
mov eax, dword [ebp - 4]
movzx edx, byte [esi]
mov ecx, dword [eax + 0x28]
lea eax, [esi + 1]
mov esi, dword [ebp - 4]
mov dword [esi + 0x38], eax
cmp ecx, edx
jne 0x45c0ab
inc edi
cmp edi, ebx
jbe 0x45d252
lea eax, [esi + 0x24]
mov edx, dword [eax]
mov edi, dword [ebp + 0x1c]
cmp ebx, edx
je 0x45be81
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x469d42
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
cmp ebx, edx
jae 0x45d338
nop
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x45d30f
mov esi, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [esi + 0x28], eax
jne 0x45d338
inc ebx
lea eax, [ecx + 1]
mov dword [esi + 0x38], eax
cmp ebx, edx
jb 0x45d2b0
jmp 0x45d338
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x45c0ab
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x5c]
ja 0x45d2f7
cmp dword [eax + 0x24], 0
je 0x45c0ab
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x45d338
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x45d328
cmp dword [eax + 0x24], 0
je 0x45d338
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
mov edx, dword [ebp - 8]
cmp edi, 2
mov edi, dword [ebp + 0x1c]
je 0x45be84
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x45be81
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1c
jmp 0x46a27e
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], ebx
mov dword [eax], esi
jmp 0x45d4c6
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 1
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x45d4c9
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 0
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x45d4c9
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x45d4c9
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [ebp + 0xc], 1
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x45d4c9
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x45d4c9
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x45d4c9
movzx ecx, byte [esi]
cmp bl, 0x48
mov edx, dword [ebp - 4]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, dword [ebp - 4]
inc esi
mov ebx, dword [ecx*4 + 0x55a780]
mov dword [eax], esi
mov dword [eax + 0x20], ebx
mov eax, dword [ecx*4 + 0x55a7ac]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x55a7d8]
mov dword [ebp - 0xc], eax
mov dword [ebp + 0xc], ebx
mov ecx, dword [ebp - 4]
movzx eax, byte [esi]
inc esi
mov edx, eax
mov dword [ecx + 0x28], eax
mov dword [ecx], esi
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x45d5f8
cmp eax, 0xc0
jb 0x45d5f8
lea edi, [esi + 1]
test al, 0x20
jne 0x45d50f
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov dword [eax], edi
jmp 0x45d5fb
lea ebx, [esi + 2]
test al, 0x10
jne 0x45d53e
mov edx, eax
movzx eax, byte [esi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov dword [eax], ebx
jmp 0x45d5f8
lea ecx, [esi + 3]
test al, 8
jne 0x45d578
mov edx, eax
movzx eax, byte [esi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov dword [eax], ecx
jmp 0x45d5f5
movzx edx, byte [esi + 3]
lea ecx, [esi + 4]
movzx edi, byte [edi]
and edx, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x28], ecx
and ebx, 0x3f
movzx ecx, byte [esi]
and ecx, 0x3f
mov dword [ebp - 0x2c], edx
mov edx, eax
test al, 4
jne 0x45d5c3
mov eax, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x2c]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x28]
jmp 0x45d5f0
movzx eax, byte [esi + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x2c]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [esi + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp byte [ebp + 0xb], 0x48
jb 0x45da8d
test ecx, ecx
jne 0x45d60e
cmp dword [ebp - 0x24], ecx
je 0x45d643
cmp edx, 0x7f
jbe 0x45d643
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
mov ecx, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edi, dword [eax*4 + 0x53d1ac]
add edi, edx
jmp 0x45d64d
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x2c]
movzx edi, byte [eax + edx]
mov eax, dword [ebp - 4]
test ecx, ecx
mov dword [eax + 0x2c], edi
mov esi, dword [eax + 0x20]
mov ecx, esi
mov dword [ebp + 0xc], esi
je 0x45d7fe
mov eax, 1
mov dword [ebp + 8], eax
cmp esi, eax
jb 0x45d842
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
cmp edx, dword [edi + 0x54]
jae 0x45d7c6
movzx ecx, byte [edx]
inc edx
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], edx
cmp ecx, 0xc0
jb 0x45d6e1
lea esi, [edx + 1]
test cl, 0x20
jne 0x45d6b4
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, ebx
mov dword [eax + 0x38], esi
jmp 0x45d6de
lea edi, [edx + 2]
test cl, 0x10
jne 0x45d70d
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x28], ecx
je case.0x466b77.999
cmp dword [edx + 0x2c], ecx
je case.0x466b77.999
mov ecx, dword [ebp - 4]
inc eax
mov dword [ebp + 8], eax
mov ecx, dword [ecx + 0x20]
cmp eax, ecx
jbe 0x45d676
jmp 0x45d842
lea ebx, [edx + 3]
test cl, 8
jne 0x45d741
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45d6db
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x45d78f
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x2c]
shl ecx, 6
or ecx, esi
mov dword [edx + 0x38], eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
jmp 0x45d6e4
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov eax, dword [ebp + 8]
jmp 0x45d6e4
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x5c]
ja 0x45d7e7
cmp dword [eax + 0x24], 0
je 0x45c142
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
mov edi, eax
jmp case.0x466b77.999
mov ebx, 1
cmp esi, ebx
jb 0x45d845
mov ecx, esi
nop dword [eax]
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x54]
jae 0x45d8be
movzx eax, byte [esi]
cmp edx, eax
je 0x45c0ab
cmp edi, eax
je 0x45c0ab
lea eax, [esi + 1]
inc ebx
mov esi, dword [ebp - 4]
mov dword [esi + 0x38], eax
mov eax, esi
cmp ebx, ecx
jbe 0x45d810
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x24]
mov dword [ebp + 8], ebx
cmp ecx, ebx
je 0x45be7e
cmp dword [ebp - 0xc], 0
je 0x469be5
mov edx, dword [ebp - 8]
mov esi, dword [eax + 0x38]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 4], esi
test edx, edx
je 0x45da23
cmp ecx, ebx
jae 0x45da1e
nop dword [eax]
mov edi, dword [ebp + 0x1c]
mov eax, 1
cmp esi, dword [edi + 0x54]
jae 0x45d9f6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x45d9be
test dl, 0x20
jne 0x45d8fb
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45d9be
movzx eax, word [eax + 0x3c]
mov edi, dword [ebp + 0x1c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp esi, dword [edi + 0x5c]
ja 0x45d8df
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
jbe case.0x466b77.999
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
test dl, 0x10
jne 0x45d925
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x45d9bb
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 8
jne 0x45d958
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x45d9be
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x45d990
and edx, 3
shl edx, 6
or edx, eax
mov eax, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x45d9b8
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
mov eax, 6
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
cmp dword [edi + 0x28], edx
je 0x45d9de
cmp dword [edi + 0x2c], edx
je 0x45d9de
add esi, eax
inc ecx
mov dword [ebp + 0xc], ecx
mov eax, edi
mov dword [eax + 0x38], esi
cmp ecx, ebx
jb 0x45d880
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x45be84
mov ebx, dword [ebp - 4]
jmp 0x467a8c
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x45d9e1
cmp esi, dword [edi + 0x5c]
ja 0x45da0c
cmp dword [edi + 0x24], 0
je 0x45d9e1
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x45d9e1
mov edi, dword [ebp + 0x1c]
jmp 0x45d9e4
mov edi, dword [ebp + 0x1c]
cmp ecx, ebx
jae 0x45da7b
nop word [eax + eax]
cmp esi, dword [edi + 0x54]
jae 0x45da52
mov edx, dword [ebp - 4]
movzx eax, byte [esi]
cmp dword [edx + 0x28], eax
je 0x45da78
cmp dword [edx + 0x2c], eax
je 0x45da78
mov eax, edx
inc esi
inc ecx
mov dword [eax + 0x38], esi
cmp ecx, ebx
jb 0x45da30
jmp 0x45da78
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x45da78
cmp esi, dword [edi + 0x5c]
ja 0x45da68
cmp dword [edi + 0x24], 0
je 0x45da78
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x45be84
mov ebx, dword [ebp - 4]
jmp 0x4670d0
test ecx, ecx
je 0x45dc28
mov esi, dword [ebp + 0xc]
mov eax, 1
mov dword [ebp + 8], eax
cmp esi, eax
jb 0x45dc6b
mov edx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
nop
mov ecx, dword [edx + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x45dbf5
movzx edx, byte [ecx]
inc ecx
mov esi, dword [ebp - 4]
mov dword [esi + 0x38], ecx
cmp edx, 0xc0
jb 0x45db19
lea esi, [ecx + 1]
test dl, 0x20
jne 0x45daec
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x45db16
lea edi, [ecx + 2]
test dl, 0x10
jne 0x45db3c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x28], edx
je case.0x466b77.999
mov edx, dword [ebp - 4]
inc eax
mov dword [ebp + 8], eax
mov esi, dword [edx + 0x20]
cmp eax, esi
jbe 0x45dab0
jmp 0x45dc6b
lea ebx, [ecx + 3]
test dl, 8
jne 0x45db70
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45db13
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x45dbbe
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
mov dword [ecx + 0x38], eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
jmp 0x45db1c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp + 8]
jmp 0x45db1c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45dc13
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov edi, dword [ebp + 0xc]
mov ebx, 1
mov esi, edi
cmp edi, ebx
jb 0x45dc71
jmp 0x45dc43
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp edi, dword [eax + 0x54]
jae 0x45dce0
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
cmp edx, ecx
je 0x45c0ab
inc ebx
cmp ebx, esi
jbe 0x45dc40
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x24]
mov dword [ebp + 8], ebx
cmp esi, ebx
je 0x45be7e
cmp dword [ebp - 0xc], 0
je 0x469bfa
mov edx, dword [eax + 0x38]
mov dword [eax + 4], edx
test ecx, ecx
je 0x45de2a
cmp edi, ebx
jae 0x45dde8
mov ecx, dword [ebp + 0x1c]
mov eax, 1
cmp edx, dword [ecx + 0x54]
jae 0x45de00
movzx ecx, byte [edx]
cmp ecx, 0xc0
jb 0x45ddcd
movzx eax, byte [edx + 1]
and eax, 0x3f
test cl, 0x20
jne 0x45dd18
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x45ddcd
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x4676fd
mov eax, dword [ebp + 0x1c]
cmp edi, dword [eax + 0x5c]
mov edi, eax
ja 0x45dd03
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
test cl, 0x10
jne 0x45dd3b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x45ddcd
test cl, 8
jne 0x45dd67
and ecx, 7
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
mov eax, 4
jmp 0x45ddcd
movzx esi, byte [edx + 2]
movzx edi, byte [edx + 3]
and esi, 0x3f
movzx ebx, byte [edx + 4]
and edi, 0x3f
and ebx, 0x3f
test cl, 4
jne 0x45dd9f
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, 5
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x45ddc7
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
mov eax, 6
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 4]
cmp dword [esi + 0x28], ecx
je 0x45dde8
add edx, eax
inc edi
mov dword [ebp + 0xc], edi
mov eax, esi
mov dword [eax + 0x38], edx
cmp edi, ebx
jb 0x45dca2
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x45be84
mov ebx, dword [ebp - 4]
jmp 0x467c2f
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x45ddeb
cmp edx, dword [edi + 0x5c]
ja 0x45de18
cmp dword [edi + 0x24], 0
je 0x45ddeb
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x45ddeb
cmp edi, ebx
jae 0x45de4e
nop
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x45de66
mov ecx, dword [ebp - 4]
movzx eax, byte [edx]
cmp dword [ecx + 0x28], eax
je 0x45de4e
mov eax, ecx
inc edx
inc edi
mov dword [eax + 0x38], edx
cmp edi, ebx
jb 0x45de30
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x45be84
mov ebx, dword [ebp - 4]
jmp 0x467167
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x45de51
cmp edx, dword [edi + 0x5c]
ja 0x45de7e
cmp dword [edi + 0x24], 0
je 0x45de51
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x45de51
mov eax, dword [ebp - 4]
lea edi, [esi + 1]
add esi, 0x21
mov dword [eax + 8], edi
mov dword [eax], esi
movzx ecx, byte [esi]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x45deb4
movzx eax, byte [eax + 0x46a644]
jmp dword [eax*4 + 0x46a63c]
mov edx, dword [ebp - 4]
lea eax, [esi + 1]
mov ebx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov edx, dword [ecx*4 + 0x55a5f8]
mov dword [eax + 0x20], edx
mov eax, dword [ecx*4 + 0x55a624]
mov dword [ebx + 0x24], eax
mov ebx, dword [ecx*4 + 0x55a650]
mov dword [ebp - 0xc], ebx
jmp 0x45df49
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], edx
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
mov eax, ecx
mov ecx, 0xffffffff
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], eax
movzx eax, byte [esi]
mov eax, dword [eax*4 + 0x55a650]
mov dword [ebp - 0xc], eax
lea eax, [esi + 5]
mov dword [ecx], eax
jmp 0x45df49
mov eax, dword [ebp - 4]
mov edx, 1
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
cmp dword [ebp - 8], 0
mov esi, 1
mov dword [ebp + 0xc], edx
mov eax, edx
je 0x45e16d
mov dword [ebp - 0x10], esi
cmp edx, esi
jb 0x45e0c2
mov edi, dword [ebp + 0x1c]
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x45e13a
movzx ebx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp ebx, 0xc0
jb 0x45e087
lea edx, [ecx + 1]
test bl, 0x20
jne 0x45dfb3
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45e084
lea esi, [ecx + 2]
test bl, 0x10
jne 0x45dfdf
movzx ecx, byte [ecx]
and ebx, 0xf
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x45e081
lea edi, [ecx + 3]
test bl, 8
jne 0x45e013
movzx ecx, byte [ecx]
and ebx, 7
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x45e07e
movzx edx, byte [edx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x2c], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 4
jne 0x45e052
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x2c]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
jmp 0x45e078
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
cmp ebx, 0xff
jbe 0x45e095
cmp byte [ebp + 0xb], 0x6e
jmp 0x45e0aa
mov eax, dword [eax + 8]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x466b77.999
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0x10], esi
mov eax, dword [eax + 0x20]
cmp esi, eax
jbe 0x45df70
mov edi, dword [ebp - 4]
mov ebx, dword [edi + 0x24]
mov dword [ebp - 0x2c], ebx
cmp eax, ebx
je 0x45be7e
cmp dword [ebp - 0xc], 0
je 0x469c0d
mov edx, dword [ebp - 8]
mov eax, edi
mov edi, dword [eax + 0x38]
mov dword [eax + 4], edi
mov eax, dword [eax + 0x24]
test edx, edx
je 0x45e32e
cmp dword [ebp + 0xc], eax
jae 0x45e30c
nop dword [eax]
mov edx, dword [ebp + 0x1c]
mov esi, 1
cmp edi, dword [edx + 0x54]
jae 0x45e2e6
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x45e2a1
test bl, 0x20
jne 0x45e1ed
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov esi, 2
jmp 0x45e299
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45e158
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
cmp edx, 1
jb 0x45e0c2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x45e1b8
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ecx, edx
and ecx, 7
shr edx, 3
mov eax, 1
shl eax, cl
test byte [edx + edi], al
mov eax, dword [ebp - 4]
je 0x45c2e1
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x45e176
jmp 0x45e0c2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45e1d8
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
test bl, 0x10
jne 0x45e20f
movzx ecx, byte [edi + 1]
and ebx, 0xf
movzx eax, byte [edi + 2]
and ecx, 0x3f
shl ebx, 6
mov esi, 3
or ebx, ecx
jmp 0x45e299
test bl, 8
jne 0x45e23a
movzx ecx, byte [edi + 1]
and ebx, 7
movzx eax, byte [edi + 2]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45e299
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
and eax, 0x3f
movzx edx, byte [edi + 3]
and ecx, 0x3f
movzx esi, byte [edi + 4]
and edx, 0x3f
and esi, 0x3f
test bl, 4
jne 0x45e279
and ebx, 3
shl ebx, 6
or ebx, eax
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 5
jmp 0x45e2a1
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 6
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp ebx, 0xff
jbe 0x45e2af
cmp byte [ebp + 0xb], 0x6e
jmp 0x45e2c7
mov eax, dword [ebp - 4]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
mov eax, dword [eax + 8]
test byte [ebx + eax], dl
je 0x45e2e1
mov eax, dword [ebp - 4]
add edi, esi
mov dword [eax + 0x38], edi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebp - 0x2c]
jb 0x45e100
mov edi, dword [ebp + 0x1c]
jmp 0x45e313
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x45e311
cmp edi, dword [edx + 0x5c]
mov edi, edx
ja 0x45e2fe
cmp dword [edi + 0x24], 0
je 0x45e313
mov dword [edi + 0x1c], esi
cmp ecx, 1
ja 0x45d8ef
jmp 0x45e313
mov edi, dword [ebp + 0x1c]
jmp 0x45e316
mov edi, edx
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x45be84
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x46a27e
cmp dword [ebp + 0xc], eax
jae 0x45e399
mov edx, dword [ebp + 0x1c]
cmp edi, dword [edx + 0x54]
jae 0x45e36f
mov eax, dword [ebp - 4]
mov edx, 1
movzx esi, byte [edi]
mov ecx, esi
shr esi, 3
and ecx, 7
mov eax, dword [eax + 8]
shl edx, cl
test byte [esi + eax], dl
je 0x45e36a
mov eax, dword [ebp - 4]
inc edi
mov dword [eax + 0x38], edi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, ebx
jb 0x45e333
mov edi, dword [ebp + 0x1c]
jmp 0x45e3a0
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x45e39e
cmp edi, dword [edx + 0x5c]
mov edi, edx
ja 0x45e387
cmp dword [edi + 0x24], 0
je 0x45e3a0
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x45e3a0
mov edi, dword [ebp + 0x1c]
jmp 0x45e3a3
mov edi, edx
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x45be84
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x466b77.999
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x18
jmp 0x46a27e
mov ecx, dword [ebp - 4]
lea eax, [esi + 3]
mov dword [ecx + 8], eax
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
mov eax, ecx
add edx, esi
mov dword [eax], edx
movzx ecx, byte [edx]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x45e3f9
movzx eax, byte [eax + 0x46a658]
jmp dword [eax*4 + 0x46a650]
mov ebx, dword [ecx*4 + 0x55a5f8]
lea eax, [edx + 1]
mov edx, dword [ebp - 4]
mov esi, dword [ecx*4 + 0x55a650]
mov dword [ebp - 0xc], esi
mov dword [edx], eax
mov eax, edx
lea edx, [eax + 0x24]
mov dword [ebp - 0x10], edx
mov dword [eax + 0x20], ebx
mov eax, dword [ecx*4 + 0x55a624]
mov dword [edx], eax
jmp 0x45e47b
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
mov esi, dword [ebp - 4]
shl ebx, 8
lea esi, [esi + 0x24]
or ebx, eax
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], ebx
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi], ecx
mov eax, ecx
mov ecx, 0xffffffff
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [esi], eax
movzx eax, byte [edx]
mov eax, dword [eax*4 + 0x55a650]
mov dword [ebp - 0xc], eax
lea eax, [edx + 5]
mov dword [ecx], eax
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp + 0xc], 1
mov dword [ebp + 8], ecx
cmp ebx, 1
jae 0x45e4c2
jmp 0x45e60a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
add eax, 0x24
mov dword [ebp - 0x10], eax
mov dword [ebp + 0xc], 1
mov dword [ebp - 0x28], 1
mov dword [eax], 1
mov dword [ecx + 0x20], 1
mov dword [ebp + 8], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x45e7b8
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x45e5e0
cmp edx, 0xc0
jb 0x45e5e0
lea esi, [ecx + 1]
test dl, 0x20
jne 0x45e50f
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x45e5dd
lea edi, [ecx + 2]
test dl, 0x10
jne 0x45e53b
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x45e5da
lea ebx, [ecx + 3]
test dl, 8
jne 0x45e56f
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45e5da
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x45e5ae
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x45e5d4
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
push dword [ebp - 8]
push dword [eax + 8]
push edx
call fcn.00433bc0
add esp, 0xc
test eax, eax
je case.0x466b77.999
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebp - 0x28]
jbe 0x45e4c2
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x10]
mov ebx, dword [ebx]
mov dword [ebp + 0xc], ebx
cmp ecx, ebx
je 0x45be81
cmp dword [ebp - 0xc], 0
je 0x469db9
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [edx + 4], eax
cmp ecx, ebx
jae 0x45e776
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov edi, 1
mov ecx, dword [ebp + 0x1c]
mov esi, dword [eax + 0x38]
cmp esi, dword [ecx + 0x54]
jae 0x45e78e
mov ecx, dword [ebp - 8]
movzx edx, byte [esi]
test ecx, ecx
je 0x45e74a
cmp edx, 0xc0
jb 0x45e74a
test dl, 0x20
jne 0x45e687
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45e73f
test dl, 0x10
jne 0x45e6a9
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x45e73c
test dl, 8
jne 0x45e6d4
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45e73c
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x45e719
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 8]
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
jmp 0x45e747
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
push ecx
push dword [eax + 8]
push edx
call fcn.00433bc0
add esp, 0xc
test eax, eax
je 0x45e773
mov ecx, dword [ebp - 4]
lea eax, [esi + edi]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp + 8]
inc ecx
mov dword [ebp + 8], ecx
cmp ecx, ebx
jb 0x45e640
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
je 0x45be81
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x46a27e
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x45e776
cmp esi, dword [edi + 0x5c]
ja 0x45e7a6
cmp dword [edi + 0x24], 0
je 0x45e776
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x45e776
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45e7d6
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x45e829
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x45e814
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x45e85d
cmp ecx, 0xc0
jb 0x45e85d
lea edi, [edx + 1]
test cl, 0x20
jne 0x45e87e
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.default.0x45f72f
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
je case.default.0x45f72f
jmp case.0x466b77.999
lea ebx, [edx + 2]
test cl, 0x10
jne 0x45e8a7
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45e85a
test cl, 8
jne 0x45e8de
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
mov dword [ebx + 0x38], eax
jmp 0x45e85a
movzx edi, byte [edi]
lea eax, [edx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [edx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test cl, 4
jne 0x45e934
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x2c]
shl ecx, 6
or ecx, edi
mov dword [edx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
jmp 0x45e860
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
jmp 0x45e860
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45e9a7
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45e992
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x45e9db
cmp edx, 0xc0
jb 0x45e9db
lea edi, [ecx + 1]
test dl, 0x20
jne 0x45ea01
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x466b77.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x466b77.999
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x45be81
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x45ea2a
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45e9d8
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x45ea6a
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x45e9de
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x45eac0
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x45e9de
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45e9de
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45eb33
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45eb1e
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x45eb67
cmp edx, 0xc0
jb 0x45eb67
lea edi, [ecx + 1]
test dl, 0x20
jne 0x45eb88
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x45f4a5.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x45f4a5.8203
jmp case.0x466b77.999
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x45ebb1
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45eb64
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x45ebf1
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x45eb6a
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x45ec47
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x45eb6a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45eb6a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45ecba
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45eca5
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x45ecee
cmp edx, 0xc0
jb 0x45ecee
lea edi, [ecx + 1]
test dl, 0x20
jne 0x45ed14
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x466b77.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x466b77.999
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x45be81
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x45ed3d
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45eceb
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x45ed7d
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x45ecf1
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x45edd3
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x45ecf1
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45ecf1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x45ee46
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x45ee31
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x45ee7a
cmp ecx, 0xc0
jb 0x45ee7a
lea edi, [edx + 1]
test cl, 0x20
jne 0x45ee9b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.default.0x45f72f
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
je case.default.0x45f72f
jmp case.0x466b77.999
lea ebx, [edx + 2]
test cl, 0x10
jne 0x45eec4
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45ee77
test cl, 8
jne 0x45eefb
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
mov dword [ebx + 0x38], eax
jmp 0x45ee77
movzx edi, byte [edi]
lea eax, [edx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [edx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test cl, 4
jne 0x45ef51
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x2c]
shl ecx, 6
or ecx, edi
mov dword [edx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
jmp 0x45ee7d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
jmp 0x45ee7d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45efc4
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45efaf
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x45eff8
cmp edx, 0xc0
jb 0x45eff8
lea edi, [ecx + 1]
test dl, 0x20
jne 0x45f01e
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x466b77.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x466b77.999
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x45be81
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x45f047
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45eff5
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x45f087
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x45effb
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x45f0dd
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x45effb
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45effb
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45f150
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45f13b
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x45f243
cmp edx, 0xc0
jb 0x45f243
lea esi, [ecx + 1]
test dl, 0x20
jne 0x45f182
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x45f235
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x45f1a2
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x45f232
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x45f1ca
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x45f232
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 8], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x45f214
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x45f246
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov ecx, dword [ebp - 4]
cmp edx, 0x85
ja 0x45f2a7
je case.0x45f25c.11
add edx, 0xfffffff6
cmp edx, 3
ja case.0x466b77.999
jmp dword [edx*4 + 0x46a664]
cmp esi, dword [edi + 0x54]
jb 0x45f28e
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x45f25c.10
cmp esi, dword [edi + 0x5c]
ja 0x45f286
cmp dword [edi + 0x24], 0
je case.0x45f25c.10
cmp ecx, 1
jmp 0x45ff84
cmp byte [esi], 0xa
jne case.0x45f25c.10
lea eax, [esi + 1]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x45be81
sub edx, 0x2028
je case.0x45f25c.11
sub edx, 1
jne case.0x466b77.999
cmp word [edi + 0x3e], 2
jne case.0x45f25c.10
jmp case.0x466b77.999
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45f306
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45f2f1
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x45f33a
cmp edx, 0xc0
jb 0x45f33a
lea edi, [ecx + 1]
test dl, 0x20
jne 0x45f372
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0x2000
ja 0x45f47d
je case.0x466b77.999
cmp edx, 0xa0
ja 0x45f466
je case.0x466b77.999
cmp edx, 9
je case.0x466b77.999
cmp edx, 0x20
jmp 0x45e9f1
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x45f39b
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45f337
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x45f3db
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x45f33d
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x45f431
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x45f33d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45f33d
cmp edx, 0x1680
je case.0x466b77.999
cmp edx, 0x180e
jmp 0x45e9f1
cmp edx, 0x3000
ja case.0x45f4a5.8203
je case.0x466b77.999
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45f4a5.8203
movzx eax, byte [edx + 0x46a67c]
jmp dword [eax*4 + 0x46a674]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45f4ea
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45f4d5
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x45f51e
cmp edx, 0xc0
jb 0x45f51e
lea edi, [ecx + 1]
test dl, 0x20
jne 0x45f55c
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0x2000
ja 0x45f66d
je case.0x45f4a5.8203
cmp edx, 0xa0
ja 0x45f650
je case.0x45f4a5.8203
cmp edx, 9
je case.0x45f4a5.8203
cmp edx, 0x20
je case.0x45f4a5.8203
jmp case.0x466b77.999
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x45f585
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45f51b
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x45f5c5
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x45f521
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x45f61b
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x45f521
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45f521
cmp edx, 0x1680
je case.0x45f4a5.8203
cmp edx, 0x180e
je case.0x45f4a5.8203
jmp case.0x466b77.999
cmp edx, 0x3000
ja case.0x466b77.999
je case.0x45f4a5.8203
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x466b77.999
movzx eax, byte [edx + 0x46a6e4]
jmp dword [eax*4 + 0x46a6dc]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x45f6da
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x45f6c5
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x45f70e
cmp ecx, 0xc0
jb 0x45f70e
lea edi, [edx + 1]
test cl, 0x20
jne 0x45f736
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
cmp ecx, 0x85
ja 0x45f821
je case.0x466b77.999
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45f72f
jmp dword [ecx*4 + 0x46a744]
lea ebx, [edx + 2]
test cl, 0x10
jne 0x45f75f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45f70b
test cl, 8
jne 0x45f796
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
mov dword [ebx + 0x38], eax
jmp 0x45f70b
movzx edi, byte [edi]
lea eax, [edx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [edx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test cl, 4
jne 0x45f7ec
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x2c]
shl ecx, 6
or ecx, edi
mov dword [edx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
jmp 0x45f711
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
jmp 0x45f711
sub ecx, 0x2028
je case.0x466b77.999
sub ecx, 1
je case.0x466b77.999
lea eax, [esi + 1]
mov dword [edx], eax
jmp 0x45be81
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45f87e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45f869
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x45f8b2
cmp edx, 0xc0
jb 0x45f8b2
lea edi, [ecx + 1]
test dl, 0x20
jne 0x45f8da
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0x85
ja 0x45f9ce
je case.0x45f4a5.8203
add edx, 0xfffffff6
cmp edx, 3
ja case.0x466b77.999
jmp dword [edx*4 + 0x46a754]
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x45f903
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45f8af
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x45f943
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x45f8b5
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x45f999
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x45f8b5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45f8b5
sub edx, 0x2028
je case.0x45f4a5.8203
sub edx, 1
je case.0x45f4a5.8203
jmp case.0x466b77.999
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45fa26
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45fa11
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x45fb3e
cmp edx, 0xc0
jb 0x45fb3e
lea edi, [ecx + 1]
test dl, 0x20
jne 0x45fa64
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x45fb3e
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x45fa90
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x45fb3e
lea eax, [ecx + 3]
mov dword [ebp + 0xc], eax
test dl, 8
jne 0x45fac7
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x45fb38
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x28], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp - 0x2c], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
test dl, 4
jne 0x45fb11
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x28]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x45fb38
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, edx
xor ebx, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
mov cl, byte [ebp + 0xb]
cmp cl, 0xf
lea edi, [eax + eax*2]
sete bl
movzx eax, byte [esi + 1]
cmp eax, 0xd
ja case.0x46724b.15
jmp dword [eax*4 + 0x46a764]
cmp cl, 0xf
jne 0x45fd7b
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
mov al, byte [edi*4 + 0x53d1a9]
cmp al, 9
je 0x45fba7
cmp al, 5
je 0x45fba7
cmp al, 8
je 0x45fba7
xor eax, eax
jmp 0x45fbac
mov eax, 1
cmp eax, ebx
jne 0x45fd7b
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
movzx ecx, byte [edi*4 + 0x53d1a9]
xor edx, edx
movzx eax, byte [esi + 2]
cmp eax, dword [ecx*4 + 0x5583e0]
sete dl
cmp edx, ebx
jne 0x45fd7b
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x53d1a9]
sete cl
cmp ecx, ebx
jne 0x45fd7b
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x53d1a8]
jmp 0x45fbf0
mov al, byte [esi + 2]
cmp al, byte [edi*4 + 0x53d1a8]
je 0x45fba7
movzx edx, word [edi*4 + 0x53d1b0]
movzx ecx, al
and edx, 0x3ff
mov eax, ecx
shr eax, 5
add edx, eax
and ecx, 0x8000001f
jns 0x45fc42
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53cea8], eax
jne 0x45fba7
xor eax, eax
jmp 0x45fbac
movzx eax, byte [edi*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x45fba7
cmp eax, 3
je 0x45fba7
xor eax, eax
jmp 0x45fbac
cmp edx, 0x20
ja 0x45fc9f
je case.0x45fb78.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x45fd14.8203
jmp dword [edx*4 + 0x46a79c]
cmp edx, 0x2000
ja 0x45fcf4
je case.0x45fb78.0
cmp edx, 0x1680
ja 0x45fcec
je case.0x45fb78.0
sub edx, 0x85
je case.0x45fb78.0
sub edx, 0x1b
je case.0x45fb78.0
movzx eax, byte [edi*4 + 0x53d1a9]
xor ecx, ecx
cmp dword [eax*4 + 0x5583e0], 6
sete cl
cmp ecx, ebx
jmp 0x45fb82
cmp edx, 0x180e
jmp 0x45fcca
cmp edx, 0x3000
ja case.0x45fd14.8203
je case.0x45fb78.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45fd14.8203
movzx eax, byte [edx + 0x46a7b8]
jmp dword [eax*4 + 0x46a7b0]
movzx eax, byte [edi*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x45fd42
cmp eax, 3
je 0x45fd42
cmp edx, 0x5f
je 0x45fd42
xor eax, eax
cmp eax, ebx
jmp 0x45fb82
mov eax, 1
cmp eax, ebx
jmp 0x45fb82
movzx eax, byte [esi + 2]
mov ecx, dword [eax*4 + 0x53cbd8]
lea eax, [eax*4 + 0x53cbd8]
cmp edx, ecx
jb 0x45fd71
lea eax, [eax + 4]
cmp edx, ecx
je 0x45fd83
mov ecx, dword [eax]
cmp edx, ecx
jae 0x45fd64
cmp byte [ebp + 0xb], 0xf
jne 0x45c0ab
lea eax, [esi + 3]
jmp 0x45be79
cmp byte [ebp + 0xb], 0xf
jmp 0x45fb82
cmp edx, 0x24
je 0x45fd42
cmp edx, 0x40
je 0x45fd42
cmp edx, 0x60
je 0x45fd42
cmp edx, 0xa0
jb 0x45fdab
cmp edx, 0xd7ff
jbe 0x45fd42
cmp edx, 0xe000
jae 0x45fd42
xor eax, eax
cmp eax, ebx
jmp 0x45fb82
mov ax, word [edi*4 + 0x53d1b0]
xor ecx, ecx
shr ax, 0xb
cmp al, byte [esi + 2]
sete cl
cmp ecx, ebx
jmp 0x45fb82
movzx ecx, byte [esi + 2]
movzx edx, word [edi*4 + 0x53d1b2]
mov eax, ecx
and edx, 0xfff
shr eax, 5
add edx, eax
and ecx, 0x8000001f
jns 0x45fdfd
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x53c650]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, ebx
jmp 0x45fb82
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x45fe58
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x45fe43
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x45ff4b
cmp edx, 0xc0
jb 0x45ff4b
lea esi, [ecx + 1]
test dl, 0x20
jne 0x45fe8a
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x45ff3d
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x45feaa
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x45ff3a
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x45fed2
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x45ff3a
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 8], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x45ff1c
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x45ff4b
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.004325c0
mov ecx, dword [ebp - 4]
add esp, 0x18
mov dword [ecx + 0x38], eax
cmp eax, dword [edi + 0x54]
jb case.0x45f25c.10
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je case.0x45f25c.10
cmp eax, dword [edi + 0x5c]
ja 0x45ff81
cmp dword [edi + 0x24], 0
je case.0x45f25c.10
cmp edx, 1
mov dword [edi + 0x1c], 1
ja 0x45d8ef
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x45be81
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edx, eax
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], ecx
mov dword [eax], esi
jmp 0x4600ab
mov eax, dword [ebp - 4]
xor ebx, ebx
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov edx, eax
mov dword [eax + 0x24], ecx
cmp byte [esi], 0x5c
setne bl
add esi, 3
mov dword [ebp - 0xc], ebx
mov dword [eax], esi
jmp 0x4600ab
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edx, eax
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4600ab
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edx, eax
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4600ab
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edx, eax
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x4600ab
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edx, eax
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x4600ab
movzx ecx, byte [esi]
inc esi
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov dword [eax], esi
mov eax, dword [ecx*4 + 0x55a62c]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x55a658]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x55a684]
mov dword [ebp - 0xc], eax
mov cl, byte [esi]
inc esi
movzx eax, cl
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 4]
mov dword [eax], esi
cmp cl, 0x10
je 0x4600c8
cmp cl, 0xf
je 0x4600c8
or edx, 0xffffffff
jmp 0x4600e0
mov ebx, dword [ebp - 4]
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov dword [eax], ecx
movzx eax, byte [ecx]
mov dword [ebx + 0x2c], eax
lea eax, [ecx + 1]
mov dword [ebx], eax
mov eax, ebx
mov edi, dword [eax + 0x20]
mov dword [ebp - 0x2c], edx
mov dword [ebp + 8], edi
test edi, edi
je 0x460190
mov esi, dword [eax + 0x28]
mov dword [ebp - 0x10], esi
test edx, edx
js 0x4617f5
xor eax, eax
cmp esi, 0xf
sete al
mov dword [ebp + 0xc], eax
cmp edx, 0xd
ja case.0x46724b.15
jmp dword [edx*4 + 0x46a818]
cmp esi, 0xf
je 0x45c0ab
mov esi, 1
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x4601e3
cmp dword [ebp - 8], 0
lea eax, [edx + 1]
mov ebx, dword [ebp - 4]
movzx ecx, byte [edx]
mov dword [ebx + 0x38], eax
je 0x460188
cmp ecx, 0xc0
jb 0x460188
test cl, 0x20
jne 0x460166
lea eax, [edx + 2]
jmp 0x460185
test cl, 0x10
jne 0x460170
lea eax, [edx + 3]
jmp 0x460185
test cl, 8
jne 0x46017a
lea eax, [edx + 4]
jmp 0x460185
lea eax, [edx + 5]
test cl, 4
je 0x460185
lea eax, [edx + 6]
mov dword [ebx + 0x38], eax
inc esi
cmp esi, edi
jbe 0x460130
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov edi, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], edx
cmp edx, edi
je 0x45be7e
cmp dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x2c]
je 0x469c25
mov esi, dword [eax + 0x38]
mov dword [eax + 4], esi
mov ebx, dword [eax + 0x28]
mov dword [ebp - 0x28], ebx
test ecx, ecx
js 0x464437
xor eax, eax
cmp ebx, 0xf
sete al
mov dword [ebp - 0x10], eax
cmp ecx, 0xd
ja case.0x46724b.15
jmp dword [ecx*4 + 0x46a850]
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x460203
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x4603a8
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x460341
cmp ecx, 0xc0
jb 0x460341
lea esi, [edx + 1]
test cl, 0x20
jne 0x460270
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x460341
lea edi, [edx + 2]
test cl, 0x10
jne 0x46029c
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x46033e
lea ebx, [edx + 3]
test cl, 8
jne 0x4602d0
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x46033b
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x28], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x46030f
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x28]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x460335
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov eax, ecx
test eax, eax
jns 0x46034a
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and ecx, 0x8000007f
jns 0x460365
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x53d1a9]
cmp al, 9
je 0x460389
cmp al, 5
je 0x460389
cmp al, 8
je 0x460389
xor eax, eax
jmp 0x46038e
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x10], ebx
cmp ebx, edi
jbe 0x460220
jmp 0x46018d
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x4603c8
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x46056b
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x460506
cmp edx, 0xc0
jb 0x460506
lea esi, [ecx + 1]
test dl, 0x20
jne 0x460435
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x460506
lea edi, [ecx + 2]
test dl, 0x10
jne 0x460461
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x460503
lea ebx, [ecx + 3]
test dl, 8
jne 0x460495
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x460500
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x28], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x4604d4
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x28]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4604fa
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov eax, edx
test eax, eax
jns 0x46050f
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x46052a
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x10], ebx
cmp ebx, edi
jbe 0x4603e5
jmp 0x46018d
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x46058b
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x10], ebx
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x46072f
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4606d1
cmp edx, 0xc0
jb 0x4606d1
lea esi, [ecx + 1]
test dl, 0x20
jne 0x460600
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4606d1
lea edi, [ecx + 2]
test dl, 0x10
jne 0x46062c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4606ce
lea ebx, [ecx + 3]
test dl, 8
jne 0x460660
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x4606cb
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x28], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x46069f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x28]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4606c5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov eax, edx
test eax, eax
jns 0x4606da
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x4606f5
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x10], ebx
cmp ebx, edi
jbe 0x4605b0
jmp 0x46018d
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x46074f
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x10], ebx
nop dword [eax]
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x4608ef
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x460891
cmp edx, 0xc0
jb 0x460891
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4607c0
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x460891
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4607ec
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x46088e
lea ebx, [ecx + 3]
test dl, 8
jne 0x460820
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x46088b
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x28], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x46085f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x28]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x460885
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov eax, edx
test eax, eax
jns 0x46089a
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x4608b5
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a8]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x10], ebx
cmp ebx, edi
jbe 0x460770
jmp 0x46018d
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x46090f
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x10], ebx
nop dword [eax]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x460adf
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x460a51
cmp ecx, 0xc0
jb 0x460a51
lea esi, [edx + 1]
test cl, 0x20
jne 0x460980
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x460a51
lea edi, [edx + 2]
test cl, 0x10
jne 0x4609ac
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x460a4e
lea ebx, [edx + 3]
test cl, 8
jne 0x4609e0
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x460a4b
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x28], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x460a1f
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x28]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x460a45
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov eax, ecx
test eax, eax
jns 0x460a5a
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and ecx, 0x8000007f
jns 0x460a75
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x2c]
movzx eax, byte [edx*4 + 0x53d1a8]
cmp eax, ecx
je 0x460ac0
movzx edx, word [edx*4 + 0x53d1b0]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53cea8], eax
jne 0x460ac0
xor eax, eax
jmp 0x460ac5
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x10], ebx
cmp ebx, edi
jbe 0x460930
jmp 0x46018d
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x460aff
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x10], ebx
nop dword [eax]
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x460cae
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x460c41
cmp edx, 0xc0
jb 0x460c41
lea esi, [ecx + 1]
test dl, 0x20
jne 0x460b70
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x460c41
lea edi, [ecx + 2]
test dl, 0x10
jne 0x460b9c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x460c3e
lea ebx, [ecx + 3]
test dl, 8
jne 0x460bd0
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x460c3b
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x28], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x460c0f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x28]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x460c35
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov eax, edx
test eax, eax
jns 0x460c4a
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x460c65
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x460c8f
cmp eax, 3
je 0x460c8f
xor eax, eax
jmp 0x460c94
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x10], ebx
cmp ebx, edi
jbe 0x460b20
jmp 0x46018d
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x460cce
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x28], ebx
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x460ef8
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x460e14
cmp edx, 0xc0
jb 0x460e14
lea esi, [ecx + 1]
test dl, 0x20
jne 0x460d40
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x460e11
lea edi, [ecx + 2]
test dl, 0x10
jne 0x460d6c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x460e0e
lea ebx, [ecx + 3]
test dl, 8
jne 0x460da0
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x460e0b
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x460ddf
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x460e05
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
cmp edx, 0x20
ja 0x460e2e
je case.0x460eec.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x460eec.8203
jmp dword [eax*4 + 0x46a888]
cmp edx, 0x2000
ja 0x460ed0
je case.0x460eec.8193
cmp edx, 0x1680
ja 0x460ec8
je case.0x460eec.8193
mov eax, edx
sub eax, 0x85
je case.0x460eec.8193
sub eax, 0x1b
je case.0x460eec.8193
mov eax, edx
test eax, eax
jns 0x460e71
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x460e8c
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
cmp dword [eax*4 + 0x5583e0], 6
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, edi
jbe 0x460cf0
jmp 0x46018d
cmp edx, 0x180e
jmp 0x460e62
cmp edx, 0x3000
ja case.0x460eec.8203
je case.0x460eec.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x460eec.8203
movzx eax, byte [eax + 0x46a8a4]
jmp dword [eax*4 + 0x46a89c]
cmp esi, 0xf
jmp 0x460eb1
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x460f18
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x4610bc
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x461059
cmp edx, 0xc0
jb 0x461059
lea esi, [ecx + 1]
test dl, 0x20
jne 0x460f85
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x461059
lea edi, [ecx + 2]
test dl, 0x10
jne 0x460fb1
movzx eax, byte [ecx]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x461056
lea ebx, [ecx + 3]
test dl, 8
jne 0x460fe8
movzx eax, byte [ecx]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x461053
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x461027
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x46104d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp + 8]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x46109d
cmp eax, 3
je 0x46109d
cmp edx, 0x5f
je 0x46109d
xor eax, eax
jmp 0x4610a2
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, edi
jbe 0x460f35
jmp 0x46018d
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x4610dc
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp + 0xc], ebx
nop dword [eax]
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x461272
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x461227
cmp edx, 0xc0
jb 0x461227
lea esi, [ecx + 1]
test dl, 0x20
jne 0x461150
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x461221
lea edi, [ecx + 2]
test dl, 0x10
jne 0x46117c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x46121e
lea ebx, [ecx + 3]
test dl, 8
jne 0x4611b0
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x46121b
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x4611ef
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x461215
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax*4 + 0x53cbd8]
lea eax, [eax*4 + 0x53cbd8]
cmp edx, ecx
jb 0x46124d
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x461267
mov ecx, dword [eax]
cmp edx, ecx
jae 0x461240
cmp esi, 0xf
jne 0x45c0ab
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, edi
jbe 0x461100
jmp 0x46018d
cmp esi, 0xf
je 0x45c0ab
jmp 0x461256
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x461292
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x28], ebx
nop
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x46141e
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4613d4
cmp edx, 0xc0
jb 0x4613d4
lea esi, [ecx + 1]
test dl, 0x20
jne 0x461300
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4613d4
lea edi, [ecx + 2]
test dl, 0x10
jne 0x46132c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4613d1
lea ebx, [ecx + 3]
test dl, 8
jne 0x461363
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x4613ce
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x4613a2
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4613c8
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp + 8]
cmp edx, 0x24
je 0x4613ff
cmp edx, 0x40
je 0x4613ff
cmp edx, 0x60
je 0x4613ff
cmp edx, 0xa0
jb 0x4613f3
cmp edx, 0xd7ff
jbe 0x4613ff
cmp edx, 0xe000
jae 0x4613ff
xor eax, eax
jmp 0x461404
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, edi
jbe 0x4612b0
jmp 0x46018d
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x46143e
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x28], ebx
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x4615e2
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x461581
cmp ecx, 0xc0
jb 0x461581
lea esi, [edx + 1]
test cl, 0x20
jne 0x4614b0
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x461581
lea edi, [edx + 2]
test cl, 0x10
jne 0x4614dc
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x46157e
lea ebx, [edx + 3]
test cl, 8
jne 0x461510
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x46157b
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x46154f
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x3c]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x461575
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp + 8]
mov eax, ecx
test eax, eax
jns 0x46158a
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4615a5
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 4]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x53d1b0]
shr eax, 0xb
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, edi
jbe 0x461460
jmp 0x46018d
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x461602
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov ebx, 1
mov dword [ebp - 0x28], ebx
nop
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x4617c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x461744
cmp edx, 0xc0
jb 0x461744
lea esi, [ecx + 1]
test dl, 0x20
jne 0x461670
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x461741
lea edi, [ecx + 2]
test dl, 0x10
jne 0x46169c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x46173e
lea ebx, [ecx + 3]
test dl, 8
jne 0x4616d0
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x46173b
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x46170f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x461735
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x2c]
mov eax, edx
test eax, eax
jns 0x461750
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x46176b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x53d1b2]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x53c650]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp + 0xc]
je 0x45c0ab
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, edi
jbe 0x461620
jmp 0x46018d
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x4617e0
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
cmp esi, 0x16
jne 0x4619a7
mov edi, dword [ebp + 0x1c]
mov ebx, 1
mov dword [ebp + 8], ebx
nop dword [eax]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x461974
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x461919
cmp edx, 0xc0
jb 0x461919
lea esi, [ecx + 1]
test dl, 0x20
jne 0x46184e
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x46190b
mov ebx, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x46186e
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [ebx]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x461908
mov edi, esi
lea esi, [ecx + 3]
mov dword [ebp + 0xc], edi
test dl, 8
jne 0x461899
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [ebx]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
jmp 0x461905
mov eax, dword [ebp + 0xc]
movzx edi, byte [ecx]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
movzx eax, byte [eax]
and esi, 0x3f
and eax, 0x3f
mov dword [ebp + 0xc], eax
lea eax, [ecx + 4]
test dl, 4
jne 0x4618e7
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x461919
movzx eax, byte [eax]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.004325c0
mov esi, dword [ebp - 4]
add esp, 0x18
mov dword [esi + 0x38], eax
cmp eax, dword [edi + 0x54]
jb 0x46195f
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x46195f
cmp eax, dword [edi + 0x5c]
ja 0x46194f
cmp dword [edi + 0x24], 0
je 0x46195f
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [esi + 0x20]
jbe 0x461810
jmp 0x46018d
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x461992
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
lea eax, [esi - 6]
cmp eax, 0xf
ja case.0x46724b.15
mov esi, dword [ebp - 8]
test esi, esi
je 0x46289f
jmp dword [eax*4 + 0x46a904]
jmp dword [eax*4 + 0x46aa44]
cmp edx, edi
jae 0x462fa2
nop word [eax + eax]
mov ecx, dword [ebp + 0x1c]
mov eax, 1
cmp esi, dword [ecx + 0x54]
jae 0x462fba
cmp dword [ebp - 8], 0
movzx ecx, byte [esi]
je 0x462f90
cmp ecx, 0xc0
jb 0x462f90
test cl, 0x20
jne 0x462f6a
mov eax, 2
jmp 0x462f90
test cl, 0x10
jne 0x462f76
mov eax, 3
jmp 0x462f90
test cl, 8
jne 0x462f82
mov eax, 4
jmp 0x462f90
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp ebx, 0xf
je 0x462fa2
add esi, eax
inc edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
cmp edx, edi
jb 0x462f40
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x45be84
mov ebx, dword [ebp - 4]
jmp 0x46926d
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x462fd2
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
nop dword [eax + eax]
mov eax, dword [ebp + 0x1c]
mov ecx, 1
cmp esi, dword [eax + 0x54]
jae 0x46315c
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x4630ea
cmp edx, 0xc0
jb 0x4630ea
test dl, 0x20
jne 0x463030
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4630e2
test dl, 0x10
jne 0x463052
movzx eax, byte [esi + 1]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, 3
movzx eax, byte [esi + 2]
jmp 0x4630e2
test dl, 8
jne 0x46307d
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4630e2
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x4630bf
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
jmp 0x4630ea
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x4630f3
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x46310e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x53d1a9]
cmp al, 9
je 0x463132
cmp al, 5
je 0x463132
cmp al, 8
je 0x463132
xor eax, eax
jmp 0x463137
mov eax, 1
cmp eax, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp - 4]
add esi, ecx
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, edi
jb 0x462ff0
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x46317c
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x463302
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x463294
cmp edx, 0xc0
jb 0x463294
test dl, 0x20
jne 0x4631e0
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x46328c
test dl, 0x10
jne 0x463202
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x46328c
test dl, 8
jne 0x46322d
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x46328c
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x46326c
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x463294
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x46329d
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x4632b8
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [edx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x4631a0
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x463322
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
nop
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x46349b
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x463434
cmp edx, 0xc0
jb 0x463434
test dl, 0x20
jne 0x463380
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x46342c
test dl, 0x10
jne 0x4633a2
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x46342c
test dl, 8
jne 0x4633cd
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x46342c
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x46340c
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x463434
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x46343d
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x463458
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [edx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x463340
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x4634bb
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
mov ebx, dword [ebp - 4]
nop dword [eax + eax]
mov eax, dword [ebp + 0x1c]
mov edx, 1
cmp esi, dword [eax + 0x54]
jae 0x463631
cmp dword [ebp - 8], 0
movzx ecx, byte [esi]
je 0x4635ce
cmp ecx, 0xc0
jb 0x4635ce
movzx eax, byte [esi + 1]
test cl, 0x20
jne 0x463520
and ecx, 0x1f
mov edx, 2
jmp 0x4635c6
and eax, 0x3f
test cl, 0x10
jne 0x46353e
and ecx, 0xf
mov edx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x4635c6
test cl, 8
jne 0x463562
and ecx, 7
mov edx, 4
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x4635c6
movzx edx, byte [esi + 2]
movzx edi, byte [esi + 3]
and edx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test cl, 4
jne 0x4635a0
and ecx, 3
shl ecx, 6
or ecx, eax
shl ecx, 6
or ecx, edx
mov edx, 5
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0xc]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp - 4]
jmp 0x4635ce
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
or ecx, edx
mov edx, 6
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0xc]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, ecx
test eax, eax
jns 0x4635d7
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4635f2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a8]
cmp eax, dword [ebx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp + 8]
add esi, edx
inc eax
mov dword [ebx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, edi
jb 0x4634e0
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x463651
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], edx
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
mov ebx, dword [ebp - 4]
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x4637fe
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x46376a
cmp edx, 0xc0
jb 0x46376a
test dl, 0x20
jne 0x4636b0
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x463762
test dl, 0x10
jne 0x4636d2
movzx eax, byte [esi + 1]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
mov edi, 3
movzx eax, byte [esi + 2]
jmp 0x463762
test dl, 8
jne 0x4636fd
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x463762
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x46373f
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
jmp 0x46376a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x463773
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x46378e
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebx + 0x2c]
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x53d1a8]
cmp eax, ecx
je 0x4637d6
movzx edx, word [edx*4 + 0x53d1b0]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53cea8], eax
jne 0x4637d6
xor eax, eax
jmp 0x4637db
mov eax, 1
cmp eax, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [ebx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x463670
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x46381e
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
nop dword [eax + eax]
mov eax, dword [ebp + 0x1c]
mov ecx, 1
cmp esi, dword [eax + 0x54]
jae 0x4639b2
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x46393a
cmp edx, 0xc0
jb 0x46393a
test dl, 0x20
jne 0x463880
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x463932
test dl, 0x10
jne 0x4638a2
movzx eax, byte [esi + 1]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, 3
movzx eax, byte [esi + 2]
jmp 0x463932
test dl, 8
jne 0x4638cd
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x463932
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x46390f
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
jmp 0x46393a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x463943
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x46395e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x463988
cmp eax, 3
je 0x463988
xor eax, eax
jmp 0x46398d
mov eax, 1
cmp eax, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp - 4]
add esi, ecx
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, edi
jb 0x463840
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x4639d2
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
nop
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x463bde
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x463aea
cmp edx, 0xc0
jb 0x463aea
test dl, 0x20
jne 0x463a30
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x463ae2
test dl, 0x10
jne 0x463a52
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x463ae2
test dl, 8
jne 0x463a7d
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x463ae2
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x463abf
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x28]
jmp 0x463aea
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x28]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x20
ja 0x463b04
je case.0x463bd2.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x463bd2.8203
jmp dword [eax*4 + 0x46ac18]
cmp edx, 0x2000
ja 0x463bb2
je case.0x463bd2.8193
cmp edx, 0x1680
ja 0x463baa
je case.0x463bd2.8193
mov eax, edx
sub eax, 0x85
je case.0x463bd2.8193
sub eax, 0x1b
je case.0x463bd2.8193
mov eax, edx
test eax, eax
jns 0x463b47
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x463b62
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
cmp dword [eax*4 + 0x5583e0], 6
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp - 4]
add esi, edi
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x4639f0
jmp 0x462fa2
cmp edx, 0x180e
jmp 0x463b38
cmp edx, 0x3000
ja case.0x463bd2.8203
je case.0x463bd2.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x463bd2.8203
movzx eax, byte [eax + 0x46ac34]
jmp dword [eax*4 + 0x46ac2c]
cmp ebx, 0xf
jmp 0x463b87
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x463bfe
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
nop dword [eax + eax]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x463d83
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x463d14
cmp edx, 0xc0
jb 0x463d14
test dl, 0x20
jne 0x463c60
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x463d0c
test dl, 0x10
jne 0x463c82
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x463d0c
test dl, 8
jne 0x463cad
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x463d0c
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x463cec
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x463d14
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x463d58
cmp eax, 3
je 0x463d58
cmp edx, 0x5f
je 0x463d58
xor eax, eax
jmp 0x463d5d
mov eax, 1
cmp eax, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp - 4]
add esi, edi
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x463c20
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x463da3
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x463f10
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x463eba
cmp edx, 0xc0
jb 0x463eba
test dl, 0x20
jne 0x463e00
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x463eb2
test dl, 0x10
jne 0x463e22
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x463eb2
test dl, 8
jne 0x463e4d
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x463eb2
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x463e8f
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x28]
jmp 0x463eba
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x28]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax*4 + 0x53cbd8]
lea eax, [eax*4 + 0x53cbd8]
cmp edx, ecx
jb 0x463edf
lea eax, [eax + 4]
cmp edx, ecx
je 0x463f05
mov ecx, dword [eax]
cmp edx, ecx
jae 0x463ed2
cmp ebx, 0xf
jne 0x462fa2
mov eax, dword [ebp - 4]
add esi, edi
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x463dc0
jmp 0x462fa2
cmp ebx, 0xf
je 0x462fa2
jmp 0x463ee8
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x463f30
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov ecx, 1
cmp esi, dword [eax + 0x54]
jae 0x46409f
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x46404a
cmp edx, 0xc0
jb 0x46404a
test dl, 0x20
jne 0x463f90
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x464042
test dl, 0x10
jne 0x463fb2
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x464042
test dl, 8
jne 0x463fdd
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x464042
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x46401f
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
jmp 0x46404a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x24
je 0x464075
cmp edx, 0x40
je 0x464075
cmp edx, 0x60
je 0x464075
cmp edx, 0xa0
jb 0x464069
cmp edx, 0xd7ff
jbe 0x464075
cmp edx, 0xe000
jae 0x464075
xor eax, eax
jmp 0x46407a
mov eax, 1
cmp eax, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp - 4]
add esi, ecx
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, edi
jb 0x463f50
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x4640bf
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x46423e
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x4641d4
cmp edx, 0xc0
jb 0x4641d4
test dl, 0x20
jne 0x464120
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x4641cc
test dl, 0x10
jne 0x464142
movzx eax, byte [esi + 1]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
mov edi, 3
movzx eax, byte [esi + 2]
jmp 0x4641cc
test dl, 8
jne 0x46416d
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4641cc
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x4641ac
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x4641d4
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x4641dd
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x4641f8
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x53d1b0]
shr eax, 0xb
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [edx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x4640e0
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x46425e
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp edx, edi
jae 0x462fa2
mov ebx, dword [ebp - 4]
nop
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x464402
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x46437d
cmp edx, 0xc0
jb 0x46437d
test dl, 0x20
jne 0x4642c0
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x464375
test dl, 0x10
jne 0x4642e2
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x464375
test dl, 8
jne 0x464310
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x464375
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x464352
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
jmp 0x46437d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, dword [ebx + 0x2c]
mov eax, edx
test eax, eax
jns 0x464389
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x4643a4
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x53d1b2]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x53c650]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp - 0x10]
je 0x462fa2
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [ebx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x464280
jmp 0x462fa2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x462fa5
cmp esi, dword [edi + 0x5c]
ja 0x464422
cmp dword [edi + 0x24], 0
je 0x462fa5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp 0x462fa5
cmp ebx, 0x16
jne 0x4645e5
cmp edx, edi
mov edi, dword [ebp + 0x1c]
jae 0x4645d3
jmp 0x464453
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x4645ad
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x464555
cmp edx, 0xc0
jb 0x464555
lea esi, [ecx + 1]
test dl, 0x20
jne 0x464491
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x464547
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4644b1
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x464544
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4644dc
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x464544
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 0xc], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x464526
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x464555
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.004325c0
mov esi, dword [ebp - 4]
add esp, 0x18
mov dword [esi + 0x38], eax
cmp eax, dword [edi + 0x54]
jb 0x46459b
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x46459b
cmp eax, dword [edi + 0x5c]
ja 0x46458b
cmp dword [edi + 0x24], 0
je 0x46459b
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [esi + 0x24]
jb 0x464450
jmp 0x4645d3
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4645d3
cmp ecx, dword [edi + 0x5c]
ja 0x4645c3
cmp dword [edi + 0x24], 0
je 0x4645d3
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x45be84
jmp 0x469b95
lea eax, [ebx - 6]
cmp eax, 0xf
ja case.0x46724b.15
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x465571
jmp dword [eax*4 + 0x46ac94]
jmp dword [eax*4 + 0x46ad4c]
mov ecx, dword [ebp + 0x1c]
xor eax, eax
cmp bl, 0x74
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx edi, byte [esi + 3]
movzx eax, byte [esi + 4]
movzx edx, byte [esi + 1]
shl edi, 8
or edi, eax
shl edx, 8
movzx eax, byte [esi + 2]
or edx, eax
movzx eax, word [ecx + 0x42]
imul edx, eax
lea eax, [esi + 5]
add edx, dword [ecx + 0x44]
mov dword [ebx], eax
test edi, edi
je 0x465c2c
nop dword [eax]
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
mov dword [ebx + 0x14], ecx
cmp ecx, dword [ebx + 0x50]
jae 0x465bf3
cmp dword [ebx + ecx*4 + 0x54], 0xffffffff
jne 0x465c2c
mov ecx, dword [ebp + 0x1c]
movzx eax, word [ecx + 0x42]
add edx, eax
test edi, edi
jg 0x465bd0
jmp 0x465c2c
xor eax, eax
cmp bl, 0x72
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx*2 - 2]
mov dword [ebx + 0x14], eax
lea eax, [esi + 3]
mov dword [ebx], eax
mov edx, dword [ebx]
movzx ecx, byte [edx]
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x465c44
movzx eax, byte [eax + 0x46ae9c]
jmp dword [eax*4 + 0x46ae94]
mov edi, dword [ecx*4 + 0x55a5f8]
lea eax, [edx + 1]
mov edx, dword [ebp - 4]
mov esi, dword [ecx*4 + 0x55a650]
lea ebx, [edx + 0x24]
mov dword [ebp - 0xc], esi
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x55a624]
mov dword [edx + 0x20], edi
mov dword [ebx], eax
jmp 0x465cb8
movzx edi, byte [edx + 1]
lea ebx, [ebx + 0x24]
movzx eax, byte [edx + 2]
shl edi, 8
or edi, eax
mov dword [ebx - 4], edi
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [ebx], ecx
movzx eax, byte [edx]
mov eax, dword [eax*4 + 0x55a650]
mov dword [ebp - 0xc], eax
mov eax, ecx
mov ecx, 0xffffffff
cmove eax, ecx
mov dword [ebx], eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov ecx, dword [edx + 0x14]
mov eax, ebx
mov dword [ebp + 0xc], ecx
mov dword [ebp + 8], ebx
cmp ecx, dword [edx + 0x50]
jae 0x465ce9
mov eax, dword [edx + ecx*4 + 0x54]
cmp eax, 0xffffffff
je 0x465ce3
cmp eax, dword [edx + ecx*4 + 0x58]
je 0x45be7e
lea eax, [edx + 0x24]
mov dword [ebp + 8], eax
jmp 0x465d01
lea eax, [edx + 0x24]
mov dword [ebp + 8], eax
test edi, edi
je 0x45be7e
mov esi, dword [ebp + 0x1c]
test dword [esi + 0x7c], 0x200
jne 0x45be75
mov esi, 1
cmp edi, esi
jb 0x465d45
nop word [eax + eax]
lea eax, [ebp - 0x40]
push eax
push dword [ebp + 0x1c]
push edx
push dword [edx + 0x28]
push ecx
call fcn.0046b910
add esp, 0x14
test eax, eax
jne 0x465dad
mov edx, dword [ebp - 4]
inc esi
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0x40]
mov dword [edx + 0x38], eax
cmp esi, edi
jbe 0x465d10
mov eax, ebx
mov dword [ebp + 8], eax
mov ebx, dword [eax]
cmp edi, ebx
je 0x45be7e
cmp dword [ebp - 0xc], 0
je 0x469cf4
mov eax, dword [edx + 0x38]
mov esi, 1
mov dword [edx + 4], eax
mov eax, dword [edx + ecx*4 + 0x58]
sub eax, dword [edx + ecx*4 + 0x54]
mov dword [edx + 0xc], eax
cmp edi, ebx
jae 0x465e2d
lea eax, [ebp - 0x44]
push eax
push dword [ebp + 0x1c]
push edx
push dword [edx + 0x28]
push ecx
call fcn.0046b910
add esp, 0x14
test eax, eax
jne 0x465dfd
mov edx, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + 0xc]
cmovne esi, ecx
add dword [edx + 0x38], eax
mov ecx, dword [ebp + 0xc]
inc edi
cmp edi, ebx
jb 0x465d77
jmp 0x465e25
mov edi, dword [ebp + 0x1c]
jle 0x465dbb
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x54]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x466b77.999
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x465de8
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
jle 0x465e25
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x465e25
mov eax, dword [edx + 0x54]
cmp eax, dword [edx + 0x5c]
jbe 0x465e25
mov dword [edx + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
test esi, esi
je 0x469c56
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x466b77.999
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x15
jmp 0x46a27e
mov edi, dword [ebp + 0x1c]
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0046b910
add esp, 0x14
test eax, eax
je 0x465eac
jle 0x465e6d
mov eax, dword [edi + 0x54]
mov dword [ebx + 0x38], eax
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x466b77.999
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x465e97
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
mov eax, dword [ebp - 0x20]
add dword [ebx + 0x38], eax
jmp 0x45be81
mov edx, dword [ebp - 4]
inc esi
mov dword [edx], esi
nop dword [eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or eax, ecx
add eax, esi
mov esi, eax
mov dword [edx], eax
cmp byte [esi], 0x78
je 0x465ec0
add eax, 3
mov dword [edx], eax
jmp 0x45be81
cmp dword [edi + 0x20], 0
mov ebx, dword [ebp - 4]
jne 0x469c69
cmp dword [ebx + 0x18], 0
je 0x469c69
mov edx, esi
jmp 0x466a9a
mov ebx, dword [ebp - 4]
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
call fcn.0044c740
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x466b77.999
js case.0x466b77.998
mov eax, dword [ebp - 0x20]
add dword [ebx], eax
jmp 0x45be81
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebx, dword [ebp - 4]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc], ecx
cmp byte [ecx + esi], 0x78
je 0x465f4a
lea eax, [ecx - 3]
mov dword [ebx + 0xc], eax
lea edi, [esi + 3]
mov dword [ebx], edi
mov al, byte [edi]
cmp al, 0x76
je 0x465f59
cmp al, 0x77
jne 0x465f84
mov edi, dword [ebp + 0x1c]
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
call fcn.0044c740
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x466b77.999
js case.0x466b77.998
mov eax, dword [ebp - 0x20]
add dword [ebx], eax
mov edi, dword [ebx]
sub dword [ebx + 0xc], eax
mov cl, byte [edi]
movzx eax, cl
add eax, 0xffffff70
cmp eax, 0x12
ja case.0x465f9e.150
movzx eax, byte [eax + 0x46aec0]
jmp dword [eax*4 + 0x46aea4]
mov edx, dword [ebx + 0x44]
cmp edx, 0xffffffff
je case.0x465f9e.148
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x1c]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x4698fc
cmp ecx, edx
je 0x4698fc
jmp 0x466052
mov eax, dword [ebx + 0x44]
mov dword [ebp + 8], eax
cmp eax, 0xffffffff
je case.0x465f9e.148
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 1]
shl esi, 8
or esi, eax
shl edx, 8
mov eax, dword [ebp + 0x1c]
movzx ebx, word [eax + 0x42]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x1c]
or edx, eax
imul edx, ebx
add edx, dword [edi + 0x44]
test esi, esi
je 0x46990d
mov edi, dword [ebp + 8]
nop word [eax + eax]
movzx eax, byte [edx]
dec esi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
cmp ecx, edi
je 0x466077
add edx, ebx
test esi, esi
jg 0x466020
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ebx
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
lea esi, [eax + ecx]
mov dword [ebx], esi
cmp byte [ebx + 0x31], 0x8f
jne 0x45be81
mov eax, 0x2008f
mov byte [ebx + 0x30], 0x23
mov dword [ebp - 0x18], eax
jmp 0x46a27e
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
movzx eax, byte [ecx]
mov dword [ebp - 4], ebx
movzx eax, byte [eax + 0x53c028]
jmp 0x466057
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x1c]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
cmp ecx, dword [ebx + 0x50]
jae 0x466052
cmp dword [ebx + ecx*4 + 0x54], 0xffffffff
je 0x466052
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x53c028]
jmp 0x466057
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 1]
shl esi, 8
or esi, eax
shl edx, 8
mov eax, dword [ebp + 0x1c]
movzx ebx, word [eax + 0x42]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x1c]
or edx, eax
imul edx, ebx
add edx, dword [edi + 0x44]
test esi, esi
je 0x46990d
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x50]
nop dword [eax]
movzx ecx, byte [edx]
dec esi
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
cmp ecx, edi
jae 0x466136
mov eax, dword [ebp - 4]
cmp dword [eax + ecx*4 + 0x54], 0xffffffff
jne 0x4698f6
add edx, ebx
test esi, esi
jg 0x466110
mov ebx, dword [ebp - 4]
jmp case.0x465f9e.148
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebx, dword [ebp - 4]
shl edx, 8
or edx, eax
cmp dword [ebp - 8], 0
je 0x466192
test edx, edx
je 0x4661a7
nop
mov ecx, dword [ebx + 0x38]
dec edx
cmp ecx, dword [edi + 0x50]
jbe case.0x466b77.999
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46618c
nop dword [eax]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x466180
test edx, edx
jne 0x466160
jmp 0x4661a7
mov ecx, dword [ebx + 0x38]
mov eax, ecx
sub eax, dword [edi + 0x4c]
cmp edx, eax
jg case.0x466b77.999
sub ecx, edx
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jae 0x4661b2
mov dword [edi + 0x5c], eax
add dword [ebx], 3
jmp 0x45be81
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, esi
mov esi, eax
mov dword [ecx], esi
cmp byte [eax], 0x78
je case.0x45bea7.120
jmp 0x45be84
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
sub esi, ecx
mov al, byte [esi]
cmp al, 0x86
je 0x466259
cmp al, 0x8a
je 0x466259
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x4c]
add ecx, dword [eax + 0x18]
mov edi, ecx
mov dword [ebp - 0x14], ecx
sub edi, dword [ebp + 0x14]
mov eax, dword [edi + 0x4c]
mov dword [ebx + 0x4c], eax
mov eax, dword [ecx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x466261
mov eax, dword [ebx + 0x50]
shl eax, 2
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [edi + 0x54]
push eax
call fcn.004d6030
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov dword [edi + 0x50], eax
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x40], eax
mov eax, ebx
sub eax, edi
mov dword [ebx + 0x10], eax
mov edi, dword [ebp + 0x1c]
mov esi, 1
jmp case.0x466b77.998
mov ebx, dword [ebp - 4]
xor edi, edi
mov ecx, dword [ebp - 0x14]
movzx eax, byte [esi]
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x466277.134
movzx eax, byte [eax + 0x46aef0]
jmp dword [eax*4 + 0x46aed4]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x60]
jbe 0x46628c
mov dword [ecx + 0x60], eax
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x38], eax
jmp case.0x466277.134
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x60]
jbe 0x4662a5
mov dword [ecx + 0x60], eax
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x38], eax
mov eax, ebx
sub eax, edi
mov dword [ebx + 0x10], eax
mov edx, dword [edi]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x78
jne case.0x466277.134
nop dword [eax + eax]
lea eax, [ecx + edx]
mov dword [edi], eax
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x78
je 0x4662d0
jmp case.0x466277.134
push edx
push dword [ebx + 0x38]
push dword [edi + 0x38]
call fcn.00432d00
add esp, 0xc
test eax, eax
jne case.0x466277.134
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp case.0x466b77.998
movzx edx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl edx, 8
or edx, eax
cmp dword [ebx + 0x44], edx
jne 0x46635c
mov esi, ecx
sub esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.004d6030
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x48]
mov dword [ebx + 0x48], eax
mov eax, dword [esi + 0x44]
mov dword [ebx + 0x44], eax
mov eax, dword [esi]
add eax, 3
mov dword [ebx], eax
jmp 0x45be7e
mov eax, dword [ebp - 4]
lea ebx, [edx + edx]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 0x48], edx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x38]
sub eax, dword [edx + 0x4c]
mov edx, dword [ebp - 4]
mov dword [edx + ebx*4 + 0x4c], eax
mov eax, dword [edx + 0x38]
sub eax, dword [ecx + 0x4c]
lea ecx, [ebx - 2]
mov dword [edx + ecx*4 + 0x58], eax
cmp ecx, dword [edx + 0x50]
jb case.0x466277.134
mov dword [edx + 0x50], ebx
mov ebx, dword [ebp - 4]
mov edx, dword [ebx]
cmp byte [edx], 0x7c
jne 0x4663b7
push dword [ebp - 0x38]
lea eax, [ebx + 0x38]
push eax
lea eax, [edi + 0x38]
push eax
call fcn.004d6030
mov edi, dword [ebp + 0x1c]
add esp, 0xc
mov esi, 0xfffffc1a
jmp case.0x466b77.998
mov cl, byte [ebx + 0x31]
cmp cl, 0x79
je 0x4663d3
test edi, edi
je 0x469cae
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x469cae
mov edi, dword [ebp + 0x1c]
add dword [ebx], 3
jmp 0x45be81
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x4c]
jne case.0x466b77.999
test byte [edi + 0x78], 1
jne case.0x466b77.999
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x45be84
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x4c]
je 0x4663f7
jmp case.0x466b77.999
test byte [edi + 0x78], 2
jne case.0x466b77.999
test byte [edi + 0x7c], 0x10
je case.0x45bea7.23
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
cmp eax, dword [edi + 0x54]
jb case.0x466b77.999
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x46644b
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
inc dword [edx]
jmp 0x45be81
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x54]
mov ecx, dword [ebx + 0x38]
cmp ecx, eax
jae 0x4664ff
mov edx, dword [edi + 0x88]
lea esi, [edi + 0x8c]
test edx, edx
je 0x46648c
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.00432b00
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4664b8
jmp 0x4664ae
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x4664b8
mov al, byte [ecx]
cmp al, byte [edi + 0x90]
jne 0x4664b8
cmp edx, 1
je 0x4664ae
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x91]
jne 0x4664b8
mov eax, dword [edi + 0x54]
sub eax, dword [esi]
cmp dword [ebx + 0x38], eax
je 0x4664ff
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
mov ecx, dword [ebx + 0x38]
lea eax, [ecx + 1]
cmp eax, dword [edi + 0x54]
jb case.0x466b77.999
cmp dword [edi + 0x88], 0
jne case.0x466b77.999
cmp dword [esi], 2
jne case.0x466b77.999
mov al, byte [ecx]
cmp al, byte [edi + 0x90]
jne case.0x466b77.999
jmp 0x45f869
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x46651a
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
inc dword [ebx]
jmp 0x45be81
test byte [edi + 0x78], 1
mov ebx, dword [ebp - 4]
je 0x466536
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x4c]
je case.0x466b77.999
mov ecx, dword [ebx + 0x38]
mov esi, dword [edi + 0x4c]
cmp ecx, esi
je 0x46651a
cmp ecx, dword [edi + 0x54]
jne 0x466552
test dword [edi + 0x7c], 0x200000
je case.0x466b77.999
mov edx, dword [edi + 0x88]
test edx, edx
je 0x46658b
cmp ecx, esi
jbe 0x466580
push dword [ebp - 8]
lea eax, [edi + 0x8c]
push eax
push esi
push edx
push ecx
call fcn.00433a10
add esp, 0x14
test eax, eax
je 0x466580
mov eax, 1
jmp 0x466582
xor eax, eax
test eax, eax
jne 0x46651a
jmp case.0x466b77.999
mov edx, dword [edi + 0x8c]
lea eax, [edx + esi]
cmp ecx, eax
jb case.0x466b77.999
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [edi + 0x90]
jne case.0x466b77.999
cmp edx, 1
je 0x46651a
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x91]
je 0x46651a
jmp case.0x466b77.999
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x54]
mov ecx, dword [ebx + 0x38]
cmp ecx, eax
jae 0x46663d
mov edx, dword [edi + 0x88]
lea esi, [edi + 0x8c]
test edx, edx
je 0x466606
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.00432b00
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne 0x46651a
jmp 0x4664b8
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x4664b8
mov al, byte [ecx]
cmp al, byte [edi + 0x90]
jne 0x4664b8
cmp edx, 1
je 0x46651a
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x91]
je 0x46651a
jmp 0x4664b8
test byte [edi + 0x78], 2
jne case.0x466b77.999
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x46651a
cmp ecx, dword [edi + 0x5c]
ja 0x466665
cmp dword [edi + 0x24], 0
je 0x46651a
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
inc dword [ebx]
jmp 0x45be81
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x4c]
add eax, dword [edi + 0x34]
cmp dword [ecx + 0x38], eax
je 0x4663f7
jmp case.0x466b77.999
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x45be84
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov dword [ebp + 8], ebx
cmp ebx, dword [edi + 0x50]
jne 0x4666bc
lea esi, [edi + 0x5c]
jmp 0x466850
cmp dword [ebp - 8], 0
lea edx, [ebx - 1]
mov cl, byte [edx]
je 0x4667d5
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4666df
mov cl, byte [edx - 1]
dec edx
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x4666d3
movzx ecx, cl
cmp ecx, 0xc0
jb 0x4666fe
movzx eax, byte [edx + 1]
test cl, 0x20
jne 0x466735
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, dword [ebp - 4]
lea esi, [edi + 0x5c]
mov dword [ebp + 8], ebx
cmp edx, dword [esi]
jae 0x466713
mov dword [esi], edx
mov ebx, dword [eax + 0x38]
mov dword [ebp + 8], ebx
test dword [edi + 0x7c], 0x20000
je 0x466830
cmp ecx, 0x5f
jne 0x4667dd
mov dword [ebp + 0xc], 1
jmp 0x466857
and eax, 0x3f
test cl, 0x10
jne 0x46674e
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
jmp 0x4666f9
test cl, 8
jne 0x466770
and ecx, 7
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]
shl ecx, 6
jmp 0x4666f9
movzx esi, byte [edx + 2]
movzx edi, byte [edx + 3]
and esi, 0x3f
movzx ebx, byte [edx + 4]
and edi, 0x3f
and ebx, 0x3f
test cl, 4
jne 0x4667ac
and ecx, 3
shl ecx, 6
or ecx, eax
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 8]
jmp 0x4666fe
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 8]
shl ecx, 6
jmp 0x4666f9
movzx ecx, cl
jmp 0x466701
mov eax, ecx
test eax, eax
jns 0x4667e6
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and ecx, 0x8000007f
jns 0x466801
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x466827
cmp eax, 3
jne 0x466850
mov dword [ebp + 0xc], 1
jmp 0x466857
cmp ecx, 0xff
ja 0x46684d
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
je 0x46684d
mov dword [ebp + 0xc], 1
mov dword [ebp + 8], ebx
jmp 0x466857
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], 0
mov ecx, dword [edi + 0x54]
cmp ebx, ecx
jb 0x4668f1
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x466887
cmp ebx, dword [esi]
ja 0x466877
cmp dword [edi + 0x24], 0
je 0x466887
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
xor edx, edx
mov ebx, dword [ebp - 4]
xor edx, dword [ebp + 0xc]
mov eax, dword [ebx]
mov cl, byte [eax]
inc eax
mov dword [ebx], eax
cmp cl, 5
jne 0x46689e
xor edx, 1
test edx, edx
je 0x45be81
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x60]
jbe 0x4668b6
mov dword [edi + 0x60], eax
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x18], 0
je 0x46a3f0
sub ebx, dword [ebx + 0x10]
mov eax, dword [edi + 0x94]
mov dword [ebp - 4], ebx
or dword [eax + 0x3c], 2
movzx eax, byte [ebx + 0x30]
dec eax
cmp eax, 0xe0
ja case.0x46724b.15
movzx eax, byte [eax + 0x46affc]
jmp dword [eax*4 + 0x46af04]
cmp dword [ebp - 8], 0
lea esi, [ebx + 1]
je 0x4669ec
cmp esi, ecx
jae 0x46690f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x46690f
inc esi
cmp esi, ecx
jb 0x466902
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x4669ef
test dl, 0x20
jne 0x466937
movzx eax, byte [ebx + 1]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x4669ef
test dl, 0x10
jne 0x46695c
movzx eax, byte [ebx + 1]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x4669ef
test dl, 8
jne 0x46698a
movzx ecx, byte [ebx + 1]
and edx, 7
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x4669ef
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
and eax, 0x3f
movzx edi, byte [ebx + 3]
and ecx, 0x3f
movzx ebx, byte [ebx + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x4669c4
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4669ef
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, ecx
shl edx, 6
movzx eax, byte [eax + 5]
or edx, edi
shl edx, 6
and eax, 0x3f
or edx, ebx
shl edx, 6
or edx, eax
jmp 0x4669ef
movzx edx, byte [ebx]
mov edi, dword [ebp + 0x1c]
cmp esi, dword [edi + 0x60]
jbe 0x4669fa
mov dword [edi + 0x60], esi
test dword [edi + 0x7c], 0x20000
je 0x466a6a
cmp edx, 0x5f
jne 0x466a12
mov edx, 1
jmp 0x466889
mov eax, edx
test eax, eax
jns 0x466a1b
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x466a36
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x466a60
cmp eax, 3
jne 0x466887
mov edx, 1
jmp 0x466889
cmp edx, 0xff
ja 0x466887
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je 0x466887
mov edx, 1
jmp 0x466889
test esi, esi
jne case.0x466b77.998
mov edx, dword [ebx + 4]
mov dword [ebx], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [ebx + 4], ecx
mov eax, dword [ebx]
cmp byte [ecx], 0x78
movzx eax, byte [eax]
mov al, byte [eax + 0x53c028]
je 0x469ccb
movzx eax, al
add eax, edx
mov dword [ebx], eax
jmp 0x45be81
cmp esi, 0xfffffc1f
jne 0x466af8
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x6c], ecx
jae case.0x466b77.998
cmp byte [edx], 0x78
je 0x466b00
cmp byte [ecx], 0x78
jmp 0x466afa
test esi, esi
jne case.0x466b77.998
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x46a08d
jmp case.0x466b77.999
cmp esi, 0xfffffc19
je 0x46980c
test esi, esi
je 0x466b3d
cmp esi, 0xfffffc1f
jne case.0x466b77.998
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x46a151
jmp case.0x466b77.999
test esi, esi
jg 0x466b7e
je case.0x466b77.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x466b77.998
jmp dword [eax*4 + 0x46b0e0]
mov eax, esi
sub eax, 1
mov eax, dword [ebp - 4]
jne 0x4668ab
jmp case.0x466b77.999
test esi, esi
jg 0x466bb1
je case.0x466baa.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x466b77.998
jmp dword [eax*4 + 0x46b0fc]
mov eax, esi
sub eax, 1
jne case.0x466b77.998
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x466052
mov edx, dword [ebx]
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x466bd0
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x53c028]
jmp 0x466057
test esi, esi
jne case.0x466b77.998
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [ebx], edx
jmp 0x45be81
test esi, esi
je 0x4663d6
jmp case.0x466b77.998
cmp esi, 0xfffffc1a
jne 0x466c59
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x469cd9
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x466c41
jmp 0x466ca9
cmp esi, 0xfffffc1f
jne 0x466c85
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x6c], ecx
jae case.0x466b77.998
cmp byte [edx], 0x78
je 0x466c8d
cmp byte [ecx], 0x78
jmp 0x466c87
test esi, esi
jne case.0x466b77.998
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x46a049
cmp dword [ebx + 0x24], 0
jne 0x466cdc
cmp dword [ebx + 0x28], 0
jne 0x466cdc
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx + 4], edx
cmp byte [edx], 0x78
je 0x466cc5
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x45be81
test esi, esi
je 0x46651a
jmp case.0x466b77.998
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [esi + 0x3e5]
add ecx, edx
cmp eax, 4
ja 0x466d41
mov eax, dword [ebx + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x74], eax
jne 0x466d41
cmp esi, 0xfffffc1f
jne case.0x466b77.999
cmp dword [edi + 0x6c], ecx
jae case.0x466b77.999
cmp byte [edx], 0x78
je 0x466d49
cmp byte [ecx], 0x78
je 0x466d49
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov dword [ebx + 4], ecx
cmp byte [ecx], 0x78
je 0x46a127
jmp case.0x466b77.999
cmp esi, 0xfffffc1e
jne case.0x466b77.998
mov eax, dword [ebx]
push dword [edi + 0x70]
add eax, 2
push eax
call fcn.004332a0
add esp, 8
test eax, eax
jne case.0x466b77.998
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x70], eax
jmp case.0x466b77.998
test esi, esi
jne case.0x466b77.998
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1c
mov dword [edi + 0x74], eax
jmp case.0x466b77.998
test esi, esi
jne case.0x466b77.998
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x74], eax
jmp case.0x466b77.998
test esi, esi
jne case.0x466b77.998
mov eax, dword [ebx]
mov esi, 0xfffffc1e
add eax, 2
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x74], eax
jmp case.0x466b77.998
test esi, esi
jne case.0x466b77.998
mov eax, dword [ebx]
mov esi, 0xfffffc1f
mov dword [edi + 0x6c], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x74], eax
jmp case.0x466b77.998
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
lea eax, [ebp - 0x48]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0046b910
add esp, 0x14
test eax, eax
je 0x469ce3
jle 0x466e40
mov eax, dword [edi + 0x54]
mov dword [ebx + 0x38], eax
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x466b77.999
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x466e6a
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov eax, dword [ebx + 0xc]
sub dword [ebx + 0x38], eax
jmp 0x465e33
test esi, esi
jne case.0x466b77.998
mov esi, dword [ebx + 4]
mov eax, dword [ebp - 4]
cmp dword [ebx + 0x38], esi
jne 0x469d02
xor esi, esi
jmp 0x4668ab
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x466f04
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x466eef
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [edx]
lea eax, [edx + 1]
mov dword [ebx + 0x38], eax
mov esi, ecx
mov edx, dword [ebx + 8]
and ecx, 7
shr esi, 3
mov eax, 1
shl eax, cl
test byte [esi + edx], al
je case.0x466b77.999
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x17
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
dec dword [ebx + 0x38]
jmp 0x45e3b0
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x466f97
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x466f82
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x466fa8
cmp dword [ebx + 0x2c], eax
jne case.0x466b77.999
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x19
jmp 0x46a27e
dec dword [ebx + 0x38]
test esi, esi
je 0x45d22f
jmp case.0x466b77.998
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x467021
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp esi, dword [edi + 0x5c]
ja 0x46700c
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je 0x469d45
jmp case.0x466b77.999
dec dword [ebx + 0x38]
test esi, esi
je 0x45d34a
jmp case.0x466b77.998
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x46709c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x467087
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je case.0x466b77.999
cmp dword [ebx + 0x2c], eax
je case.0x466b77.999
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x45be81
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1e
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x46713c
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp esi, dword [edi + 0x5c]
ja 0x467127
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x45be81
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x20
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 0x54]
cmp ecx, eax
jb 0x4671d4
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x4671bf
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
cmp dword [ebx + 0x28], 0xc
jne 0x467230
mov edx, dword [edi + 0x88]
lea esi, [edi + 0x8c]
test edx, edx
je 0x467206
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.00432b00
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x467230
jmp case.0x466b77.999
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x467230
mov al, byte [ecx]
cmp al, byte [edi + 0x90]
jne 0x467230
cmp edx, 1
je case.0x466b77.999
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x91]
je case.0x466b77.999
mov eax, dword [ebx + 0x38]
movzx ecx, byte [eax]
lea esi, [eax + 1]
mov dword [ebx + 0x38], esi
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x46724b.15
jmp dword [eax*4 + 0x46b118]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x466b77.999
movzx eax, byte [ecx + 0x46b168]
jmp dword [eax*4 + 0x46b158]
cmp word [edi + 0x3e], 2
jne case.0x46724b.13
jmp case.0x466b77.999
cmp ecx, 9
je case.0x466b77.999
cmp ecx, 0x20
je case.0x466b77.999
cmp ecx, 0xa0
jne case.0x46724b.13
jmp case.0x466b77.999
cmp ecx, 9
je case.0x46724b.13
cmp ecx, 0x20
je case.0x46724b.13
cmp ecx, 0xa0
je case.0x46724b.13
jmp case.0x466b77.999
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46724b.13
movzx eax, byte [ecx + 0x46b1ec]
jmp dword [eax*4 + 0x46b1e4]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x466b77.999
movzx eax, byte [ecx + 0x46b270]
jmp dword [eax*4 + 0x46b268]
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
mov eax, dword [ebp - 4]
je 0x469dae
xor esi, esi
jmp 0x4668ab
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
mov eax, dword [ebp - 4]
jne 0x469dae
xor esi, esi
jmp 0x4668ab
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
mov eax, dword [ebp - 4]
je 0x469dae
xor esi, esi
jmp 0x4668ab
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
mov eax, dword [ebp - 4]
jne 0x469dae
xor esi, esi
jmp 0x4668ab
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 4]
je 0x469dae
xor esi, esi
jmp 0x4668ab
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 4]
jne 0x469dae
xor esi, esi
jmp 0x4668ab
test esi, esi
jne case.0x466b77.998
mov eax, dword [ebx + 0x38]
dec eax
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0x11
jne 0x4673ac
cmp eax, dword [ebx + 4]
jbe 0x4673ac
cmp byte [eax], 0xa
jne 0x4673ac
mov ecx, dword [ebx + 0x38]
dec eax
cmp byte [eax], 0xd
cmove ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x45be81
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x22
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1b
mov dword [edi + 0x74], eax
jmp case.0x466b77.998
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x46742f
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x46741a
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x467537
cmp edx, 0xc0
jb 0x467537
lea esi, [ecx + 1]
test dl, 0x20
jne 0x46746a
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x467537
lea edi, [ecx + 2]
test dl, 0x10
jne 0x467493
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x467534
lea ebx, [ecx + 3]
test dl, 8
jne 0x4674c9
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x467534
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x467508
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x46752e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
push dword [ebp - 8]
push dword [ebx + 8]
push edx
call fcn.00433bc0
add esp, 0xc
test eax, eax
jne 0x469dbc
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.0x466b77.999
cmp dword [ebp - 8], esi
je 0x45e783
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45e783
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x467582
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4675ed
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x4675d8
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ebx, byte [ecx]
inc ecx
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], ecx
cmp ebx, 0xc0
jb 0x4676eb
lea edx, [ecx + 1]
test bl, 0x20
jne 0x467621
movzx eax, byte [ecx]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov dword [edi + 0x38], edx
jmp 0x4676eb
lea esi, [ecx + 2]
test bl, 0x10
jne 0x46764a
movzx ecx, byte [ecx]
and ebx, 0xf
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [edi + 0x38], esi
shl ebx, 6
or ebx, eax
jmp 0x4676eb
lea edi, [ecx + 3]
test bl, 8
jne 0x467680
movzx ecx, byte [ecx]
and ebx, 7
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, eax
jmp 0x4676eb
movzx edx, byte [edx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 4
jne 0x4676bf
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp + 8]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
jmp 0x4676e5
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
cmp ebx, 0xff
jbe 0x467705
cmp byte [edi + 0x31], 0x6e
jne 0x469dc7
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
mov edx, dword [edi + 8]
mov esi, ebx
and ebx, 7
shr esi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [esi + edx], al
jne 0x469dc7
mov edi, dword [ebp + 0x1c]
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.0x466b77.999
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45e323
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x467750
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x38]
mov ecx, dword [eax + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x467801
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4677b8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4677c1
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4677a7
cmp esi, 0xfffffffc
je 0x469dd2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4677fe
cmp esi, 0xfffffffd
je 0x469dd2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4677fe
cmp esi, 0xfffffffe
je 0x469dd2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4677fe
cmp esi, 0xffffffff
je 0x469dd2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x469dd2
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov edi, dword [edx + 0x14]
test edi, edi
je 0x467877
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x467877
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x467831
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46783a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x467820
cmp esi, 0xfffffffc
je 0x469dd2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x467877
cmp esi, 0xfffffffd
je 0x469dd2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x467877
cmp esi, 0xfffffffe
je 0x469dd2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x467877
cmp esi, 0xffffffff
je 0x469dd2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x469dd2
mov edi, dword [ebp + 0x1c]
cmp ebx, dword [edi + 0x54]
jb case.0x466b77.999
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp ebx, dword [edi + 0x5c]
ja 0x4678a1
cmp dword [edi + 0x24], 0
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x38]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4678dc
nop dword [eax]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4678d0
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x45be81
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xcb
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x467947
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x467932
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x467a45
lea esi, [ecx + 1]
test dl, 0x20
jne 0x467978
movzx eax, byte [ecx]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x467a45
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4679a1
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x467a42
lea ebx, [ecx + 3]
test dl, 8
jne 0x4679d7
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x467a42
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x467a16
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x467a3c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp dword [ebx + 0x28], edx
je case.0x466b77.999
cmp dword [ebx + 0x2c], edx
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcc
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x38]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x467a8c
nop dword [eax]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x467a80
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x45be81
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xcd
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x467af7
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x467ae2
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [edx]
inc edx
mov dword [ebx + 0x38], edx
cmp ecx, 0xc0
jb 0x467bf5
lea esi, [edx + 1]
test cl, 0x20
jne 0x467b28
movzx eax, byte [edx]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], esi
jmp 0x467bf5
lea edi, [edx + 2]
test cl, 0x10
jne 0x467b51
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], edi
jmp 0x467bf2
lea ebx, [edx + 3]
test cl, 8
jne 0x467b87
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x467bf2
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x467bc6
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x467bec
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp dword [ebx + 0x28], ecx
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xce
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x38]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x467c2f
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x467c23
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x45be81
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xcf
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x467c9a
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x467c85
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
cmp dword [ebp - 8], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [ebx + 0x38], edx
je 0x467cd8
cmp eax, 0xc0
jb 0x467cd8
test al, 0x20
jne 0x467cb9
lea eax, [edx + 1]
jmp 0x467cd5
test al, 0x10
jne 0x467cc2
lea eax, [ecx + 3]
jmp 0x467cd5
test al, 8
jne 0x467ccb
lea eax, [ecx + 4]
jmp 0x467cd5
test al, 4
lea eax, [ecx + 5]
je 0x467cd5
lea eax, [ecx + 6]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd0
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x467d44
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x467d2f
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x467e4c
cmp ecx, 0xc0
jb 0x467e4c
lea esi, [edx + 1]
test cl, 0x20
jne 0x467d7f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [ebx + 0x38], esi
jmp 0x467e4c
lea edi, [edx + 2]
test cl, 0x10
jne 0x467da8
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], edi
jmp 0x467e49
lea ebx, [edx + 3]
test cl, 8
jne 0x467dde
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x467e49
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x467e1d
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x467e43
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, ecx
test eax, eax
jns 0x467e55
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and ecx, 0x8000007f
jns 0x467e70
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x53d1a9]
cmp al, 9
je 0x467e94
cmp al, 5
je 0x467e94
cmp al, 8
je 0x467e94
xor ecx, ecx
jmp 0x467e99
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd1
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x467f0c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x467ef7
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x468014
cmp edx, 0xc0
jb 0x468014
lea esi, [ecx + 1]
test dl, 0x20
jne 0x467f47
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x468014
lea edi, [ecx + 2]
test dl, 0x10
jne 0x467f70
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x468011
lea ebx, [ecx + 3]
test dl, 8
jne 0x467fa6
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x468011
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x467fe5
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x46800b
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x46801d
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x468038
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd2
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4680cf
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x4680ba
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4681d7
cmp edx, 0xc0
jb 0x4681d7
lea esi, [ecx + 1]
test dl, 0x20
jne 0x46810a
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4681d7
lea edi, [ecx + 2]
test dl, 0x10
jne 0x468133
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4681d4
lea ebx, [ecx + 3]
test dl, 8
jne 0x468169
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x4681d4
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x4681a8
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4681ce
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4681e0
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x4681fb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd3
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x46828b
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x468276
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x468393
cmp edx, 0xc0
jb 0x468393
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4682c6
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x468393
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4682ef
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x468390
lea ebx, [ecx + 3]
test dl, 8
jne 0x468325
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x468390
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x468364
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x46838a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x46839c
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x4683b7
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a8]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd4
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x468447
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x468432
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x46854f
cmp ecx, 0xc0
jb 0x46854f
lea esi, [edx + 1]
test cl, 0x20
jne 0x468482
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [ebx + 0x38], esi
jmp 0x46854f
lea edi, [edx + 2]
test cl, 0x10
jne 0x4684ab
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], edi
jmp 0x46854c
lea ebx, [edx + 3]
test cl, 8
jne 0x4684e1
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x46854c
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x468520
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x468546
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, ecx
test eax, eax
jns 0x468558
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and ecx, 0x8000007f
jns 0x468573
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x46859d
cmp eax, 3
je 0x46859d
xor ecx, ecx
jmp 0x4685a2
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd5
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x468615
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x468600
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x46871d
cmp edx, 0xc0
jb 0x46871d
lea esi, [ecx + 1]
test dl, 0x20
jne 0x468650
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x46871d
lea edi, [ecx + 2]
test dl, 0x10
jne 0x468679
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x46871a
lea ebx, [ecx + 3]
test dl, 8
jne 0x4686af
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x46871a
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x4686ee
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x468714
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0x20
ja 0x468737
je case.0x4687fe.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4687fe.8203
jmp dword [eax*4 + 0x46b2ec]
cmp edx, 0x2000
ja 0x4687de
je case.0x4687fe.8193
cmp edx, 0x1680
ja 0x4687d6
je case.0x4687fe.8193
mov eax, edx
sub eax, 0x85
je case.0x4687fe.8193
sub eax, 0x1b
je case.0x4687fe.8193
mov eax, edx
test eax, eax
jns 0x46877a
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x468795
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
cmp dword [eax*4 + 0x5583e0], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd6
jmp 0x46a27e
cmp edx, 0x180e
jmp 0x46876b
cmp edx, 0x3000
ja case.0x4687fe.8203
je case.0x4687fe.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4687fe.8203
movzx eax, byte [eax + 0x46b308]
jmp dword [eax*4 + 0x46b300]
cmp dword [ebx + 0x28], 0xf
jne 0x4687c8
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x468864
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x46884f
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x46896c
cmp edx, 0xc0
jb 0x46896c
lea esi, [ecx + 1]
test dl, 0x20
jne 0x46889f
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x46896c
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4688c8
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x468969
lea ebx, [ecx + 3]
test dl, 8
jne 0x4688fe
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x468969
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x46893d
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x468963
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5413e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1a9]
mov eax, dword [eax*4 + 0x5583e0]
cmp eax, 1
je 0x4689b0
cmp eax, 3
je 0x4689b0
cmp edx, 0x5f
je 0x4689b0
xor ecx, ecx
jmp 0x4689b5
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd7
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x468a28
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x468a13
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x468b30
cmp edx, 0xc0
jb 0x468b30
lea esi, [ecx + 1]
test dl, 0x20
jne 0x468a63
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x468b30
lea edi, [ecx + 2]
test dl, 0x10
jne 0x468a8c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x468b2d
lea ebx, [ecx + 3]
test dl, 8
jne 0x468ac2
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x468b2d
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x468b01
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x468b27
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax*4 + 0x53cbd8]
lea eax, [eax*4 + 0x53cbd8]
cmp edx, ecx
jb 0x468b52
lea eax, [eax + 4]
cmp edx, ecx
je 0x468b6a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x468b45
cmp dword [ebx + 0x28], 0xf
jne case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd8
jmp 0x46a27e
cmp dword [ebx + 0x28], 0xf
jne 0x468b5c
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x468bc9
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x466b77.999
cmp edx, dword [edi + 0x5c]
ja 0x468bb4
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x468cd1
cmp ecx, 0xc0
jb 0x468cd1
lea esi, [edx + 1]
test cl, 0x20
jne 0x468c04
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [ebx + 0x38], esi
jmp 0x468cd1
lea edi, [edx + 2]
test cl, 0x10
jne 0x468c2d
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], edi
jmp 0x468cce
lea ebx, [edx + 3]
test cl, 8
jne 0x468c63
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x468cce
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x468ca2
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x468cc8
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp ecx, 0x24
je 0x468cfc
cmp ecx, 0x40
je 0x468cfc
cmp ecx, 0x60
je 0x468cfc
cmp ecx, 0xa0
jb 0x468cf0
cmp ecx, 0xd7ff
jbe 0x468cfc
cmp ecx, 0xe000
jae 0x468cfc
xor ecx, ecx
jmp 0x468d01
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd9
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x469de8
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x468d63
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 0x54]
cmp ecx, eax
jb 0x468dce
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x468db9
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
cmp dword [ebx + 0x28], 0xc
jne 0x468e2a
mov edx, dword [edi + 0x88]
lea esi, [edi + 0x8c]
test edx, edx
je 0x468e00
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.00432b00
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x468e2a
jmp case.0x466b77.999
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x468e2a
mov al, byte [ecx]
cmp al, byte [edi + 0x90]
jne 0x468e2a
cmp edx, 1
je case.0x466b77.999
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x91]
je case.0x466b77.999
mov eax, dword [ebx + 0x38]
movzx edx, byte [eax]
lea ecx, [eax + 1]
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x468f48
lea esi, [ecx + 1]
test dl, 0x20
jne 0x468e62
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
mov ecx, esi
jmp 0x468f48
lea edi, [ecx + 2]
test dl, 0x10
jne 0x468e8d
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
mov ecx, edi
or edx, eax
jmp 0x468f45
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
test dl, 8
jne 0x468ecb
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x468f45
movzx ebx, byte [ecx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and ebx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], eax
and edi, 0x3f
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x468f19
and edx, 3
mov ecx, eax
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov dword [ebx + 0x38], eax
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x468f45
movzx eax, byte [eax]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
add ecx, 5
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x46724b.15
jmp dword [eax*4 + 0x46b368]
cmp edx, 0x85
ja 0x468f7b
je case.0x468f74.11
add edx, 0xfffffff6
cmp edx, 3
ja case.0x466b77.999
jmp dword [edx*4 + 0x46b3a8]
sub edx, 0x2028
je case.0x468f74.11
sub edx, 1
jne case.0x466b77.999
cmp word [edi + 0x3e], 2
jne case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x2000
ja 0x468fec
je case.0x466b77.999
cmp edx, 0xa0
ja 0x468fcf
je case.0x466b77.999
cmp edx, 9
je case.0x466b77.999
cmp edx, 0x20
jne case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x1680
je case.0x466b77.999
cmp edx, 0x180e
jne case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x3000
ja case.0x468f57.13
je case.0x466b77.999
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x468f57.13
movzx eax, byte [edx + 0x46b3c0]
jmp dword [eax*4 + 0x46b3b8]
cmp edx, 0x2000
ja 0x46906b
je case.0x468f57.13
cmp edx, 0xa0
ja 0x46904e
je case.0x468f57.13
cmp edx, 9
je case.0x468f57.13
cmp edx, 0x20
je case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x1680
je case.0x468f57.13
cmp edx, 0x180e
je case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x3000
ja case.0x466b77.999
je case.0x468f57.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x466b77.999
movzx eax, byte [edx + 0x46b428]
jmp dword [eax*4 + 0x46b420]
cmp edx, 0x85
ja 0x4690bb
je case.0x466b77.999
add edx, 0xfffffff6
cmp edx, 3
ja case.0x468f57.13
jmp dword [edx*4 + 0x46b488]
sub edx, 0x2028
je case.0x466b77.999
sub edx, 1
jne case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x85
ja 0x4690f6
je case.0x468f57.13
add edx, 0xfffffff6
cmp edx, 3
ja case.0x466b77.999
jmp dword [edx*4 + 0x46b498]
sub edx, 0x2028
je case.0x468f57.13
sub edx, 1
je case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x100
jae case.0x468f57.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x100
jae case.0x466b77.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
jne case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x100
jae case.0x468f57.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x100
jae case.0x466b77.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
jne case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x100
jae case.0x468f57.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x468f57.13
jmp case.0x466b77.999
cmp edx, 0x100
jae case.0x466b77.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
jne case.0x468f57.13
jmp case.0x466b77.999
test esi, esi
jne case.0x466b77.998
mov esi, dword [ebx + 0x38]
mov edi, dword [ebp - 8]
dec esi
mov dword [ebx + 0x38], esi
test edi, edi
jne 0x469915
movzx edx, byte [esi]
jmp 0x4699f8
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x38]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46920c
nop dword [eax]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x469200
cmp dword [ebx + 0x28], 0x11
jne 0x46922c
cmp ecx, dword [ebx + 4]
jbe 0x46922c
cmp byte [ecx], 0xa
jne 0x46922c
cmp byte [ecx - 1], 0xd
lea eax, [ecx - 1]
mov ecx, dword [ebx + 0x38]
cmove ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x45be81
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdd
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x38]
mov edx, dword [ebp - 8]
dec ecx
mov dword [ebx + 0x38], ecx
test edx, edx
je 0x46926d
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46926d
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x469261
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x45be84
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xde
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4692d8
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x4692c3
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4693e0
cmp edx, 0xc0
jb 0x4693e0
lea esi, [ecx + 1]
test dl, 0x20
jne 0x469313
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4693e0
lea edi, [ecx + 2]
test dl, 0x10
jne 0x46933c
movzx eax, byte [ecx]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], edi
jmp 0x4693dd
lea ebx, [ecx + 3]
test dl, 8
jne 0x469372
movzx eax, byte [ecx]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x4693dd
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x4693b1
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4693d7
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebx + 0x2c]
mov eax, edx
test eax, eax
jns 0x4693ec
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x469407
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x53d1b2]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x53c650]
and ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xdf
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4694b5
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x4694a0
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4695bd
cmp edx, 0xc0
jb 0x4695bd
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4694f0
movzx eax, byte [ecx]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4695bd
lea edi, [ecx + 2]
test dl, 0x10
jne 0x469519
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4695ba
lea ebx, [ecx + 3]
test dl, 8
jne 0x46954f
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x4695ba
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x46958e
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4695b4
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4695c6
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x4695e1
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x53d1b0]
shr eax, 0xb
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xe0
jmp 0x46a27e
test esi, esi
jne case.0x466b77.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x466b77.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x469674
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x466b77.999
cmp ecx, dword [edi + 0x5c]
ja 0x46965f
cmp dword [edi + 0x24], esi
je case.0x466b77.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
jmp case.0x466b77.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x46977c
cmp edx, 0xc0
jb 0x46977c
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4696af
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x46977c
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4696d8
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x469779
lea ebx, [ecx + 3]
test dl, 8
jne 0x46970e
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x469779
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x46974d
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x469773
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x469785
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x4697a0
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebx + 0x2c]
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x53d1a8]
cmp eax, ecx
je 0x4697e8
movzx edx, word [edx*4 + 0x53d1b0]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53cea8], eax
jne 0x4697e8
xor ecx, ecx
jmp 0x4697ed
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x466b77.999
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xe1
jmp 0x46a27e
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.004d6030
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x40]
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x469834
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x45be81
mov esi, dword [ebx]
nop word [eax + eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x469860
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x45be81
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x46a17a
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x45be81
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.004d6030
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
jmp 0x466bbc
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [ebx + 4], eax
cmp byte [eax], 0x78
je 0x469c89
xor eax, eax
cmp dword [ebx + 0x20], eax
sete al
jmp 0x466bbf
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x53c028]
jmp 0x466057
mov ebx, dword [ebp - 4]
jmp 0x466052
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x46992c
nop dword [eax]
dec esi
mov dword [ebx + 0x38], esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x469920
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x4699f8
test dl, 0x20
jne 0x46994c
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x4699f0
test dl, 0x10
jne 0x469969
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4699f0
test dl, 8
jne 0x46998f
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4699f0
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x4699cf
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp - 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
jmp 0x4699f8
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp - 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x469a01
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x469a1c
dec edx
or edx, 0xffffff80
inc edx
mov ebx, dword [ebx + 4]
add eax, edx
mov dword [ebp + 8], ebx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x53d1aa]
mov dword [ebp + 0xc], eax
cmp esi, ebx
jbe 0x469b95
mov cl, byte [esi - 1]
dec esi
test edi, edi
jne 0x469a52
movzx edx, cl
jmp 0x469b38
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x469a6c
nop word [eax + eax]
mov cl, byte [esi - 1]
dec esi
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x469a60
movzx edx, cl
cmp edx, 0xc0
jb 0x469b38
test dl, 0x20
jne 0x469a8c
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x469b30
test dl, 0x10
jne 0x469aa9
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x469b30
test dl, 8
jne 0x469acf
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x469b30
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x469b0f
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp - 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
jmp 0x469b38
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp - 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x469b41
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5413e0]
shl eax, 7
and edx, 0x8000007f
jns 0x469b5c
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebp + 0xc]
add eax, edx
movzx eax, word [eax*2 + 0x5457e0]
lea eax, [eax + eax*2]
movzx edx, byte [eax*4 + 0x53d1aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x53c164], eax
je 0x469b95
mov eax, dword [ebp - 4]
mov dword [ebp + 0xc], edx
mov dword [eax + 0x38], esi
cmp esi, ebx
ja 0x469a42
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [ecx + 4]
jbe 0x45be7e
mov esi, dword [ecx]
mov byte [ecx + 0x30], 0xdc
jmp 0x46a27e
inc dword [edi + 0x80]
mov eax, dword [edi + 0x80]
cmp eax, dword [edi + 0x84]
ja 0x469f95
mov ebx, dword [ebp - 4]
mov edx, dword [ebx]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x53c028]
add eax, edx
add ecx, eax
mov dword [ebx], ecx
jmp 0x45be81
cmp dword [ebp - 8], 0
jne 0x467a5a
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x46a27e
test ecx, ecx
jne 0x467c01
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x46a27e
cmp dword [ebp - 8], 0
jne 0x469dc7
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x17
jmp 0x46a27e
test ecx, ecx
js 0x469c39
cmp ecx, 0xd
ja case.0x46724b.15
jmp dword [ecx*4 + 0x46b4a8]
cmp dword [eax + 0x28], 0x16
je 0x469f21
test esi, esi
jne 0x469f8a
mov esi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x46a27e
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x16
jmp 0x46a27e
xor ecx, ecx
jmp 0x46a08a
cmp cl, 0x7e
je 0x469c7e
cmp cl, 0x80
je 0x469c7e
xor eax, eax
jmp 0x469c83
mov eax, 1
mov dword [ebx + 0x20], eax
mov dword [ebx + 4], edi
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
movzx eax, byte [eax]
or eax, 0x30000
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x53c028]
add esi, ecx
mov byte [ebx + 0x30], 5
jmp 0x46a27e
mov eax, dword [ebp - 4]
cmp cl, 0x7b
jne 0x469cc2
lea esi, [edx + 3]
mov byte [ebx + 0x30], 6
jmp 0x46a281
mov byte [ebx + 0x30], 7
jmp 0x46a281
movzx esi, al
add esi, edx
mov byte [ebx + 0x30], 1
jmp 0x46a27e
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x46a049
mov eax, dword [ebp - 0x48]
add dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x14
jmp 0x46a27e
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x14
jmp 0x46a27e
mov dword [ebx + 0x38], esi
mov ebx, dword [ebx + 0x24]
dec ebx
mov dword [eax + 0x24], ebx
mov edi, dword [eax + 0x20]
cmp edi, ebx
jae 0x469d37
lea ecx, [ebp - 0x4c]
push ecx
push dword [ebp + 0x1c]
push eax
push dword [eax + 0x28]
push dword [eax + 0x14]
call fcn.0046b910
mov eax, dword [ebp - 4]
inc edi
add esi, dword [ebp - 0x4c]
add esp, 0x14
mov dword [eax + 0x38], esi
cmp edi, ebx
jb 0x469d13
mov esi, dword [eax]
mov byte [eax + 0x30], 0x16
jmp 0x46a27e
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1b
jmp 0x46a27e
cmp esi, dword [edi + 0x54]
jae case.0x46724b.13
cmp byte [esi], 0xa
jne case.0x46724b.13
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x46a27e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x46724b.13
cmp esi, dword [edi + 0x54]
jb case.0x46724b.13
cmp dword [edi + 0x88], 0
jne case.0x46724b.13
cmp dword [edi + 0x8c], 2
jne case.0x46724b.13
movzx eax, byte [edi + 0x90]
cmp ecx, eax
jne case.0x46724b.13
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x46a27e
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x64
jmp 0x46a27e
mov esi, dword [edi]
mov byte [edi + 0x30], 0xc8
jmp 0x46a27e
mov ecx, dword [ebp - 4]
lea eax, [ebx + edi]
mov dword [ecx + 0x38], eax
mov eax, ecx
mov esi, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x46a281
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [ebx + 0x38], ecx
je 0x469edb
cmp edx, 0xc0
jb 0x469edb
lea esi, [ecx + 1]
test dl, 0x20
jne 0x469e1a
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x469ed0
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x469e3a
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x469ecd
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x469e62
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x469eca
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 8], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x469eac
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, esi
mov esi, eax
mov dword [ebx + 0x38], eax
jmp 0x469edb
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
mov dword [ebx + 0x38], esi
or edx, eax
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.004325c0
add esp, 0x18
mov dword [ebx + 0x38], eax
cmp eax, dword [edi + 0x54]
jb 0x469f1e
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x469f1e
cmp eax, dword [edi + 0x5c]
ja 0x469f0e
cmp dword [edi + 0x24], 0
je 0x469f1e
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x45d8ef
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xda
jmp 0x46a27e
cmp ecx, dword [edi + 0x54]
jae case.0x468f57.13
cmp byte [ecx], 0xa
jne case.0x468f57.13
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xdb
jmp 0x46a27e
movzx eax, word [edi + 0x3c]
mov esi, eax
test ax, ax
je case.0x468f57.13
cmp ecx, dword [edi + 0x54]
jb case.0x468f57.13
cmp dword [edi + 0x88], 0
jne case.0x468f57.13
cmp dword [edi + 0x8c], 2
jne case.0x468f57.13
movzx eax, byte [edi + 0x90]
cmp edx, eax
jne case.0x468f57.13
mov dword [edi + 0x1c], 1
cmp esi, 1
ja 0x45d8ef
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xdb
jmp 0x46a27e
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x53c028]
mov byte [edx + 0x30], 0x11
jmp 0x46a27a
mov eax, dword [ebp - 4]
inc esi
mov dword [eax + 4], esi
mov byte [eax + 0x30], 9
jmp 0x46a27e
mov edx, dword [ebp - 4]
inc esi
mov dword [edx + 4], esi
nop dword [eax + eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or eax, ecx
add eax, esi
mov esi, eax
mov dword [edx + 4], eax
cmp byte [esi], 0x78
je 0x469fd0
lea esi, [eax + 3]
mov byte [edx + 0x30], 0xa
jmp 0x46a27e
mov ebx, dword [ebp - 4]
inc esi
mov dword [ebx + 0x28], 1
mov dword [ebx], esi
mov al, byte [esi]
cmp al, 0x89
je 0x46a029
cmp al, 0x8e
jne 0x46a018
jmp 0x46a029
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov ecx, 0x20000
jmp 0x46a03c
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], 0
mov dword [ebx + 8], esi
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x53c028]
add esi, ecx
mov byte [ebx + 0x30], 8
jmp 0x46a27e
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
jmp 0x46a087
or ecx, 0x20000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], ecx
mov eax, dword [ebx + 0x20]
mov ecx, esi
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x53c028]
add esi, ecx
mov byte [ebx + 0x30], 2
jmp 0x46a27e
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
add ebx, dword [edi + 0x48]
cmp ebx, dword [edi + 0x48]
jne 0x46a0c3
xor edi, edi
jmp 0x46a0d0
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edi, 8
or edi, eax
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x44], 0xffffffff
je 0x46a118
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
je 0x46a118
mov ecx, dword [ebp + 0x18]
mov edx, edi
or edx, 0x40000
mov esi, dword [ecx + 0x18]
nop
add eax, esi
mov ecx, eax
sub ecx, dword [ebp + 0x14]
cmp dword [eax + 0x1c], edx
je 0x46a106
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
jne 0x46a0f0
jmp 0x46a115
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x38]
je 0x46a3f9
mov ecx, dword [ebp - 4]
mov dword [ecx + 4], ebx
or edi, 0x40000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], edi
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x53c028]
add esi, ecx
mov byte [ebx + 0x30], 0xb
jmp 0x46a27e
mov ebx, dword [ebp - 4]
or ecx, 0x20000
mov dword [ebx + 0x20], ecx
mov eax, dword [ebx + 0x20]
mov ecx, esi
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x53c028]
add esi, ecx
mov byte [ebx + 0x30], 3
jmp 0x46a27e
mov ebx, dword [ebp - 4]
or ecx, 0x20000
mov dword [ebx + 0x20], ecx
mov eax, dword [ebx + 0x20]
mov ecx, esi
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x53c028]
add esi, ecx
mov byte [ebx + 0x30], 4
jmp 0x46a27e
mov edx, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [edi + 0x68], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x53c028]
mov byte [edx + 0x30], 0xc
jmp 0x46a27a
movzx eax, byte [esi]
movzx eax, byte [eax + 0x53c028]
add esi, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xd
jmp 0x46a27e
mov edx, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [edi + 0x68], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x53c028]
mov byte [edx + 0x30], 0x24
jmp 0x46a27a
movzx eax, byte [esi]
movzx eax, byte [eax + 0x53c028]
add esi, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xe
jmp 0x46a27e
mov edx, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [edi + 0x68], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x53c028]
mov byte [edx + 0x30], 0xf
jmp 0x46a27a
movzx eax, byte [esi]
movzx eax, byte [eax + 0x53c028]
add esi, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x10
jmp 0x46a27e
movzx eax, byte [esi]
movzx eax, byte [eax + 0x53c028]
add esi, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x12
jmp 0x46a27e
mov edx, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [edi + 0x68], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x53c028]
mov byte [edx + 0x30], 0x13
add eax, ecx
add esi, eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
add ebx, eax
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp - 0x34]
jb 0x46a328
mov eax, dword [ebp + 0x18]
mov ebx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x1c]
lea edi, [ebx + ebx]
mov ecx, dword [eax + 0xc]
cmp edi, ecx
jbe 0x46a2b8
xor edx, edx
mov eax, ecx
div dword [ebp + 0x14]
mov edi, ecx
sub edi, edx
cmp ebx, edi
jae 0x46a405
mov eax, dword [ebp + 0x18]
push dword [eax + 8]
mov eax, dword [eax]
push edi
call eax
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x46a411
mov eax, dword [ebp + 0x18]
push dword [ebp - 0x30]
push dword [eax + 0x18]
push ebx
call fcn.004d6030
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 4]
mov ecx, dword [eax + 0x18]
mov eax, ebx
sub eax, ecx
add edx, eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 4], edx
add edx, dword [ebp + 0x14]
mov dword [ebp - 0x14], edx
push dword [eax + 8]
mov eax, dword [eax + 4]
push ecx
call eax
mov eax, dword [ebp + 0x18]
xor edx, edx
add esp, 0x14
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], edi
mov eax, edi
div dword [ebp + 0x14]
mov eax, edi
sub eax, edx
mov dword [ebp - 0x30], eax
add eax, ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
push dword [ebp - 0x38]
add eax, 0x38
push eax
lea eax, [ebx + 0x38]
push eax
call fcn.004d6030
mov eax, dword [ebp - 4]
add esp, 0xc
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 4], ebx
mov eax, dword [eax + 0x18]
inc eax
mov dword [ebx + 0x18], eax
mov eax, ebx
mov ebx, dword [ebp + 0x14]
jmp 0x45be16
mov eax, edi
mov ebx, dword [ebp - 4]
mov dword [eax + 0x58], ecx
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x50]
mov dword [ecx + 0x38], eax
mov eax, dword [ebx + 0x40]
mov dword [ecx + 0x64], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x60]
jbe 0x46a37a
mov dword [ecx + 0x60], eax
mov edi, dword [ebp + 0x18]
mov eax, dword [ebx + 0x3c]
sub eax, dword [ecx + 0x4c]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [ecx + 0x4c]
mov dword [edi + 0x38], eax
movzx esi, word [edi + 0x2e]
movzx eax, word [ebp + 0x10]
inc eax
cmp eax, esi
cmovbe esi, eax
add esi, esi
lea eax, [esi*4 - 8]
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [edi + 0x3c]
push eax
call fcn.004d6030
mov eax, dword [ebx + 0x50]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x46a3e4
lea edx, [edi + 0x34]
lea edx, [edx + esi*4]
nop dword [eax + eax]
mov dword [edx], 0xffffffff
lea edx, [edx - 4]
mov ecx, dword [ebx + 0x50]
dec esi
add ecx, 2
cmp esi, ecx
jae 0x46a3d0
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd1
pop ebx
mov esp, ebp
pop ebp
ret