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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x170
call fcn.00663af0
mov eax, dword [0x74e694]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x140], eax
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
push edi
mov edi, edx
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x148], ecx
test edi, edi
jne 0x452e30
cmp dword [ebp + 0x18], edx
jne 0x452e13
push 1
push edx
push edx
push edx
push edx
lea ecx, [ebp + 0x18]
call fcn.00452da0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
lea eax, [ebp + 0x18]
sub eax, esi
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x118]
mov edx, dword [eax + 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x12c], edx
cmp eax, dword [ebx + 4]
jae 0x460f24
mov dword [ebp - 0x168], 0xffffffff
mov dword [ebp - 0x15c], 1
mov dword [ebp - 0x16c], accept
nop dword [eax]
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x460f0e
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x98], 2
jne 0x452ec0
mov dword [ebp - 0xac], ecx
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0x148], ecx
mov dword [eax + 0x98], 0
mov ebx, eax
jmp 0x452edc
je case.default.0x45522a
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x12c]
mov cl, byte [edi]
movzx edi, cl
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x124], edi
cmp edi, 0xa1
ja case.0x452f0e.98
movzx eax, byte [edi + 0x46108c]
jmp dword [eax*4 + 0x460f40]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x118]
inc dword [eax + 0x28]
mov eax, dword [eax + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x45d825
mov edx, dword [ebp - 0x11c]
movzx eax, byte [edx]
movzx edi, byte [edx + 1]
add edi, edx
movzx ecx, byte [eax + 0x6c1c20]
add edi, ecx
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x14c], esi
mov ebx, dword [eax + 0xac]
nop
mov eax, dword [ebp + 0x18]
lea edx, [edi + 3]
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x453083
cmp edi, 0xfffffc20
jne 0x452fe1
mov eax, dword [ebp - 0x11c]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x118]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae case.default.0x4537cb
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx], 0x77
je 0x452fe9
cmp byte [eax], 0x77
jmp 0x452fe3
test edi, edi
jne case.default.0x4537cb
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x118]
add edi, ecx
mov dword [ebp - 0x11c], edi
mov dword [eax + 0xac], ebx
cmp byte [edi], 0x77
je 0x452f70
mov edx, dword [ebp - 0x140]
mov al, byte [edi]
cmp al, 0x82
je 0x453030
cmp al, 0x77
jne case.default.0x45522a
nop dword [eax]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x453030
cmp byte [edi], 0x78
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], edi
mov ecx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov dword [ebp - 0x138], ecx
je 0x453073
cmp esi, dword [ebp - 0x14c]
jne 0x45d337
add edi, 3
mov ebx, eax
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov edx, dword [eax + 0x7c]
mov dword [ebp - 0x140], edx
jmp 0x45301f
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x13c], 0
jmp 0x453d32
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x13c], 0
jmp 0x453d57
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
add edx, 3
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x144], ecx
cmp byte [edx], 0x76
mov dword [ebp - 0x13c], edx
jne 0x4531f6
mov edi, dword [0x755990]
test edi, edi
je 0x4531de
mov dword [ebp - 0xe0], 2
movzx eax, byte [edx + 1]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0x78]
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x140]
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0xcc], eax
mov eax, esi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0xc8], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xb8], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x138]
cdq
sub eax, edx
mov dword [ebp - 0xb4], ecx
sar eax, 1
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0x90]
and eax, 0xffff
cmove eax, dword [ebp - 0x168]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xe0]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x45522a
js case.default.0x4537cb
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x11c]
add edx, 6
add ecx, 0xfffffffa
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x13c], edx
movzx eax, byte [edx]
xor ebx, ebx
mov dword [ebp - 0x128], eax
add eax, 0xffffff73
cmp eax, 0x10
ja case.0x453216.146
movzx eax, byte [eax + 0x461148]
jmp dword [eax*4 + 0x461130]
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0xa4]
test edx, edx
je case.0x453216.145
mov eax, dword [ebp - 0x11c]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x453255
cmp ecx, dword [edx + 4]
jne 0x4534b5
mov ecx, dword [ebp - 0x128]
mov ebx, 1
movzx ecx, byte [ecx + 0x6c1c20]
jmp case.0x453216.145
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xa4], ebx
je case.0x453216.145
movzx edi, byte [edx + 3]
movzx eax, byte [edx + 4]
movzx ecx, byte [edx + 1]
movzx edx, byte [edx + 2]
shl edi, 8
or edi, eax
shl ecx, 8
mov eax, dword [ebp - 0x118]
or edx, ecx
imul edx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add edx, eax
test edi, edi
je 0x4534b5
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x150], edx
mov eax, dword [eax + 0xa4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14c], eax
nop word [eax + eax]
movzx eax, byte [edx]
xor ebx, ebx
movzx ecx, byte [edx + 1]
dec edi
shl eax, 8
or ecx, eax
cmp ecx, dword [ebp - 0x14c]
sete bl
je 0x453335
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x150]
mov eax, dword [eax + 0x24]
add edx, eax
mov dword [ebp - 0x150], edx
test edi, edi
jg 0x4532d0
jmp 0x453335
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x138]
jge 0x453333
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x453333
mov ebx, 1
jmp 0x453335
xor ebx, ebx
test ebx, ebx
je 0x4534b5
mov ecx, dword [ebp - 0x128]
movzx ecx, byte [ecx + 0x6c1c20]
jmp case.0x453216.145
mov edi, dword [ebp - 0x11c]
movzx edx, byte [edx + 3]
shl edx, 8
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 1]
or edx, eax
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x118]
imul ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add eax, ecx
test edx, edx
je 0x4534b5
mov edi, eax
movzx ecx, byte [eax]
dec edx
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x138]
jge 0x4533b2
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x453255
mov eax, dword [ebp - 0x118]
xor ebx, ebx
mov eax, dword [eax + 0x24]
add eax, edi
mov edi, eax
test edx, edx
jg 0x453388
jmp 0x4534b5
mov ecx, dword [ebp - 0x118]
mov dword [ecx + 0x98], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 1
jne 0x4534a5
mov eax, dword [ebp - 0x118]
mov ebx, edi
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x14c], ebx
mov eax, dword [eax + 0x8c]
cmp eax, ecx
cmovg ecx, eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x138], ecx
cmp byte [eax], 0x92
jne 0x453440
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
movzx edi, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edi, 8
or edi, eax
add edi, dword [ebp - 0x13c]
mov edx, edi
cmp byte [edx], 0x77
jne 0x453484
nop word [eax + eax]
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
mov edx, ebx
mov dword [ebp - 0x11c], ebx
cmp byte [edx], 0x77
je 0x453460
mov ebx, dword [ebp - 0x14c]
mov edi, edx
mov ecx, dword [ebp - 0x128]
movzx eax, byte [ecx + 0x6c1c20]
movzx ecx, byte [ecx + 0x6c1c20]
sub edi, eax
add edi, 3
mov dword [ebp - 0x11c], edi
jmp case.0x453216.145
test edi, edi
je 0x4534b5
cmp edi, 0xfffffc20
jne case.default.0x4537cb
mov ecx, dword [ebp - 0x144]
mov edi, dword [ebp - 0x11c]
add edi, ecx
mov dword [ebp - 0x11c], edi
test ebx, ebx
jne 0x4534d7
cmp byte [edi - 3], 0x77
jne 0x45410c
cmp dword [ebp - 0x124], 0x8c
jne 0x457734
mov ecx, dword [ebp - 0x118]
mov edx, edi
mov dword [ecx + 0x98], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [ecx + 0x90], eax
lea ebx, [edx + edx]
cmp ebx, dword [ecx + 0x14]
jl 0x45357b
mov ebx, ecx
or eax, 0x10000
add edi, 3
mov dword [ebp - 0x11c], edi
mov dword [ebx + 0x90], eax
jmp 0x452ed6
mov eax, ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [ebp - 0x138]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [ebp - 0x118]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
cmp ebx, edx
jl 0x455996
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x4535cd
mov eax, dword [ebp - 0x168]
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x11c]
lea eax, [ebx + 2]
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x45361b
mov dword [eax + 0x98], 0
mov dword [ebp - 0x150], 1
jmp 0x453625
mov dword [ebp - 0x150], 0
mov edi, dword [ebp - 0x11c]
nop dword [eax + eax]
mov eax, dword [ebp + 0x18]
lea edx, [edi + 3]
inc eax
mov ecx, esi
push eax
push 0
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x4536d5
cmp edi, 0xfffffc19
je 0x4536d5
mov eax, dword [ebp - 0x118]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jne 0x4536a7
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 0x118]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae case.default.0x4537cb
cmp byte [edx], 0x77
je 0x4536af
cmp byte [eax], 0x77
jmp 0x4536a9
test edi, edi
jne case.default.0x4537cb
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [ebp - 0x11c], edi
cmp byte [edi], 0x77
je 0x453630
jmp 0x4536ea
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x140], eax
cmp byte [edi], 0x78
je case.default.0x45522a
cmp dword [ebp - 0x150], 0
jne 0x45da96
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x453700
mov eax, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x138], eax
nop
mov ebx, dword [ebp - 0x118]
jmp 0x452ed6
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x453766
mov dword [eax + 0x98], 0
mov dword [ebp - 0x150], 1
jmp 0x453770
mov dword [ebp - 0x150], 0
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp + 0x18]
lea edx, [edi + 3]
inc eax
mov ecx, esi
push eax
push 0
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
mov eax, dword [ebp - 0x118]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc1c
jle 0x453824
test edi, edi
jg 0x45d88b
je 0x4537fe
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x4537cb
jmp dword [eax*4 + 0x46115c]
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 0x118]
add eax, edi
cmp dword [ecx + 0x7c], eax
jae 0x453830
cmp byte [edi], 0x77
je 0x453804
cmp byte [eax], 0x77
jne 0x453830
jmp 0x453804
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [ebp - 0x11c], edi
cmp byte [edi], 0x77
je 0x453776
jmp 0x453844
jne 0x45d8a9
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x453830
cmp dword [ebp - 0x150], 0
jne 0x45da96
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
test edx, edx
je 0x4538b6
or ecx, eax
mov eax, dword [ebp - 0x118]
jbe 0x4538c9
mov edx, dword [eax + 0x74]
dec esi
dec ecx
cmp esi, edx
jb case.default.0x45522a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4538aa
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4538a0
test ecx, ecx
jg 0x453887
mov eax, dword [ebp - 0x118]
jmp 0x4538c9
or ecx, eax
mov eax, dword [ebp - 0x118]
sub esi, ecx
cmp esi, dword [eax + 0x74]
jb case.default.0x45522a
mov ebx, dword [ebp - 0x118]
cmp esi, dword [eax + 0x84]
jae 0x45599c
add edi, 3
mov dword [eax + 0x84], esi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov edi, dword [0x755990]
test edi, edi
je 0x4539d2
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x114], 2
movzx eax, byte [edx + 1]
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0x78]
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x140]
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x100], eax
mov eax, esi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0xfc], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xec], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x138]
cdq
sub eax, edx
mov dword [ebp - 0xe8], ecx
sar eax, 1
mov dword [ebp - 0xf8], eax
mov eax, dword [ebx + 0x90]
and eax, 0xffff
cmove eax, dword [ebp - 0x168]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x114]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x45522a
js case.default.0x4537cb
mov edi, dword [ebp - 0x11c]
add edi, 6
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebx + 0x70]
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
cmp ebx, edx
jne 0x453a06
xor ecx, ecx
jmp 0x453a13
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0xa4]
mov eax, edx
test edx, edx
je 0x453a39
cmp ecx, dword [eax + 4]
jne 0x453a33
cmp esi, dword [eax + 0x14]
je 0x45d8c8
mov eax, dword [eax]
test eax, eax
jne 0x453a25
add dword [ebp - 0x11c], 3
mov dword [ebp - 0xa0], ecx
lea ecx, [ebp - 0xa4]
mov eax, dword [edi + 0x90]
mov dword [ebp - 0x94], eax
mov eax, edi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xa4], edx
mov dword [eax + 0xa4], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x98], ecx
cmp ecx, 0x1e
jg 0x453a88
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x9c], eax
jmp 0x453aac
lea eax, [ecx*4]
push eax
call fcn.00448cb0
add esp, 4
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x45d94a
mov ecx, dword [ebp - 0x98]
shl ecx, 2
push ecx
mov ecx, edi
push dword [ecx + 0xc]
push eax
call fcn.00666bd0
add esp, 0xc
mov edx, edi
cmp byte [ebx], 0x88
sbb eax, eax
inc eax
mov dword [ebp - 0x14c], eax
nop dword [eax]
test eax, eax
je 0x453ae6
mov eax, dword [ebp - 0x118]
mov edx, eax
mov dword [eax + 0x98], 2
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ebx]
push edx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add edx, ebx
call fcn.00452da0
mov edi, eax
add esp, 0x14
mov eax, dword [ebp - 0x98]
shl eax, 2
push eax
mov eax, dword [ebp - 0x118]
push dword [ebp - 0x9c]
push dword [eax + 0xc]
call fcn.00666bd0
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov dword [edx + 0x90], eax
mov eax, dword [ebp - 0xa4]
mov dword [edx + 0xa4], eax
cmp edi, 1
je 0x453bad
cmp edi, 0xfffffc19
je 0x453bad
cmp edi, 0xfffffc1c
jl 0x453b76
cmp edi, 0xfffffc20
jle 0x45d8ea
test edi, edi
jne 0x45d91a
lea eax, [ebp - 0xa4]
mov dword [edx + 0xa4], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
jne 0x45d8de
mov eax, dword [ebp - 0x14c]
jmp 0x453ad0
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je 0x453bc6
push eax
call fcn.00448cc0
add esp, 4
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov esi, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x140], eax
mov ebx, dword [ebp - 0x118]
jmp 0x452ed6
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x453bf2
mov dword [ebp - 0x11c], edi
jmp 0x452edc
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov ebx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push dword [ebp - 0x118]
mov edx, ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop dword [eax + eax]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x453c50
lea edi, [ebx + 3]
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x118]
jmp 0x452ed6
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
mov edx, eax
nop word [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x453c90
mov eax, dword [ebp + 0x18]
add edx, 3
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
jmp 0x452ed0
mov edx, dword [ebp - 0x11c]
inc edx
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x453ce0
lea edi, [edx + 3]
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov ecx, dword [ebp - 0x11c]
inc ecx
mov dword [ebp - 0x13c], 1
mov dword [ebp - 0x11c], ecx
movzx edi, byte [ecx]
mov dword [ebp - 0x124], edi
cmp edi, 0x86
je 0x453d32
cmp edi, 0x8b
jne 0x453d57
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl edi, 8
or edi, eax
mov dword [ebp - 0x128], edi
lea eax, [edi + edi]
cmp eax, dword [ebx + 0x14]
jl 0x453ef1
mov edi, dword [ebp - 0x124]
xor eax, eax
mov ebx, ecx
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x118]
sub ebx, dword [eax + 0x70]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x14c], eax
mov edx, dword [ebp - 0x118]
nop dword [eax]
cmp edi, 0x88
jb 0x453d9a
mov eax, dword [ebp - 0x118]
mov edx, eax
mov dword [eax + 0x98], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push edx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1a
jne 0x453e23
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x150], 1
mov ecx, dword [eax + 0x8c]
mov edi, dword [eax + 0x70]
mov dword [ebp - 0x138], ecx
add edi, ebx
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x140], ecx
cmp esi, eax
je 0x453eb0
mov edi, dword [ebp - 0x124]
mov esi, eax
mov ecx, dword [ebp - 0x11c]
jmp 0x453d76
cmp edi, 0xfffffc20
jne 0x453e65
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [ebp - 0x118]
cmp dword [edx + 0x7c], eax
jae case.default.0x4537cb
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx], 0x77
je 0x453e73
cmp byte [eax], 0x77
jne case.default.0x4537cb
jmp 0x453e73
test edi, edi
jne case.default.0x4537cb
mov edx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [ebp - 0x11c], edi
cmp byte [edi], 0x77
jne 0x453ed8
mov eax, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 0x90], eax
jmp 0x453d80
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x453eb0
add edi, 3
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x118]
jmp 0x452ed6
cmp dword [ebp - 0x150], 0
jne 0x454103
cmp dword [ebp - 0x13c], 0
jmp 0x4540fd
sub ecx, dword [ebx + 0x70]
shl eax, 2
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x150], 0
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 0x158], eax
mov eax, dword [ebx + 0x10]
sub eax, edi
mov dword [ebp - 0x144], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x90]
nop dword [eax]
mov ecx, dword [eax + 0x10]
mov edx, esi
sub edx, dword [eax + 0x74]
sub ecx, edi
cmp dword [ebp - 0x124], 0x88
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x453f6c
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x98], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1a
jne 0x45400b
mov eax, dword [ebp - 0x118]
mov edx, 1
mov dword [ebp - 0x150], edx
mov ecx, dword [eax + 0x8c]
mov edi, dword [eax + 0x70]
add edi, dword [ebp - 0x14c]
mov ebx, dword [eax + 0x90]
mov dword [ebp - 0x138], ecx
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x140], ecx
cmp esi, eax
je 0x454090
mov edi, dword [ebp - 0x128]
mov esi, eax
mov eax, dword [ebp - 0x118]
jmp 0x453f40
cmp edi, 0xfffffc20
jne 0x454041
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 0x118]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae case.default.0x4537cb
cmp byte [edx], 0x77
je 0x454049
cmp byte [eax], 0x77
jmp 0x454043
test edi, edi
jne case.default.0x4537cb
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x90], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [ebp - 0x11c], edi
cmp byte [edi], 0x77
jne 0x4540a6
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x118]
jmp 0x453f40
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x454090
jmp 0x4540f2
mov edx, dword [ebp - 0x150]
test edx, edx
jne 0x4540f2
mov ebx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x164]
mov edi, dword [ebp - 0x144]
mov eax, dword [ebx + 0xc]
mov dword [ecx + eax], edi
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x158]
mov dword [eax + ecx + 4], edi
mov eax, ebx
mov edi, dword [ebp - 0x130]
mov ecx, dword [eax + 0x10]
sub ecx, dword [ebp - 0x128]
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edi
mov edi, dword [ebp - 0x11c]
cmp dword [ebp - 0x13c], 0
jne 0x454103
test edx, edx
je case.default.0x45522a
add edi, 3
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x118]
jmp 0x452ed6
mov edi, dword [ebp - 0x11c]
mov ebx, edi
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
mov dword [ebp - 0x128], ebx
mov cl, byte [ebx]
cmp cl, 0x88
jae 0x45414c
cmp cl, 0x81
je 0x45414c
mov dword [ebp - 0x150], 0
jmp 0x454165
mov edx, dword [ebp - 0x148]
lea eax, [edx + 4]
mov edx, dword [edx]
mov eax, dword [eax]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x150], eax
cmp cl, 0x7d
jb 0x454173
cmp cl, 0x80
jbe 0x45da75
cmp cl, 0x82
je 0x45da75
cmp cl, 0x85
je 0x454194
cmp cl, 0x8a
je 0x454194
cmp cl, 0x86
je 0x454194
cmp cl, 0x8b
jne 0x454263
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
mov ecx, dword [ebp - 0x118]
shl edx, 8
or edx, eax
mov eax, dword [ecx + 0xa4]
lea ebx, [edx + edx]
test eax, eax
je 0x4541bd
cmp dword [eax + 4], edx
je 0x45d960
mov eax, ecx
mov eax, dword [eax + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [ecx + 0x90], eax
cmp ebx, dword [ecx + 0x14]
jl 0x4541ea
mov ebx, dword [ebp - 0x128]
or eax, 0x10000
mov dword [ecx + 0x90], eax
jmp 0x454269
mov ecx, dword [ebp - 0x138]
cmp ebx, ecx
jle 0x45421c
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x454216
mov eax, dword [ebp - 0x168]
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [ebp - 0x138]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [ebp - 0x118]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [ebp - 0x118]
cmp edx, ebx
jg 0x45425b
lea edx, [ebx + 2]
mov dword [ebp - 0x138], edx
mov ebx, dword [ebp - 0x128]
jmp 0x45426f
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x138]
mov al, byte [edi]
cmp al, 0x7b
je 0x45da4a
cmp al, 0x78
je 0x454289
cmp esi, dword [ebp - 0x150]
jne 0x45d3b0
cmp byte [ebx], 0x81
jne 0x455996
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push edx
push dword [ebp - 0x140]
lea edx, [edi + 3]
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov eax, dword [ebp - 0x118]
mov dword [eax + 0xb4], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x44], 0
je 0x454308
cmp esi, dword [eax + 0x74]
jne 0x454308
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
cmp esi, dword [eax + 0x74]
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x44], 0
je 0x454336
cmp esi, dword [eax + 0x74]
je case.default.0x45522a
mov ecx, dword [eax + 0x74]
cmp esi, ecx
je 0x455f34
cmp esi, dword [eax + 0x78]
je case.default.0x45522a
mov edx, dword [eax + 0x18]
test edx, edx
je 0x454382
cmp esi, ecx
jbe case.default.0x45522a
push dword [ebp - 0x12c]
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.00463530
add esp, 0xc
test eax, eax
je case.default.0x45522a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov edx, dword [eax + 0x1c]
lea eax, [ecx + edx]
cmp esi, eax
jb case.default.0x45522a
mov ebx, dword [ebp - 0x118]
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + 0x34]
jne case.default.0x45522a
cmp edx, 1
je case.0x45522a.10
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x35]
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x118]
mov eax, dword [eax + 0x94]
add eax, dword [ebx + 0x74]
cmp esi, eax
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x11c], edi
jmp 0x452edc
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x454492
mov edx, dword [eax + 0x18]
test edx, edx
je 0x45445c
push dword [ebp - 0x12c]
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004633a0
add esp, 0xc
test eax, eax
je 0x45daad
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x45dab3
mov ebx, dword [ebp - 0x118]
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x45448b
cmp edx, 1
je case.0x45522a.10
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.0x45522a.10
mov eax, ebx
jmp 0x45dab3
cmp dword [eax + 0x48], 0
jne case.default.0x45522a
jmp 0x454579
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x48], 0
jne case.default.0x45522a
cmp dword [eax + 0x58], 0
je 0x4544d3
jmp 0x4544bf
mov eax, dword [ebp - 0x118]
cmp esi, dword [eax + 0x78]
jb case.default.0x45522a
jmp 0x454579
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x78]
cmp esi, eax
jae 0x454573
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test edx, edx
je 0x45454c
push dword [ebp - 0x12c]
mov ecx, esi
push edi
push eax
call fcn.004633a0
add esp, 0xc
test eax, eax
jne 0x454568
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.default.0x45522a
lea eax, [esi + 1]
cmp eax, dword [ebx + 0x78]
jb case.default.0x45522a
cmp dword [ebx + 0x18], 0
jne case.default.0x45522a
cmp dword [ebx + 0x1c], 2
jne case.default.0x45522a
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.default.0x45522a
mov dword [ebx + 0x64], 1
cmp ecx, 1
jmp 0x45dce9
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x454504
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x454504
cmp ecx, 1
je 0x454568
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
jne 0x454504
mov eax, ebx
mov eax, dword [eax + 0x78]
sub eax, dword [edi]
cmp esi, eax
jne 0x454504
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x88]
mov ebx, dword [ebp - 0x118]
test eax, eax
je case.0x45522a.10
cmp esi, dword [ebx + 0x84]
jbe case.0x45522a.10
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45dcef
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x74]
test edx, edx
je 0x454812
cmp esi, eax
je 0x454712
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x4545ee
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x4545e2
mov edi, dword [ebp - 0x118]
cmp ecx, dword [edi + 0x84]
jae 0x454602
mov dword [edi + 0x84], edx
movzx ebx, byte [edx]
mov ecx, ebx
cmp ebx, 0xc0
jb 0x4546b3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x45462e
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4546af
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x454641
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4546a9
and eax, 0x3f
test bl, 8
jne 0x45465c
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x4546a9
test bl, 4
jne 0x454680
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
jmp 0x4546a9
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov ecx, ebx
cmp dword [edi + 0x54], 0
je 0x4546fa
cmp ecx, 0x5f
je 0x4546f3
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x4546f3
cmp eax, 3
jne 0x454712
mov edi, 1
jmp 0x454714
cmp ecx, 0x100
jae 0x454712
mov eax, dword [edi + 0x40]
test byte [ebx + eax], 0x10
je 0x454712
mov edi, 1
jmp 0x454714
xor edi, edi
mov ebx, dword [ebp - 0x118]
cmp esi, dword [ebx + 0x78]
jae 0x45490b
movzx edx, byte [esi]
mov ecx, edx
cmp edx, 0xc0
jb 0x4547d4
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45474f
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4547d0
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x454762
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4547ca
and eax, 0x3f
test dl, 8
jne 0x45477d
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4547ca
test dl, 4
jne 0x4547a1
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4547ca
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
cmp dword [ebx + 0x54], 0
je 0x4547fa
cmp ecx, 0x5f
je 0x4548f4
mov eax, ecx
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
and ecx, 0x7f
jmp 0x4548d1
cmp ecx, 0x100
jae 0x45492d
mov eax, dword [ebx + 0x40]
test byte [edx + eax], 0x10
jmp 0x454902
mov ebx, dword [ebp - 0x118]
cmp esi, eax
je 0x454899
cmp esi, dword [ebx + 0x84]
ja 0x45482d
lea eax, [esi - 1]
mov dword [ebx + 0x84], eax
cmp dword [ebx + 0x54], 0
movzx ecx, byte [esi - 1]
je 0x454889
cmp ecx, 0x5f
je 0x454882
mov eax, ecx
test eax, eax
jns 0x454845
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
and ecx, reloc.WLDAP32.dll_Ordinal_127
jns 0x45485f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x454882
cmp eax, 3
jne 0x454899
mov edi, 1
jmp 0x45489b
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je 0x454899
mov edi, 1
jmp 0x45489b
xor edi, edi
cmp esi, dword [ebx + 0x78]
jae 0x45490b
cmp dword [ebx + 0x54], 0
movzx ecx, byte [esi]
je 0x4548fb
cmp ecx, 0x5f
je 0x4548f4
mov eax, ecx
test eax, eax
jns 0x4548b7
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
and ecx, reloc.WLDAP32.dll_Ordinal_127
jns 0x4548d1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x4548f4
cmp eax, 3
jne 0x45492d
mov ecx, 1
jmp 0x45492f
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je 0x45492d
mov ecx, 1
jmp 0x45492f
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x45492d
cmp esi, dword [ebx + 0x84]
jbe 0x45492d
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45dcef
xor ecx, ecx
mov edx, dword [ebp - 0x11c]
mov al, byte [edx]
inc edx
mov dword [ebp - 0x11c], edx
cmp al, 5
jne 0x45494b
xor eax, eax
cmp ecx, edi
sete al
jmp 0x454952
xor eax, eax
cmp ecx, edi
setne al
test eax, eax
jne case.default.0x45522a
jmp 0x452ed0
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x45498c
mov ecx, dword [ebx + 0x78]
cmp esi, ecx
jae 0x4549b4
push dword [ebp - 0x12c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.004633a0
add esp, 0xc
test eax, eax
jne case.default.0x45522a
jmp 0x4549b4
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x4549b4
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x4549b4
cmp ecx, 1
je case.default.0x45522a
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.default.0x45522a
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.0x452f0e.13
mov eax, dword [ebx + 0x78]
dec eax
cmp esi, eax
jne case.0x452f0e.13
cmp dword [ebx + 0x18], 0
jne case.0x452f0e.13
cmp dword [ebx + 0x1c], 2
jne case.0x452f0e.13
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.0x452f0e.13
mov dword [ebx + 0x64], 1
cmp ecx, 1
jg 0x45dcef
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x45dafa
inc esi
cmp dword [ebp - 0x12c], 0
je case.0x45522a.10
cmp esi, edx
jae case.0x45522a.10
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne case.0x45522a.10
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x454a10
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
mov edi, dword [ebp - 0x11c]
inc esi
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452edc
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov eax, edx
je 0x454b3f
cmp edx, 0xc0
jb 0x454b3f
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x454a96
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x454b3d
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x454ab7
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x454b3d
test dl, 8
jne 0x454ada
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x454b3d
test dl, 4
jne 0x454b09
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x454b3d
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0x100
jae case.0x45522a.10
mov eax, dword [ebx + 0x40]
test byte [edx + eax], 4
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x454c63
cmp ecx, 0xc0
jb 0x454c63
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x454ba5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x454c61
test cl, 0x10
jne 0x454bc6
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x454c61
test cl, 8
jne 0x454bf0
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x454c61
test cl, 4
jne 0x454c26
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x454c61
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0xff
ja case.default.0x45522a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
je case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x454d87
cmp ecx, 0xc0
jb 0x454d87
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x454cc9
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x454d85
test cl, 0x10
jne 0x454cea
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x454d85
test cl, 8
jne 0x454d14
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x454d85
test cl, 4
jne 0x454d4a
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x454d85
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0x100
jae case.0x45522a.10
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x454eab
cmp ecx, 0xc0
jb 0x454eab
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x454ded
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x454ea9
test cl, 0x10
jne 0x454e0e
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x454ea9
test cl, 8
jne 0x454e38
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x454ea9
test cl, 4
jne 0x454e6e
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x454ea9
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0xff
ja case.default.0x45522a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x454fcf
cmp ecx, 0xc0
jb 0x454fcf
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x454f11
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x454fcd
test cl, 0x10
jne 0x454f32
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x454fcd
test cl, 8
jne 0x454f5c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x454fcd
test cl, 4
jne 0x454f92
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x454fcd
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0x100
jae case.0x45522a.10
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov eax, edx
je 0x4550e5
cmp edx, 0xc0
jb 0x4550e5
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x45503c
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x4550e3
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x45505d
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4550e3
test dl, 8
jne 0x455080
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4550e3
test dl, 4
jne 0x4550af
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4550e3
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0xff
ja case.default.0x45522a
mov eax, dword [ebx + 0x40]
test byte [edx + eax], 0x10
je case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov eax, esi
je 0x455210
cmp ecx, 0xc0
jb 0x455210
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455152
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45520e
test cl, 0x10
jne 0x455173
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45520e
test cl, 8
jne 0x45519d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45520e
test cl, 4
jne 0x4551d3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45520e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, esi
cmp ecx, 0x85
ja 0x45528f
je case.0x45522a.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45522a
jmp dword [ecx*4 + 0x46116c]
cmp eax, edx
jb 0x455271
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.0x45522a.10
cmp eax, dword [ebx + 0x84]
jbe case.0x45522a.10
mov dword [ebx + 0x64], 1
cmp ecx, 1
jg 0x45dcef
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp byte [esi], 0xa
jne case.0x45522a.10
mov edi, dword [ebp - 0x11c]
lea esi, [eax + 1]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
sub ecx, 0x2028
je case.0x45522a.11
sub ecx, 1
jne case.default.0x45522a
cmp dword [ebx + 0x68], 0
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
test edx, edx
je 0x4553b2
cmp ecx, 0xc0
jb 0x4553b2
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x4552f6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x4553b2
test cl, 0x10
jne 0x455317
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x4553b2
test cl, 8
jne 0x455341
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x4553b2
test cl, 4
jne 0x455377
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x4553b2
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x2000
ja 0x45541c
je case.default.0x45522a
cmp ecx, 0xa0
ja 0x4553f2
je case.default.0x45522a
cmp ecx, 9
je case.default.0x45522a
cmp ecx, 0x20
je case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp ecx, 0x1680
je case.default.0x45522a
cmp ecx, 0x180e
je case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp ecx, 0x3000
ja case.0x45522a.10
je case.default.0x45522a
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x45522a.10
movzx eax, byte [ecx + 0x461184]
jmp dword [eax*4 + 0x46117c]
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
test edx, edx
je 0x455541
cmp ecx, 0xc0
jb 0x455541
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455485
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x455541
test cl, 0x10
jne 0x4554a6
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x455541
test cl, 8
jne 0x4554d0
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x455541
test cl, 4
jne 0x455506
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x455541
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x2000
ja 0x4555ab
je case.0x45522a.10
cmp ecx, 0xa0
ja 0x455581
je case.0x45522a.10
cmp ecx, 9
je case.0x45522a.10
cmp ecx, 0x20
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp ecx, 0x1680
je case.0x45522a.10
cmp ecx, 0x180e
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp ecx, 0x3000
ja case.default.0x45522a
je case.0x45522a.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x45522a
movzx eax, byte [ecx + 0x4611ec]
jmp dword [eax*4 + 0x4611e4]
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
test edx, edx
je 0x4556d0
cmp ecx, 0xc0
jb 0x4556d0
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455614
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x4556d0
test cl, 0x10
jne 0x455635
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x4556d0
test cl, 8
jne 0x45565f
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x4556d0
test cl, 4
jne 0x455695
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x4556d0
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x4556f1
je case.default.0x45522a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x45522a.10
jmp dword [ecx*4 + 0x46124c]
sub ecx, 0x2028
je case.default.0x45522a
sub ecx, 1
je case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
je 0x455804
cmp edx, 0xc0
jb 0x455804
test dl, 0x20
jne 0x455757
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x455804
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45577e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x455804
test dl, 8
jne 0x4557a1
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x455804
test dl, 4
jne 0x4557d0
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x455804
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x85
ja 0x455825
je case.0x45522a.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x45522a
jmp dword [edx*4 + 0x46125c]
sub edx, 0x2028
je case.0x45522a.10
sub edx, 1
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edi, edx
je 0x45594b
cmp edx, 0xc0
jb 0x45594b
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x45588d
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x455949
test dl, 0x10
jne 0x4558ae
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 2
jmp 0x455949
test dl, 8
jne 0x4558d8
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x455949
test dl, 4
jne 0x45590e
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x455949
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov edi, edx
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x6c21e0]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ebx, word [ecx*2 + 0x6c5ba0]
mov ecx, dword [ebp - 0x11c]
movzx eax, byte [ecx + 1]
cmp eax, 0xa
ja case.default.0x45597c
jmp dword [eax*4 + 0x46126c]
cmp dword [ebp - 0x124], 0xf
je case.default.0x45522a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov al, byte [ebx*8 + 0x6c43e1]
cmp al, 9
je 0x4559cf
cmp al, 5
je 0x4559cf
cmp al, 8
je 0x4559cf
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45598a
xor eax, eax
mov ecx, 1
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45598a
mov edi, dword [ebp - 0x11c]
xor edx, edx
movzx ecx, byte [ebx*8 + 0x6c43e1]
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x6c1720]
setne dl
xor eax, eax
cmp dword [ebp - 0x124], 0x10
sete al
cmp edx, eax
je case.default.0x45522a
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov edi, dword [ebp - 0x11c]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x6c43e1]
setne cl
xor eax, eax
cmp dword [ebp - 0x124], 0x10
sete al
cmp ecx, eax
je case.default.0x45522a
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov edi, dword [ebp - 0x11c]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x6c43e0]
setne cl
xor eax, eax
cmp dword [ebp - 0x124], 0x10
sete al
cmp ecx, eax
je case.default.0x45522a
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
movzx eax, byte [ebx*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x4559cf
cmp eax, 3
je 0x4559cf
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45598a
cmp edx, 0x20
ja 0x455af4
je case.0x45597c.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x455b75.8203
jmp dword [edx*4 + 0x461298]
cmp edx, 0x2000
ja 0x455b55
je case.0x45597c.0
cmp edx, 0x1680
ja 0x455b4d
je case.0x45597c.0
sub edx, 0x85
je case.0x45597c.0
sub edx, 0x1b
je case.0x45597c.0
movzx eax, byte [ebx*8 + 0x6c43e1]
xor ecx, ecx
cmp dword [eax*4 + 0x6c1720], 6
sete cl
xor eax, eax
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45598a
cmp edx, 0x180e
jmp 0x455b1f
cmp edx, 0x3000
ja case.0x455b75.8203
je case.0x45597c.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x455b75.8203
movzx eax, byte [edx + 0x4612b4]
jmp dword [eax*4 + 0x4612ac]
movzx eax, byte [ebx*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x4559cf
cmp eax, 3
je 0x4559cf
cmp edi, 0x5f
je 0x4559cf
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45598a
movzx eax, byte [ecx + 2]
mov ecx, dword [eax*4 + 0x6c5a60]
lea eax, [eax*4 + 0x6c5a60]
cmp edi, ecx
jb 0x455bde
lea eax, [eax + 4]
cmp edx, ecx
je 0x455bea
mov ecx, dword [eax]
cmp edx, ecx
jae 0x455bd1
cmp dword [ebp - 0x124], 0x10
jmp 0x45598a
cmp dword [ebp - 0x124], 0x10
jne case.default.0x45522a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
cmp edi, 0x24
je 0x455c3c
cmp edi, 0x40
je 0x455c3c
cmp edi, 0x60
je 0x455c3c
cmp edi, 0xa0
jb 0x455c30
cmp edi, 0xd7ff
jbe 0x455c3c
cmp edi, 0xe000
jae 0x455c3c
xor ecx, ecx
jmp 0x455c41
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jne 0x455990
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x128], eax
cmp esi, eax
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x13c], edx
mov ecx, esi
je 0x455dc8
cmp edx, 0xc0
jb 0x455dc8
mov al, byte [esi]
test dl, 0x20
jne 0x455cbb
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x455dc6
lea ecx, [esi + 1]
test dl, 0x10
jne 0x455ce1
mov ebx, edx
movzx eax, al
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
add esi, 2
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x455dc1
test dl, 8
jne 0x455d16
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x13c]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x455dc1
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x455d56
mov ebx, dword [ebp - 0x13c]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x455dc1
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x13c]
mov dword [ebp - 0x144], ebx
and dword [ebp - 0x144], 1
shl dword [ebp - 0x144], 6
or dword [ebp - 0x144], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x144], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x144], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov ecx, esi
mov edx, dword [ebp - 0x128]
mov eax, ebx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx ebx, byte [eax*8 + 0x6c43e2]
cmp ecx, edx
jae 0x455f1b
nop word [eax + eax]
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x455ed4
cmp edx, 0xc0
jb 0x455ed4
test dl, 0x20
jne 0x455e37
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x455ecc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455e56
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x455ecc
and eax, 0x3f
test dl, 8
jne 0x455e76
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x455ecc
test dl, 4
jne 0x455e9f
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x455ecc
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 0x128]
movzx eax, word [eax*2 + 0x6c5ba0]
movzx ecx, byte [eax*8 + 0x6c43e2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x6c1d40], eax
je 0x455f1b
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x455e00
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je case.0x45522a.10
cmp esi, edx
jb case.0x45522a.10
jmp 0x45458d
mov ebx, eax
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
xor eax, eax
cmp edi, 0x74
mov edi, dword [ebp - 0x11c]
sete al
mov dword [ebp - 0x13c], eax
movzx edx, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 1]
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [edi + 2]
add edi, 5
or ecx, eax
mov dword [ebp - 0x11c], edi
imul ecx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x30]
mov ebx, dword [ebx + 0x50]
add eax, ecx
neg ebx
sbb ebx, ebx
xor edi, edi
neg ebx
mov dword [ebp - 0x164], edi
dec ebx
mov dword [ebp - 0x144], ebx
test edx, edx
je 0x456056
mov dword [ebp - 0x150], eax
nop
movzx ecx, byte [eax]
dec edx
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x164], edi
cmp edi, dword [ebp - 0x138]
jge 0x455fdd
mov eax, dword [ecx + 0xc]
cmp dword [eax + edi*4], 0
jge 0x455ff2
mov eax, dword [ecx + 0x24]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0x150], eax
test edx, edx
jg 0x455fb0
jmp 0x456056
mov ebx, dword [eax + edi*4 + 4]
sub ebx, dword [eax + edi*4]
jmp 0x456050
xor eax, eax
cmp edi, 0x72
sete al
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x11c]
add dword [ebp - 0x11c], 3
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [ebp - 0x164], edi
cmp edi, dword [ebp - 0x138]
jge 0x456046
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
js 0x456046
mov ebx, dword [eax + edi*4 + 4]
sub ebx, ecx
jmp 0x456050
mov ebx, dword [ebx + 0x50]
neg ebx
sbb ebx, ebx
neg ebx
dec ebx
mov dword [ebp - 0x144], ebx
mov ecx, dword [ebp - 0x11c]
mov dl, byte [ecx]
movzx ecx, dl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x456074
movzx eax, byte [eax + 0x46131c]
jmp dword [eax*4 + 0x461314]
inc dword [ebp - 0x11c]
lea eax, [ecx - 0x62]
movsx ebx, byte [eax + 0x6c1204]
mov ecx, eax
movsx eax, byte [eax + 0x6c11f8]
and ecx, 1
test eax, eax
mov dword [ebp - 0x14c], ecx
cmove eax, dword [ebp - 0x16c]
mov dword [ebp - 0x128], eax
jmp 0x4560f6
xor eax, eax
cmp dl, 0x69
mov edx, dword [ebp - 0x11c]
sete al
mov dword [ebp - 0x14c], eax
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
movzx edx, byte [edx + 3]
shl ebx, 8
or ebx, eax
shl edx, 8
mov eax, dword [ebp - 0x11c]
movzx eax, byte [eax + 4]
or edx, eax
cmove edx, dword [ebp - 0x16c]
add dword [ebp - 0x11c], 5
mov dword [ebp - 0x128], edx
mov edx, dword [ebp - 0x144]
mov ecx, ebx
test edx, edx
je 0x452eca
jns 0x456110
test ebx, ebx
je 0x452eca
mov dword [ebp - 0x150], 1
cmp ecx, 1
jl 0x45615a
nop
push dword [ebp - 0x13c]
mov ecx, edi
push dword [ebp - 0x118]
push edx
mov edx, esi
call fcn.00452a80
add esp, 0xc
test eax, eax
js 0x45db23
mov edx, dword [ebp - 0x144]
add esi, eax
mov eax, dword [ebp - 0x150]
inc eax
mov dword [ebp - 0x150], eax
cmp eax, ebx
jle 0x456120
mov eax, dword [ebp - 0x128]
cmp ebx, eax
je 0x452eca
cmp dword [ebp - 0x14c], 0
je 0x45db9d
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop dword [eax]
cmp ebx, dword [ebp - 0x128]
jge case.default.0x45522a
push dword [ebp - 0x13c]
mov edi, dword [ebp - 0x118]
mov edx, esi
mov ecx, dword [ebp - 0x164]
push edi
push dword [ebp - 0x144]
call fcn.00452a80
add esp, 0xc
test eax, eax
js 0x45db63
mov edx, dword [ebp - 0x11c]
add esi, eax
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
inc ebx
push eax
push dword [ebp - 0x148]
push edi
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4561b0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x13c]
mov edx, esi
mov ecx, edi
push dword [ebp - 0x118]
push ebx
call fcn.00452a80
add esp, 0xc
test eax, eax
js 0x45dc82
add esi, eax
jmp 0x452eca
mov ebx, dword [ebp - 0x11c]
mov cl, byte [ebx + 0x21]
lea edi, [ebx + 1]
add ebx, 0x21
movzx edx, cl
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x11c], ebx
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x456282
movzx eax, byte [eax + 0x46132c]
jmp dword [eax*4 + 0x461324]
lea eax, [edx - 0x62]
inc ebx
mov dword [ebp - 0x11c], ebx
cmp eax, 8
jae 0x4562ab
mov ebx, eax
and ebx, 1
mov dword [ebp - 0x144], ebx
mov ebx, dword [ebp - 0x11c]
jmp 0x4562b5
mov dword [ebp - 0x158], 1
movsx ecx, byte [eax + 0x6c1204]
movsx eax, byte [eax + 0x6c11f8]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x134], eax
test eax, eax
jne 0x45634e
mov dword [ebp - 0x134], accept
jmp 0x45634e
xor eax, eax
cmp cl, 0x69
sete al
mov dword [ebp - 0x144], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [ebx + 1]
sete al
shl ecx, 8
mov dword [ebp - 0x158], eax
movzx eax, byte [ebx + 2]
movzx ebx, byte [ebx + 3]
or ecx, eax
mov eax, dword [ebp - 0x11c]
shl ebx, 8
movzx eax, byte [eax + 4]
or ebx, eax
cmove ebx, dword [ebp - 0x16c]
mov dword [ebp - 0x134], ebx
mov ebx, dword [ebp - 0x11c]
add ebx, 5
mov dword [ebp - 0x11c], ebx
jmp 0x456348
mov dword [ebp - 0x134], 1
mov ecx, 1
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x12c], 0
mov edx, 1
mov dword [ebp - 0x13c], edx
je 0x4564eb
cmp ecx, edx
jl 0x45653c
nop
mov ebx, dword [ebp - 0x118]
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x120], ebx
cmp ebx, 0xc0
jb 0x4564a4
test bl, 0x20
jne 0x4563ae
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x4564a4
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x4563d4
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x456499
lea edx, [esi + 2]
test bl, 8
jne 0x4563fd
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x456493
lea edi, [esi + 3]
test bl, 4
jne 0x45642e
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45648d
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x120]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x120], ebx
and eax, 0x3f
shl dword [ebp - 0x120], 6
mov ecx, dword [ebp - 0x120]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x120], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x130]
and eax, 0x3f
or ebx, eax
cmp ebx, 0xff
jbe 0x4564bb
cmp dword [ebp - 0x124], 0x6e
je case.default.0x45522a
jmp 0x4564da
mov eax, dword [ebp - 0x15c]
mov ecx, ebx
and ecx, 7
shr ebx, 3
shl eax, cl
test byte [ebx + edi], al
je case.default.0x45522a
mov ecx, dword [ebp - 0x130]
inc edx
mov dword [ebp - 0x13c], edx
cmp edx, ecx
jle 0x456370
jmp 0x456536
cmp ecx, 1
jl 0x45653c
mov edx, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x13c]
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x45dcbf
movzx edx, byte [esi]
inc esi
mov eax, dword [ebp - 0x15c]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [edx + ecx], al
je case.default.0x45522a
mov ecx, dword [ebp - 0x130]
inc ebx
cmp ebx, ecx
jle 0x456500
mov ebx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x134]
cmp ecx, eax
je 0x452eca
cmp dword [ebp - 0x144], 0
jne 0x45dd5e
mov edx, dword [ebp - 0x12c]
mov ebx, esi
mov dword [ebp - 0x144], ebx
test edx, edx
je 0x456781
mov edx, dword [ebp - 0x118]
cmp ecx, eax
jge 0x4566dc
mov ebx, dword [edx + 0x78]
nop
cmp esi, ebx
jae 0x4566ae
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x45665b
test dl, 0x20
jne 0x4565b2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45664d
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4565d1
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x456647
and eax, 0x3f
test dl, 8
jne 0x4565f1
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x456647
test dl, 4
jne 0x45661a
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x456647
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [ebp - 0x130]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x134]
cmp edx, 0xff
jbe 0x45666e
cmp dword [ebp - 0x124], 0x6e
je 0x4566a6
jmp 0x456695
mov eax, dword [ebp - 0x15c]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [edx + ecx], al
je 0x4566a6
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x134]
inc ecx
add esi, edi
mov dword [ebp - 0x130], ecx
cmp ecx, eax
jl 0x456580
mov edx, dword [ebp - 0x118]
jmp 0x4566d6
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4566d6
cmp esi, dword [edx + 0x84]
jbe 0x4566d6
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
mov ebx, dword [ebp - 0x144]
cmp dword [ebp - 0x158], 0
jne 0x452eca
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop dword [eax + eax]
mov eax, esi
dec esi
cmp eax, ebx
jbe case.default.0x45522a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45673d
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x456733
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x456720
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
cmp ecx, eax
mov ecx, dword [ebp - 0x118]
jge 0x4567d4
mov edi, dword [ecx + 0x78]
nop
cmp esi, edi
jae 0x4567f2
movzx edx, byte [esi]
mov eax, dword [ebp - 0x15c]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [edx + ecx], al
je 0x4567c8
mov eax, dword [ebp - 0x130]
inc esi
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x134]
jl 0x456790
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x12c]
cmp dword [ebp - 0x158], 0
je 0x45dd05
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
jmp 0x452edc
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4567ce
cmp esi, dword [ecx + 0x84]
jbe 0x4567ce
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x4567ce
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
lea ebx, [edi + 3]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x14c], ebx
add edi, ecx
mov dword [ebp - 0x11c], edi
mov cl, byte [edi]
movzx edx, cl
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x456868
movzx eax, byte [eax + 0x461340]
jmp dword [eax*4 + 0x461338]
lea eax, [edx - 0x62]
inc edi
mov dword [ebp - 0x11c], edi
cmp eax, 8
jae 0x45688b
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x144], ecx
jmp 0x456895
mov dword [ebp - 0x158], 1
movsx ecx, byte [eax + 0x6c1204]
movsx eax, byte [eax + 0x6c11f8]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], eax
test eax, eax
jne 0x456922
mov dword [ebp - 0x124], accept
jmp 0x456922
movzx edx, byte [edi + 3]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [ebp - 0x144], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edi + 1]
sete al
shl ecx, 8
mov dword [ebp - 0x158], eax
movzx eax, byte [edi + 2]
or ecx, eax
shl edx, 8
movzx eax, byte [edi + 4]
or edx, eax
cmove edx, dword [ebp - 0x16c]
add edi, 5
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x11c], edi
jmp 0x45691c
mov dword [ebp - 0x124], 1
mov ecx, 1
mov dword [ebp - 0x128], ecx
mov edi, 1
cmp ecx, edi
jl 0x456a54
nop
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e01d
movzx ecx, byte [esi]
inc esi
mov edx, dword [ebp - 0x12c]
test edx, edx
je 0x456a32
cmp ecx, 0xc0
jb 0x456a32
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x456976
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x456a32
test cl, 0x10
jne 0x456997
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x456a32
test cl, 8
jne 0x4569c1
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x456a32
test cl, 4
jne 0x4569f7
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x456a32
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
push edx
mov edx, ebx
call fcn.00462c50
add esp, 4
test eax, eax
je case.default.0x45522a
mov ecx, dword [ebp - 0x128]
inc edi
cmp edi, ecx
jle 0x456930
mov eax, dword [ebp - 0x124]
mov edx, dword [ebp - 0x12c]
cmp ecx, eax
je 0x4567e1
cmp dword [ebp - 0x144], 0
jne 0x45e030
mov ebx, esi
mov dword [ebp - 0x13c], ebx
cmp ecx, eax
jge 0x456baa
nop word [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x456c5e
mov edx, dword [ebp - 0x12c]
mov edi, 1
movzx ebx, byte [esi]
test edx, edx
je 0x456b74
cmp ebx, 0xc0
jb 0x456b74
test bl, 0x20
jne 0x456ad7
movzx eax, byte [esi + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x456b6c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x456af6
and ebx, 0xf
mov edi, 3
shl ebx, 6
or ebx, ecx
jmp 0x456b6c
and eax, 0x3f
test bl, 8
jne 0x456b16
and ebx, 7
mov edi, 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
jmp 0x456b6c
test bl, 4
jne 0x456b3f
and ebx, 3
mov edi, 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
jmp 0x456b6c
and ebx, edi
mov edi, 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
push edx
mov edx, dword [ebp - 0x14c]
mov ecx, ebx
call fcn.00462c50
add esp, 4
test eax, eax
je 0x456ba4
mov ecx, dword [ebp - 0x128]
add esi, edi
inc ecx
mov dword [ebp - 0x128], ecx
cmp ecx, dword [ebp - 0x124]
jl 0x456a90
mov ebx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452eca
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop
mov eax, esi
dec esi
cmp eax, ebx
jbe case.default.0x45522a
cmp dword [ebp - 0x12c], 0
je 0x456c1a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x456c1a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x456c10
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x456bf0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x456c80
cmp esi, dword [ecx + 0x84]
jbe 0x456c80
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45dcef
mov ebx, dword [ebp - 0x13c]
jmp 0x456bb0
test edx, edx
je 0x456d13
mov eax, dword [ebp - 0x11c]
mov edx, 1
inc eax
mov ecx, edx
mov dword [ebp - 0x11c], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x456ce0
test al, 0x20
jne 0x456cba
lea edx, [ecx + 1]
jmp 0x456cde
test al, 0x10
jne 0x456cc5
mov edx, 3
jmp 0x456cde
test al, 8
jne 0x456cd0
mov edx, 4
jmp 0x456cde
mov edx, 5
test al, 4
je 0x456cde
mov edx, 6
mov ecx, edx
mov edi, dword [ebx + 0x78]
mov eax, edi
sub eax, esi
cmp ecx, eax
jg 0x45e1d8
mov edi, dword [ebp - 0x11c]
mov cl, byte [edi]
dec edx
mov al, byte [esi]
inc edi
inc esi
mov dword [ebp - 0x11c], edi
cmp cl, al
jne case.default.0x45522a
test edx, edx
jg 0x456cf5
jmp 0x452ed6
mov eax, dword [ebx + 0x78]
sub eax, esi
cmp eax, 1
jl 0x45dafa
mov edi, dword [ebp - 0x11c]
mov al, byte [esi]
inc esi
cmp byte [edi + 1], al
jne case.default.0x45522a
add edi, 2
mov dword [ebp - 0x11c], edi
jmp 0x452edc
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
mov edi, dword [ebp - 0x11c]
test edx, edx
je 0x45702a
movzx ebx, byte [edi + 1]
inc edi
mov dword [ebp - 0x158], 1
mov edx, ebx
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x144], edx
cmp ebx, 0xc0
jb 0x456e68
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x456dac
mov eax, ebx
mov dword [ebp - 0x158], 2
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x456e58
movzx eax, byte [edi + 2]
test bl, 0x10
jne 0x456dcc
and ebx, 0xf
mov dword [ebp - 0x158], 3
shl ebx, 6
or ebx, ecx
jmp 0x456e52
and eax, 0x3f
test bl, 8
jne 0x456df1
and ebx, 7
mov dword [ebp - 0x158], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x456e52
test bl, 4
jne 0x456e1f
and ebx, 3
mov dword [ebp - 0x158], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x456e52
and ebx, 1
mov dword [ebp - 0x158], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov edx, ebx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x144], edx
cmp edx, 0x80
jae 0x456e9b
mov eax, dword [ebp - 0x118]
movzx ecx, byte [esi]
mov edx, dword [eax + 0x38]
mov al, byte [ebx + edx]
cmp al, byte [ecx + edx]
jne case.default.0x45522a
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
inc esi
jmp 0x452ed6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x456fcf
test bl, 0x20
jne 0x456eca
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x456fcf
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x456ef5
and ebx, 0xf
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 2
movzx eax, byte [ecx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x456fcf
lea edx, [esi + 2]
test bl, 8
jne 0x456f29
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x456fc9
lea edi, [esi + 3]
test bl, 4
jne 0x456f6b
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x456fc3
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
movzx ebx, byte [ebx]
movzx eax, al
and ebx, 0x3f
and eax, 0x3f
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x14c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x14c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
mov edi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x144]
add edi, dword [ebp - 0x158]
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x11c], edi
cmp eax, ebx
je 0x453730
mov eax, eax
test eax, eax
jns 0x456ff2
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x6c21e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6c5ba0]
mov eax, dword [eax*8 + 0x6c43e4]
add eax, edx
cmp ebx, eax
jne case.default.0x45522a
mov ebx, dword [ebp - 0x118]
jmp 0x452ed6
mov edx, dword [ebx + 0x38]
movzx eax, byte [edi + 1]
movzx ecx, byte [esi]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.default.0x45522a
inc esi
add edi, 2
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov eax, dword [ebp - 0x11c]
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 0x11c]
add eax, 3
mov dword [ebp - 0x130], ebx
mov edx, ebx
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x124], edx
mov ecx, eax
jmp 0x457174
mov dword [ebp - 0x158], 1
mov eax, dword [ebp - 0x11c]
xor edx, edx
mov dword [ebp - 0x124], edx
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ebx, 8
or ebx, eax
mov dword [ebp - 0x130], ebx
cmp cl, 0x28
je 0x4570c1
mov dword [ebp - 0x144], edx
cmp cl, 0x35
jne 0x4570cb
mov dword [ebp - 0x144], 1
mov eax, dword [ebp - 0x11c]
add eax, 3
mov dword [ebp - 0x11c], eax
mov ecx, eax
jmp 0x457174
xor edx, edx
mov dword [ebp - 0x130], accept
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x124], edx
mov ecx, eax
mov dword [ebp - 0x11c], eax
jmp 0x457174
mov edx, 1
jmp 0x4570e3
xor edx, edx
mov dword [ebp - 0x130], 1
jmp 0x4570ed
mov ecx, dword [ebp - 0x11c]
cmp edi, 0x2e
mov ebx, edi
sbb eax, eax
inc ecx
and eax, 0xfffffff3
mov dword [ebp - 0x11c], ecx
add eax, 0x2e
sub ebx, eax
mov eax, ebx
and ebx, 1
mov dword [ebp - 0x144], ebx
movsx edx, byte [eax + 0x6c1204]
movsx eax, byte [eax + 0x6c11f8]
mov dword [ebp - 0x130], eax
test eax, eax
mov dword [ebp - 0x124], edx
mov eax, ecx
jne 0x457174
mov dword [ebp - 0x130], accept
cmp dword [ebp - 0x12c], 0
movzx ebx, byte [eax]
je 0x45762c
mov dword [ebp - 0x164], eax
cmp ebx, 0xc0
jb 0x457629
movzx edx, byte [eax + 1]
and edx, 0x3f
test bl, 0x20
jne 0x4571c2
and ebx, 0x1f
mov dword [ebp - 0x134], 2
shl ebx, 6
or edx, ebx
add eax, 2
mov dword [ebp - 0x11c], eax
jmp 0x4572a1
movzx eax, byte [eax + 2]
and eax, 0x3f
test bl, 0x10
jne 0x4571f1
and ebx, 0xf
mov dword [ebp - 0x134], 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
add dword [ebp - 0x11c], 3
jmp 0x4572a1
mov ecx, dword [ebp - 0x11c]
test bl, 8
jne 0x457224
and ebx, 7
mov dword [ebp - 0x134], 4
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 4
jmp 0x45729b
test bl, 4
jne 0x45725d
and ebx, 3
mov dword [ebp - 0x134], 5
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 5
jmp 0x45729b
and ebx, 1
mov dword [ebp - 0x134], 6
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 6
mov dword [ebp - 0x11c], ecx
cmp edi, 0x2e
jb 0x4572db
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6c21e0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x6c5ba0]
mov ecx, dword [eax*8 + 0x6c43e4]
add ecx, edx
cmp ecx, edx
je 0x4572db
lea edx, [ebp - 0x10]
call fcn.00463350
jmp 0x4572dd
xor eax, eax
mov edx, dword [ebp - 0x124]
mov ebx, 1
mov dword [ebp - 0x128], eax
cmp edx, ebx
jl 0x45741a
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x134]
mov ecx, dword [eax + 0x78]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x14c], eax
cmp esi, eax
ja 0x45737c
mov edx, dword [ebp - 0x164]
mov ecx, esi
sub edi, 4
jb 0x457337
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45733c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457326
cmp edi, 0xfffffffc
je 0x457369
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x457376
cmp edi, 0xfffffffd
je 0x457369
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x457376
cmp edi, 0xfffffffe
je 0x457369
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x457376
cmp edi, 0xffffffff
je 0x457369
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x457376
mov edi, dword [ebp - 0x134]
add esi, edi
jmp 0x4573ff
mov ecx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x128]
test edi, edi
jle 0x45e1f3
mov eax, ecx
sub eax, edi
cmp esi, eax
ja 0x45e1f3
lea edx, [ebp - 0x10]
mov ecx, esi
sub edi, 4
jb 0x4573b1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4573b6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4573a0
cmp edi, 0xfffffffc
je 0x4573f3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45e1f3
cmp edi, 0xfffffffd
je 0x4573f3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45e1f3
cmp edi, 0xfffffffe
je 0x4573f3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45e1f3
cmp edi, 0xffffffff
je 0x4573f3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45e1f3
add esi, dword [ebp - 0x128]
mov edi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x124]
inc ebx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x13c]
cmp ebx, edx
jle 0x457315
mov eax, dword [ebp - 0x130]
cmp edx, eax
je 0x452eca
cmp dword [ebp - 0x144], 0
jne 0x45e22b
mov ebx, esi
mov dword [ebp - 0x144], ebx
cmp edx, eax
jge 0x457574
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x134]
mov eax, dword [eax + 0x78]
mov ebx, eax
mov dword [ebp - 0x13c], eax
sub ebx, edi
nop
cmp esi, ebx
ja 0x4574c7
mov edx, dword [ebp - 0x164]
mov ecx, esi
sub edi, 4
jb 0x457482
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x457487
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457471
cmp edi, 0xfffffffc
je 0x4574b4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4574c1
cmp edi, 0xfffffffd
je 0x4574b4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4574c1
cmp edi, 0xfffffffe
je 0x4574b4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4574c1
cmp edi, 0xffffffff
je 0x4574b4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4574c1
mov edi, dword [ebp - 0x134]
add esi, edi
jmp 0x45754f
mov eax, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x128]
test edi, edi
jle 0x4575f1
sub eax, edi
cmp esi, eax
ja 0x4575f1
lea edx, [ebp - 0x10]
mov ecx, esi
sub edi, 4
jb 0x457501
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x457506
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4574f0
cmp edi, 0xfffffffc
je 0x457543
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4575f1
cmp edi, 0xfffffffd
je 0x457543
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4575f1
cmp edi, 0xfffffffe
je 0x457543
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4575f1
cmp edi, 0xffffffff
je 0x457543
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4575f1
add esi, dword [ebp - 0x128]
mov edi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x13c]
inc edx
mov dword [ebp - 0x124], edx
cmp edx, dword [ebp - 0x130]
jl 0x457460
mov ebx, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452eca
cmp esi, ebx
jbe 0x45772e
nop
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x4575da
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4575d0
mov ecx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x457590
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45773a
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45761e
cmp esi, dword [ecx + 0x78]
jb 0x45761e
cmp esi, dword [ecx + 0x84]
jbe 0x45761e
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45dcef
mov ebx, dword [ebp - 0x144]
jmp 0x45757a
inc eax
jmp 0x45762f
lea eax, [ecx + 1]
mov dword [ebp - 0x11c], eax
mov ecx, 1
cmp edi, 0x2e
jb 0x45778e
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x3c]
movzx edi, byte [eax + ebx]
mov dword [ebp - 0x14c], edi
cmp edx, 1
jl 0x457690
mov edx, dword [ecx + 0x78]
mov ecx, 1
cmp esi, edx
jae 0x45e3c0
movzx eax, byte [esi]
cmp ebx, eax
je 0x45767a
cmp edi, eax
jne case.default.0x45522a
inc ecx
inc esi
cmp ecx, dword [ebp - 0x124]
jle 0x457663
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x130]
cmp edx, eax
je 0x452eca
cmp dword [ebp - 0x144], 0
jne 0x45e3d9
mov dword [ebp - 0x14c], esi
cmp edx, eax
jge 0x4576d5
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x457759
movzx eax, byte [esi]
cmp ebx, eax
je 0x4576cb
cmp edi, eax
jne 0x4576d5
inc edx
inc esi
cmp edx, dword [ebp - 0x130]
jl 0x4576b8
mov ebx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452ed0
mov ebx, dword [ebp - 0x14c]
cmp esi, ebx
je 0x45772e
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
dec esi
test edi, edi
jne case.default.0x4537cb
cmp esi, ebx
jne 0x4576f2
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx]
mov edx, dword [ebx + 0x4c]
mov dword [ebp - 0x12c], edx
cmp eax, dword [ebx + 4]
jae 0x460f24
mov ecx, dword [ebp - 0x148]
jmp 0x452e80
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x4576db
cmp esi, dword [ebx + 0x84]
jbe 0x4576db
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp 0x4576db
cmp edx, 1
jl 0x4577c3
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45e48b
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.default.0x45522a
inc ecx
cmp ecx, dword [ebp - 0x124]
jle 0x4577a0
mov edx, dword [ebp - 0x124]
mov edi, dword [ebp - 0x130]
cmp edx, edi
je 0x452eca
cmp dword [ebp - 0x144], 0
jne 0x45e4b4
mov dword [ebp - 0x14c], esi
cmp edx, edi
jge 0x457802
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x457864
movzx eax, byte [esi]
cmp ebx, eax
jne 0x457802
inc edx
inc esi
cmp edx, edi
jl 0x4577f1
mov ebx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452ed0
mov ebx, dword [ebp - 0x14c]
cmp esi, ebx
je 0x45772e
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
dec esi
test edi, edi
jne case.default.0x4537cb
cmp esi, ebx
jne 0x457823
jmp 0x45772e
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x457808
cmp esi, dword [ebx + 0x84]
jbe 0x457808
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp 0x457808
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
mov eax, dword [ebp - 0x11c]
test edx, edx
je 0x457b20
movzx edx, byte [eax + 1]
lea ebx, [eax + 2]
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x11c], ebx
cmp edx, 0xc0
jb 0x45799f
test dl, 0x20
jne 0x4578e6
movzx eax, byte [ebx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc ebx
mov dword [ebp - 0x158], edx
jmp 0x457999
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45790d
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add ebx, 2
jmp 0x457993
test dl, 8
jne 0x457930
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 3
jmp 0x457993
test dl, 4
jne 0x45795f
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 4
jmp 0x457993
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 5
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x11c], ebx
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x144], ebx
cmp ebx, 0xc0
jb 0x457ab0
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4579cb
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x457aab
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4579ec
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x457aab
lea edx, [esi + 2]
test bl, 8
jne 0x457a15
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x457aab
lea edi, [esi + 3]
test bl, 4
jne 0x457a46
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x457aa5
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x144]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x144], ebx
and eax, 0x3f
shl dword [ebp - 0x144], 6
mov ecx, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x144], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x124]
and eax, 0x3f
or ebx, eax
cmp edi, 0x1f
jne 0x457ac0
cmp dword [ebp - 0x158], ebx
jmp 0x452ec4
mov edx, dword [ebp - 0x158]
cmp edx, 0x7f
jbe 0x457b04
mov eax, edx
test eax, eax
jns 0x457ad4
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x6c21e0]
mov eax, edx
shl ecx, 7
and eax, reloc.WLDAP32.dll_Ordinal_127
jns 0x457aef
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6c5ba0]
mov eax, dword [eax*8 + 0x6c43e4]
add eax, edx
jmp 0x457b11
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
cmp edx, ebx
je case.default.0x45522a
cmp eax, ebx
jmp 0x452ec4
movzx edx, byte [esi]
inc esi
movzx ecx, byte [eax + 1]
cmp ecx, edx
je case.default.0x45522a
cmp edi, 0x20
jne 0x457b44
mov eax, dword [ebx + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.default.0x45522a
mov edi, dword [ebp - 0x11c]
add edi, 2
mov dword [ebp - 0x11c], edi
jmp 0x452ed6
mov ebx, dword [ebp - 0x11c]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, 3
mov edi, ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x130], edi
mov ecx, ebx
jmp 0x457cb2
mov ebx, dword [ebp - 0x11c]
xor edi, edi
mov dword [ebp - 0x130], edi
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov dword [ebp - 0x120], edx
cmp cl, 0x42
je 0x457bb4
mov dword [ebp - 0x144], edi
cmp cl, 0x4f
jne 0x457bbe
mov dword [ebp - 0x144], 1
add ebx, 3
mov ecx, ebx
jmp 0x457cb2
mov ebx, dword [ebp - 0x11c]
xor edi, edi
inc ebx
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
mov ecx, ebx
jmp 0x457ca8
mov ebx, dword [ebp - 0x11c]
mov edi, 1
inc ebx
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
mov ecx, ebx
jmp 0x457ca8
mov ebx, dword [ebp - 0x11c]
xor edi, edi
inc ebx
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
mov ecx, ebx
mov dword [ebp - 0x120], 1
jmp 0x457cb2
mov ebx, dword [ebp - 0x11c]
xor edi, edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, 3
mov dword [ebp - 0x120], ecx
mov ecx, ebx
jmp 0x457cb2
mov ebx, dword [ebp - 0x11c]
cmp edi, 0x48
mov edx, edi
sbb eax, eax
inc ebx
and eax, 0xfffffff3
mov ecx, ebx
add eax, 0x48
sub edx, eax
mov eax, edx
and edx, 1
mov dword [ebp - 0x144], edx
movsx edi, byte [eax + 0x6c1204]
movsx eax, byte [eax + 0x6c11f8]
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x457cb2
mov dword [ebp - 0x120], accept
movzx ebx, byte [ebx]
inc ecx
mov eax, dword [ebp - 0x12c]
mov edx, ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x11c], ecx
test eax, eax
je 0x457dc7
cmp ebx, 0xc0
jb 0x457dc7
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x457cf7
and ebx, 0x1f
shl ebx, 6
or ebx, eax
inc ecx
jmp 0x457db3
test bl, 0x10
jne 0x457d18
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 2
jmp 0x457db3
test bl, 8
jne 0x457d42
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 3
jmp 0x457db3
test bl, 4
jne 0x457d78
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 4
jmp 0x457db3
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 5
mov eax, dword [ebp - 0x12c]
mov edx, ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x11c], ecx
cmp dword [ebp - 0x124], 0x48
jb 0x4582db
test eax, eax
je 0x457e0c
cmp edx, 0x7f
jbe 0x457e0c
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6c21e0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x6c5ba0]
mov ecx, dword [ebp - 0x118]
mov edi, dword [eax*8 + 0x6c43e4]
add edi, edx
jmp 0x457e19
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x3c]
movzx edi, byte [eax + ebx]
cmp dword [ebp - 0x12c], 0
mov edx, 1
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x128], edx
je 0x457faf
mov ecx, dword [ebp - 0x134]
cmp eax, edx
jl 0x457fe4
nop dword [eax + eax]
mov ebx, dword [ebp - 0x118]
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x124], ebx
cmp ebx, 0xc0
jb 0x457f88
test bl, 0x20
jne 0x457e92
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x457f7c
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x457eb8
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x457f77
lea edx, [esi + 2]
test bl, 8
jne 0x457ee1
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x457f71
lea edi, [esi + 3]
test bl, 4
jne 0x457f12
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x457f71
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x124]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x124], ebx
and eax, 0x3f
shl dword [ebp - 0x124], 6
mov ecx, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x124], ecx
mov ebx, ecx
mov edx, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x134]
cmp ecx, ebx
je case.default.0x45522a
mov edi, dword [ebp - 0x13c]
cmp edi, ebx
je case.default.0x45522a
inc edx
mov dword [ebp - 0x128], edx
cmp edx, eax
jle 0x457e50
jmp 0x457fe4
cmp eax, 1
jl 0x457fde
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x45e3c0
movzx eax, byte [esi]
cmp ebx, eax
je case.default.0x45522a
cmp edi, eax
je case.default.0x45522a
mov eax, dword [ebp - 0x130]
inc edx
inc esi
cmp edx, eax
jle 0x457fb7
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x120]
cmp eax, edx
je 0x452eca
cmp dword [ebp - 0x144], 0
jne 0x45e563
cmp dword [ebp - 0x12c], 0
mov ebx, esi
je 0x458206
cmp eax, edx
jge 0x458151
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x4581d1
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x45812a
test dl, 0x20
jne 0x45805a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45812a
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x458084
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x458124
test dl, 8
jne 0x4580b0
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x458124
test dl, 4
jne 0x4580e8
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x458124
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [ebp - 0x134]
cmp ecx, edx
je 0x458151
cmp dword [ebp - 0x13c], edx
je 0x458151
add esi, eax
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x120]
jl 0x458020
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452eca
cmp esi, ebx
jbe 0x45772e
nop dword [eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x4581ba
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4581b0
mov edx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x458170
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45773a
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x458157
cmp esi, dword [edx + 0x84]
jbe 0x458157
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp 0x458157
cmp eax, edx
jge 0x458249
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x134]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4582ae
movzx eax, byte [esi]
cmp edx, eax
je 0x458249
cmp edi, eax
je 0x458249
mov eax, dword [ebp - 0x130]
inc esi
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x120]
jl 0x458220
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452eca
cmp esi, ebx
je 0x45772e
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ecx, dword [ebp - 0x118]
dec esi
cmp esi, ebx
jne 0x458264
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45773a
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45824f
cmp esi, dword [ecx + 0x84]
jbe 0x45824f
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp 0x45824f
mov edx, 1
mov dword [ebp - 0x13c], edx
test eax, eax
je 0x458468
cmp edi, edx
jl 0x458495
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x45844f
test bl, 0x20
jne 0x45833e
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x458443
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x458369
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x45843d
lea edx, [esi + 2]
test bl, 8
jne 0x45839d
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x458437
lea edi, [esi + 3]
test bl, 4
jne 0x4583df
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x458437
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
movzx ebx, byte [ebx]
movzx eax, al
and ebx, 0x3f
and eax, 0x3f
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x14c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x14c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
mov edi, dword [ebp - 0x130]
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x118]
cmp eax, ebx
je case.default.0x45522a
inc edx
mov dword [ebp - 0x13c], edx
cmp edx, edi
jle 0x458302
jmp 0x45848f
cmp edi, 1
jl 0x458495
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x45e3c0
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.default.0x45522a
inc edx
cmp edx, edi
jle 0x458476
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
cmp edi, eax
je 0x452eca
cmp dword [ebp - 0x144], 0
jne 0x45e7e7
mov edx, dword [ebp - 0x12c]
mov ebx, esi
test edx, edx
je 0x4586b6
cmp edi, eax
jge 0x458600
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x134]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x458681
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x4585e1
test dl, 0x20
jne 0x458511
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4585e1
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45853b
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x4585db
test dl, 8
jne 0x458567
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x4585db
test dl, 4
jne 0x45859f
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x4585db
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [ebp - 0x134]
cmp ecx, edx
je 0x458600
add esi, eax
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x120]
jl 0x4584d7
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452eca
cmp esi, ebx
jbe 0x45772e
nop dword [eax + eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x45866a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x458660
mov edx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x458620
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45773a
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x458606
cmp esi, dword [edx + 0x84]
jbe 0x458606
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp 0x458606
cmp edi, eax
jge 0x458749
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x134]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x45870f
movzx eax, byte [esi]
cmp edx, eax
je 0x4586e5
inc edi
inc esi
cmp edi, dword [ebp - 0x120]
jl 0x4586d0
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x12c]
cmp dword [ebp - 0x158], 0
je 0x45d462
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
jmp 0x452edc
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4586eb
cmp esi, dword [ecx + 0x84]
jbe 0x4586eb
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x4586eb
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x118]
jmp 0x4586f1
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x144], 1
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x120], ecx
mov ecx, edi
jmp 0x45889f
mov edi, dword [ebp - 0x11c]
xor ebx, ebx
mov dword [ebp - 0x120], 0
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
cmp cl, 0x5c
mov dword [ebp - 0x130], edx
sete bl
add edi, 3
mov dword [ebp - 0x144], ebx
mov ecx, edi
jmp 0x45889f
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 0
mov ecx, edi
jmp 0x458895
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 1
mov ecx, edi
jmp 0x458895
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 0
mov ecx, edi
mov dword [ebp - 0x130], 1
jmp 0x45889f
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov dword [ebp - 0x130], ecx
mov ecx, edi
jmp 0x45889f
lea ebx, [edi - 0x55]
mov edi, dword [ebp - 0x11c]
mov eax, ebx
inc edi
and ebx, 1
mov ecx, edi
mov dword [ebp - 0x144], ebx
movsx edx, byte [eax + 0x6c1204]
movsx eax, byte [eax + 0x6c11f8]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x130], eax
test eax, eax
jne 0x45889f
mov dword [ebp - 0x130], accept
movzx edx, byte [edi]
lea ebx, [ecx + 1]
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x11c], ebx
cmp edx, 0x10
je 0x4588c0
cmp edx, 0xf
je 0x4588c0
or eax, 0xffffffff
jmp 0x4588e6
mov cl, byte [ebx]
xor eax, eax
cmp edx, 0xf
sete al
mov dword [ebp - 0x160], eax
lea eax, [ebx + 1]
movzx ebx, byte [eax]
inc eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x154], ebx
movzx eax, cl
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x150], eax
test ecx, ecx
jle 0x458b79
test eax, eax
js 0x4599c4
cmp eax, 0xa
ja case.default.0x45597c
jmp dword [eax*4 + 0x46134c]
cmp dword [ebp - 0x160], 0
jne case.default.0x45522a
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45ace4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
nop dword [eax + eax]
cmp esi, edx
jae 0x45e48b
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
je 0x458981
cmp eax, 0xc0
jb 0x458981
test al, 0x20
jne 0x458963
inc esi
jmp 0x458981
test al, 0x10
jne 0x45896c
add esi, 2
jmp 0x458981
test al, 8
jne 0x458975
add esi, 3
jmp 0x458981
test al, 4
jne 0x45897e
add esi, 4
jmp 0x458981
add esi, 5
inc ecx
cmp ecx, ebx
jle 0x458940
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov edi, dword [ebp - 0x120]
mov ecx, 1
mov dword [ebp - 0x13c], ecx
cmp edi, ecx
jl 0x45ace4
nop dword [eax]
nop word [eax + eax]
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dcc5
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x458b16
cmp edx, 0xc0
jb 0x458b16
mov al, byte [esi]
test dl, 0x20
jne 0x458a0f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x458b16
lea ecx, [esi + 1]
test dl, 0x10
jne 0x458a35
mov ebx, edx
movzx eax, al
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
add esi, 2
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x458b0b
test dl, 8
jne 0x458a6a
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x458b0b
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x458aaa
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x458b05
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x128], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x128]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x128], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp eax, 9
je 0x458b4d
cmp eax, 5
je 0x458b4d
cmp eax, 8
je 0x458b4d
xor eax, eax
jmp 0x458b52
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45522a
inc ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
jle 0x4589c0
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x134]
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x130]
cmp ecx, edi
je 0x452ed0
cmp dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x150]
jne 0x45ea4b
mov ebx, esi
mov dword [ebp - 0x124], ebx
test eax, eax
js 0x45bbda
cmp eax, 0xa
ja case.default.0x45597c
jmp dword [eax*4 + 0x461378]
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x458b79
nop
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x458d1e
cmp edx, 0xc0
jb 0x458d1e
mov al, byte [esi]
test dl, 0x20
jne 0x458c1f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x458d1e
lea ecx, [esi + 1]
test dl, 0x10
jne 0x458c43
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x458d19
test dl, 8
jne 0x458c78
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x458d19
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x458cb8
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x458d13
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x13c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x13c], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
mov ebx, dword [ebp - 0x154]
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp dword [eax*4 + 0x6c1720], ebx
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x458bd0
jmp 0x458b73
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x458b79
nop dword [eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x13c], edx
je 0x458edc
cmp edx, 0xc0
jb 0x458edc
mov al, byte [esi]
movzx eax, al
test dl, 0x20
jne 0x458dda
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x458ed7
and eax, 0x3f
lea ecx, [esi + 1]
test dl, 0x10
jne 0x458dfd
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x458ed7
test dl, 8
jne 0x458e2c
mov ebx, dword [ebp - 0x13c]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x458ed7
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x458e66
mov ebx, dword [ebp - 0x13c]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x458ed1
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x13c]
mov dword [ebp - 0x124], ebx
and dword [ebp - 0x124], 1
shl dword [ebp - 0x124], 6
or dword [ebp - 0x124], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x124], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x124], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x458d90
jmp 0x458b73
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x458b79
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x459098
cmp edx, 0xc0
jb 0x459098
mov al, byte [esi]
test dl, 0x20
jne 0x458f9f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x459098
lea ecx, [esi + 1]
test dl, 0x10
jne 0x458fc3
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x459093
test dl, 8
jne 0x458ff8
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x459093
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x459038
mov ebx, dword [ebp - 0x124]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45908d
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x13c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x13c], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e0]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x458f50
jmp 0x458b73
mov edi, dword [ebp - 0x120]
mov ecx, 1
mov dword [ebp - 0x13c], ecx
cmp edi, ecx
jl 0x45ace4
nop word [eax + eax]
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dcc5
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45927a
cmp edx, 0xc0
jb 0x45927a
mov al, byte [esi]
test dl, 0x20
jne 0x45915f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45927a
lea ecx, [esi + 1]
test dl, 0x10
jne 0x459183
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45926f
test dl, 8
jne 0x4591b8
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45926f
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x4591f8
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x459269
lea ebx, [esi + 4]
movzx eax, al
mov dword [ebp - 0x14c], ebx
and eax, 0x3f
mov ebx, dword [ebp - 0x128]
add esi, 5
mov dword [ebp - 0x124], ebx
and dword [ebp - 0x124], 1
shl dword [ebp - 0x124], 6
or dword [ebp - 0x124], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x124], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x124], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x4592b3
cmp eax, 3
je 0x4592b3
xor eax, eax
jmp 0x4592b8
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45522a
inc ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
jle 0x459110
jmp 0x458b6d
mov edi, 1
cmp ecx, edi
jl 0x458b79
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
nop
cmp esi, ebx
jae 0x45dcbf
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ecx, edx
je 0x4593dd
cmp edx, 0xc0
jb 0x4593dd
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x459334
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x4593db
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x459355
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4593db
test dl, 8
jne 0x459378
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4593db
test dl, 4
jne 0x4593a7
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4593db
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, edx
cmp edx, 0x20
ja 0x4593f7
je case.0x4594a1.8193
add edx, 0xfffffff7
cmp edx, 4
ja case.0x4594a1.8203
jmp dword [edx*4 + 0x4613a4]
cmp edx, 0x2000
ja 0x459485
je case.0x4594a1.8193
cmp edx, 0x1680
ja 0x45947d
je case.0x4594a1.8193
sub edx, 0x85
je case.0x4594a1.8193
sub edx, 0x1b
je case.0x4594a1.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp dword [eax*4 + 0x6c1720], 6
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edi
cmp edi, ecx
jle 0x4592f0
jmp 0x458b73
cmp edx, 0x180e
jmp 0x459426
cmp edx, 0x3000
ja case.0x4594a1.8203
je case.0x4594a1.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4594a1.8203
movzx eax, byte [edx + 0x4613c0]
jmp dword [eax*4 + 0x4613b8]
cmp dword [ebp - 0x160], 0
jne case.default.0x45522a
jmp 0x459469
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x458b79
nop word [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x13c], edx
je 0x45961c
cmp edx, 0xc0
jb 0x45961c
mov al, byte [esi]
movzx eax, al
test dl, 0x20
jne 0x45951a
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x459617
and eax, 0x3f
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45953d
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x459617
test dl, 8
jne 0x45956c
mov ebx, dword [ebp - 0x13c]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x459617
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x4595a6
mov ebx, dword [ebp - 0x13c]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x459611
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x13c]
mov dword [ebp - 0x124], ebx
and dword [ebp - 0x124], 1
shl dword [ebp - 0x124], 6
or dword [ebp - 0x124], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x124], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x124], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x6c21e0]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x45965c
cmp eax, 3
je 0x45965c
cmp ebx, 0x5f
je 0x45965c
xor eax, eax
jmp 0x459661
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x4594d0
jmp 0x458b73
mov ebx, 1
cmp ecx, ebx
jl 0x458b79
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edi, ecx
je 0x4597a8
cmp ecx, 0xc0
jb 0x4597a8
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x4596e7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x4597a6
test cl, 0x10
jne 0x459708
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x4597a6
test cl, 8
jne 0x459735
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x4597a6
test cl, 4
jne 0x45976b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x4597a6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edi, ecx
mov eax, dword [ebp - 0x154]
mov edx, dword [eax*4 + 0x6c5a60]
lea eax, [eax*4 + 0x6c5a60]
cmp edi, edx
jb 0x4597cd
lea eax, [eax + 4]
cmp ecx, edx
je 0x4597ee
mov edx, dword [eax]
cmp ecx, edx
jae 0x4597c0
cmp dword [ebp - 0x160], 0
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc ebx
cmp ebx, ecx
jle 0x4596a0
jmp 0x458b73
cmp dword [ebp - 0x160], 0
jne case.default.0x45522a
jmp 0x4597da
mov edi, dword [ebp - 0x120]
mov ecx, 1
mov dword [ebp - 0x13c], ecx
cmp edi, ecx
jl 0x45ace4
nop word [eax + eax]
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dcc5
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x459974
cmp edx, 0xc0
jb 0x459974
test dl, 0x20
jne 0x45986d
movzx ebx, byte [esi]
and edx, 0x1f
and ebx, 0x3f
shl edx, 6
or ebx, edx
inc esi
jmp 0x459974
mov al, byte [esi]
lea ecx, [esi + 1]
test dl, 0x10
jne 0x459893
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x459969
test dl, 8
jne 0x4598c8
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x459969
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x459908
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x459963
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x128], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x128]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x128], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ebx, eax
cmp ebx, 0x24
je 0x45999f
cmp ebx, 0x40
je 0x45999f
cmp ebx, 0x60
je 0x45999f
cmp ebx, 0xa0
jb 0x459993
cmp ebx, 0xd7ff
jbe 0x45999f
cmp ebx, 0xe000
jae 0x45999f
xor eax, eax
jmp 0x4599a4
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45522a
inc ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
jle 0x459820
jmp 0x458b6d
cmp edx, 0x16
jne 0x459d0c
mov ebx, dword [ebp - 0x118]
mov dword [ebp - 0x14c], 1
cmp ecx, 1
jl 0x458b7f
nop word [eax + eax]
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x164], eax
cmp esi, eax
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], esi
je 0x459b4c
mov dword [ebp - 0x128], esi
cmp edx, 0xc0
jb 0x459b4c
mov al, byte [esi]
test dl, 0x20
jne 0x459a4d
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x459b46
lea ecx, [esi + 1]
test dl, 0x10
jne 0x459a71
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x459b41
test dl, 8
jne 0x459aa6
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x459b41
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x459ae6
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x459b41
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x13c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x13c], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov dword [ebp - 0x128], esi
mov ecx, dword [ebp - 0x164]
mov eax, ebx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx ebx, byte [eax*8 + 0x6c43e2]
cmp dword [ebp - 0x128], ecx
jae 0x459cb6
nop dword [eax]
nop word [eax + eax]
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x459c67
cmp edx, 0xc0
jb 0x459c67
test dl, 0x20
jne 0x459bc7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x459c5f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x459be9
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x459c5f
and eax, 0x3f
test dl, 8
jne 0x459c09
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x459c5f
test dl, 4
jne 0x459c32
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x459c5f
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx ecx, byte [eax*8 + 0x6c43e2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x6c1d40], eax
je 0x459cb0
mov ebx, ecx
add esi, edi
mov ecx, dword [ebp - 0x164]
cmp esi, ecx
jb 0x459b90
jmp 0x459cb6
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x459ce2
cmp esi, ecx
jb 0x459ce2
cmp esi, dword [ebx + 0x84]
jbe 0x459ce2
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45dcef
mov ecx, dword [ebp - 0x14c]
inc ecx
mov dword [ebp - 0x14c], ecx
cmp ecx, dword [ebp - 0x120]
jle 0x4599f0
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
cmp dword [ebp - 0x12c], 0
lea eax, [edx - 6]
je 0x45a87b
cmp eax, 0xf
ja case.default.0x45597c
jmp dword [eax*4 + 0x461420]
mov ebx, 1
cmp ecx, ebx
jl 0x458b79
nop dword [eax]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x45e3c6
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x459d7d
push dword [ebp - 0x12c]
lea edi, [ecx + 0x1c]
mov ecx, esi
push edi
push eax
call fcn.004633a0
add esp, 0xc
test eax, eax
jne case.default.0x45522a
mov edx, dword [ebp - 0x118]
jmp 0x459da7
mov edx, ecx
mov ecx, dword [edx + 0x1c]
sub eax, ecx
lea edi, [edx + 0x1c]
cmp esi, eax
ja 0x459da7
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x459da7
cmp ecx, 1
je case.default.0x45522a
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.default.0x45522a
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x459ddb
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x459ddb
cmp dword [edx + 0x18], 0
jne 0x459ddb
cmp dword [edi], 2
jne 0x459ddb
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x459ddb
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45dcef
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x459df6
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x459df6
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x459de5
mov ecx, dword [ebp - 0x120]
inc ebx
cmp ebx, ecx
jle 0x459d40
jmp 0x458b73
mov edi, 1
cmp ecx, edi
jl 0x458b79
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x45dcc5
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x459e49
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x459e43
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x459e32
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x118]
inc edi
cmp edi, ecx
jle 0x459e20
jmp 0x458b73
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x78]
sub eax, ecx
cmp esi, eax
ja case.default.0x45522a
add esi, ecx
jmp 0x458b7f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
mov eax, esi
cmp ecx, 0xc0
jb 0x459f84
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x459ec3
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x459f82
test cl, 0x10
jne 0x459ee4
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x459f82
test cl, 8
jne 0x459f11
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x459f82
test cl, 4
jne 0x459f47
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x459f82
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, esi
cmp ecx, 0x85
ja 0x459faf
je case.0x459f9a.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45522a
jmp dword [ecx*4 + 0x461460]
cmp eax, edi
jae case.0x459f9a.10
cmp byte [esi], 0xa
jne case.0x459f9a.10
lea esi, [eax + 1]
jmp case.0x459f9a.10
sub ecx, 0x2028
je case.0x459f9a.11
sub ecx, 1
jne case.default.0x45522a
cmp dword [ebx + 0x68], 0
jne case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x459e90
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov edi, 1
cmp ecx, edi
jl 0x458b79
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, ebx
jae 0x45dcbf
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x45a0e4
test dl, 0x20
jne 0x45a031
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x45a0e4
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45a058
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x45a0de
test dl, 8
jne 0x45a07b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x45a0de
test dl, 4
jne 0x45a0aa
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x45a0de
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [ebp - 0x120]
cmp edx, 0x2000
ja 0x45a13a
je case.default.0x45522a
cmp edx, 0xa0
ja 0x45a120
je case.default.0x45522a
cmp edx, 9
je case.default.0x45522a
cmp edx, 0x20
je case.default.0x45522a
inc edi
cmp edi, ecx
jle 0x45a000
jmp 0x458b73
cmp edx, 0x1680
je case.default.0x45522a
cmp edx, 0x180e
je case.default.0x45522a
jmp case.0x45a15a.8203
cmp edx, 0x3000
ja case.0x45a15a.8203
je case.default.0x45522a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45a15a.8203
movzx eax, byte [edx + 0x461478]
jmp dword [eax*4 + 0x461470]
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x45a267
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45a1a8
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45a267
test cl, 0x10
jne 0x45a1c9
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45a267
test cl, 8
jne 0x45a1f6
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45a267
test cl, 4
jne 0x45a22c
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45a267
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x2000
ja 0x45a2b9
je case.0x45a2dd.8193
cmp ecx, 0xa0
ja 0x45a2a3
je case.0x45a2dd.8193
cmp ecx, 9
je case.0x45a2dd.8193
cmp ecx, 0x20
jne case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x45a177
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
cmp ecx, 0x1680
je case.0x45a2dd.8193
cmp ecx, 0x180e
jne case.default.0x45522a
jmp case.0x45a2dd.8193
cmp ecx, 0x3000
ja case.default.0x45522a
je case.0x45a2dd.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x45522a
movzx eax, byte [ecx + 0x4614e0]
jmp dword [eax*4 + 0x4614d8]
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x45a3ed
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45a331
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45a3ed
test cl, 0x10
jne 0x45a352
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45a3ed
test cl, 8
jne 0x45a37c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45a3ed
test cl, 4
jne 0x45a3b2
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45a3ed
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x45a40a
je case.default.0x45522a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45a403
jmp dword [ecx*4 + 0x461540]
sub ecx, 0x2028
je case.default.0x45522a
sub ecx, 1
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x45a300
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
nop
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x45a53d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45a481
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45a53d
test cl, 0x10
jne 0x45a4a2
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45a53d
test cl, 8
jne 0x45a4cc
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45a53d
test cl, 4
jne 0x45a502
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45a53d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x45a55a
je case.0x45a553.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45522a
jmp dword [ecx*4 + 0x461550]
sub ecx, 0x2028
je case.0x45a553.10
sub ecx, 1
jne case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x45a450
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov edi, 1
cmp ecx, edi
jl 0x458b79
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, ebx
jae 0x45dcbf
movzx edx, byte [esi]
inc esi
mov eax, edx
cmp edx, 0xc0
jb 0x45a684
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x45a5d5
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x45a67c
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x45a5f6
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x45a67c
test dl, 8
jne 0x45a619
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x45a67c
test dl, 4
jne 0x45a648
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x45a67c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [ebp - 0x120]
mov eax, edx
cmp eax, 0x80
jae 0x45a69e
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne case.default.0x45522a
inc edi
cmp edi, ecx
jle 0x45a5a0
jmp 0x458b73
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.default.0x45522a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45a6c2
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov edi, 1
cmp ecx, edi
jl 0x458b79
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x45dcc5
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x45a733
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x45522a
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45a751
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45a751
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45a740
mov ecx, dword [ebp - 0x120]
inc edi
mov edx, dword [ebp - 0x118]
cmp edi, ecx
jle 0x45a713
jmp 0x458b73
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.default.0x45522a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45a780
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov edi, 1
cmp ecx, edi
jl 0x458b79
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x45dcc5
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x45a7f1
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x45522a
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45a811
mov ecx, esi
nop dword [eax + eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45a811
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45a800
mov ecx, dword [ebp - 0x120]
inc edi
mov edx, dword [ebp - 0x118]
cmp edi, ecx
jle 0x45a7d1
jmp 0x458b73
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.default.0x45522a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45a840
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
cmp eax, 0xf
ja case.default.0x45597c
jmp dword [eax*4 + 0x461560]
mov ebx, 1
cmp ecx, ebx
jl 0x458b79
mov edx, dword [ebp - 0x118]
nop
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x45dcc5
mov edx, dword [edx + 0x18]
test edx, edx
je 0x45a8d9
mov edi, dword [ebp - 0x118]
mov ecx, esi
push 0
add edi, 0x1c
push edi
push eax
call fcn.004633a0
add esp, 0xc
test eax, eax
jne case.default.0x45522a
mov edx, dword [ebp - 0x118]
jmp 0x45a907
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x45a907
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45a907
cmp ecx, 1
je case.default.0x45522a
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.default.0x45522a
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45a93b
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45a93b
cmp dword [edx + 0x18], 0
jne 0x45a93b
cmp dword [edi], 2
jne 0x45a93b
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45a93b
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45dcef
mov ecx, dword [ebp - 0x120]
inc ebx
inc esi
cmp ebx, ecx
jle 0x45a8a0
jmp 0x458b73
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x78]
sub eax, ecx
cmp esi, eax
ja 0x45dafa
add esi, ecx
jmp 0x458b7f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45ace4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45e48b
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.default.0x45522a
movzx eax, byte [eax + 0x4615b0]
jmp dword [eax*4 + 0x4615a0]
cmp esi, edx
jae case.0x45a9a7.10
cmp byte [esi], 0xa
jne case.0x45a9a7.10
inc esi
jmp case.0x45a9a7.10
cmp dword [edi + 0x68], 0
jne case.default.0x45522a
inc ecx
cmp ecx, ebx
jle 0x45a986
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45ace4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45e48b
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.default.0x45522a
cmp eax, 0x20
je case.default.0x45522a
cmp eax, 0xa0
je case.default.0x45522a
inc ecx
cmp ecx, ebx
jle 0x45a9f8
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45ace4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45e48b
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x45aa76
cmp eax, 0x20
je 0x45aa76
cmp eax, 0xa0
jne case.default.0x45522a
inc ecx
cmp ecx, ebx
jle 0x45aa55
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45ace4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x45e48b
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x45aacd.14
movzx eax, byte [eax + 0x461634]
jmp dword [eax*4 + 0x46162c]
inc ecx
cmp ecx, ebx
jle 0x45aab0
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45ace4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45e48b
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.default.0x45522a
movzx eax, byte [eax + 0x4616b8]
jmp dword [eax*4 + 0x4616b0]
inc ecx
cmp ecx, ebx
jle 0x45ab08
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
jne case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45ab60
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45aba1
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45abe2
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45ac27
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45ac70
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45ab84
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45dafa
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x45522a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45acb5
mov edx, dword [ebp - 0x134]
jmp 0x458b7f
mov ecx, dword [ebp - 0x120]
jmp 0x458b79
cmp ecx, edi
jge 0x45b683
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45ad78
cmp dword [ebp - 0x12c], 0
mov eax, 1
movzx ecx, byte [esi]
je 0x45ad53
cmp ecx, 0xc0
jb 0x45ad53
test cl, 0x20
jne 0x45ad2d
mov eax, 2
jmp 0x45ad53
test cl, 0x10
jne 0x45ad39
mov eax, 3
jmp 0x45ad53
test cl, 8
jne 0x45ad45
mov eax, 4
jmp 0x45ad53
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [ebp - 0x160], 0
jne 0x45b683
mov ecx, dword [ebp - 0x120]
add esi, eax
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, edi
jl 0x45ad00
jmp 0x45b683
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45b689
cmp esi, dword [ecx + 0x84]
jbe 0x45b689
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp 0x45b689
cmp ecx, edi
jge 0x45b683
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop
mov edx, 1
cmp esi, edi
jae 0x45af16
cmp dword [ebp - 0x12c], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x45aeae
cmp eax, 0xc0
jb 0x45aeae
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45ae05
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45aeac
test al, 0x10
jne 0x45ae1f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45aea6
test al, 8
jne 0x45ae42
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45aea6
test al, 4
jne 0x45ae71
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45aea6
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp eax, 9
je 0x45aee5
cmp eax, 5
je 0x45aee5
cmp eax, 8
je 0x45aee5
xor eax, eax
jmp 0x45aeea
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45b683
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45adc0
jmp 0x45b683
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45b689
cmp esi, dword [ecx + 0x84]
jbe 0x45b689
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x45dcef
jmp 0x45b689
cmp ecx, edi
jge 0x45b683
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45ad78
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45b046
cmp eax, 0xc0
jb 0x45b046
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45af9d
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45b044
test al, 0x10
jne 0x45afb7
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45b03e
test al, 8
jne 0x45afda
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45b03e
test al, 4
jne 0x45b009
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45b03e
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov ebx, dword [ebp - 0x154]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp dword [eax*4 + 0x6c1720], ebx
mov ebx, dword [ebp - 0x124]
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45b683
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45af58
jmp 0x45b683
cmp ecx, edi
jge 0x45b683
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x45ad78
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45b1ae
cmp eax, 0xc0
jb 0x45b1ae
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45b105
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45b1ac
test al, 0x10
jne 0x45b11f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45b1a6
test al, 8
jne 0x45b142
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45b1a6
test al, 4
jne 0x45b171
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45b1a6
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45b683
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b0c0
jmp 0x45b683
cmp ecx, edi
jge 0x45b683
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45ad78
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45b30e
cmp eax, 0xc0
jb 0x45b30e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45b265
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45b30c
test al, 0x10
jne 0x45b27f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45b306
test al, 8
jne 0x45b2a2
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45b306
test al, 4
jne 0x45b2d1
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45b306
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e0]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45b683
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b220
jmp 0x45b683
cmp ecx, edi
jge 0x45b683
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45ad78
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45b46e
cmp eax, 0xc0
jb 0x45b46e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45b3c5
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45b46c
test al, 0x10
jne 0x45b3df
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45b466
test al, 8
jne 0x45b402
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45b466
test al, 4
jne 0x45b431
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45b466
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x45b4a7
cmp eax, 3
je 0x45b4a7
xor eax, eax
jmp 0x45b4ac
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45b683
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b380
jmp 0x45b683
cmp ecx, edi
jge 0x45b683
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x45b74c
cmp dword [ebp - 0x12c], 0
movzx edx, byte [esi]
mov ecx, edx
je 0x45b5d6
cmp edx, 0xc0
jb 0x45b5d6
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45b53b
mov eax, edx
mov edi, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x45b5d2
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45b556
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45b5cc
and eax, 0x3f
test dl, 8
jne 0x45b576
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45b5cc
test dl, 4
jne 0x45b59f
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45b5cc
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
cmp edx, 0x20
ja 0x45b5f0
je case.0x45b733.8193
add edx, 0xfffffff7
cmp edx, 4
ja case.0x45b733.8203
jmp dword [edx*4 + 0x461734]
cmp edx, 0x2000
ja 0x45b70f
je case.0x45b733.8193
cmp edx, 0x1680
ja 0x45b704
je case.0x45b733.8193
sub edx, 0x85
je case.0x45b733.8193
sub edx, 0x1b
je case.0x45b733.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp dword [eax*4 + 0x6c1720], 6
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45b67d
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b4f0
mov ebx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452eca
cmp esi, ebx
jbe 0x45772e
nop
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
dec esi
cmp dword [ebp - 0x12c], eax
je 0x45b6ed
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45b6ed
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x45b6e3
mov ecx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x45b6a0
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45773a
cmp edx, 0x180e
jmp 0x45b623
cmp edx, 0x3000
ja case.0x45b733.8203
je case.0x45b733.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45b733.8203
movzx eax, byte [edx + 0x461750]
jmp dword [eax*4 + 0x461748]
cmp dword [ebp - 0x160], 0
jne 0x45b67d
jmp 0x45b662
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45b770
cmp esi, dword [ecx + 0x84]
jbe 0x45b770
mov dword [ecx + 0x64], edi
cmp eax, 1
jg 0x45dcef
mov ebx, dword [ebp - 0x124]
jmp 0x45b689
cmp ecx, edi
jge 0x45b683
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x45b74c
cmp dword [ebp - 0x12c], 0
movzx eax, byte [esi]
mov edx, eax
je 0x45b87a
cmp eax, 0xc0
jb 0x45b87a
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x45b7d1
and eax, 0x1f
mov edi, 2
shl eax, 6
jmp 0x45b878
test al, 0x10
jne 0x45b7eb
and eax, 0xf
mov edi, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x45b872
test al, 8
jne 0x45b80e
and eax, 7
mov edi, 4
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45b872
test al, 4
jne 0x45b83d
and eax, 3
mov edi, 5
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45b872
and eax, 1
mov edi, 6
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6c21e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x45b8ba
cmp eax, 3
je 0x45b8ba
cmp edx, 0x5f
je 0x45b8ba
xor eax, eax
jmp 0x45b8bf
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45b67d
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b790
jmp 0x45b67d
cmp ecx, edi
jge 0x45b683
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [ebp - 0x118]
mov ebx, 1
cmp esi, dword [ecx + 0x78]
jae 0x45ba4e
cmp dword [ebp - 0x12c], 0
movzx edx, byte [esi]
mov edi, edx
je 0x45b9ed
cmp edx, 0xc0
jb 0x45b9ed
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45b952
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x45b9e9
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45b96d
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x45b9e3
and eax, 0x3f
test dl, 8
jne 0x45b98d
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45b9e3
test dl, 4
jne 0x45b9b6
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45b9e3
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov edi, edx
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax*4 + 0x6c5a60]
lea eax, [eax*4 + 0x6c5a60]
cmp edi, ecx
jb 0x45ba12
lea eax, [eax + 4]
cmp edx, ecx
je 0x45ba3f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x45ba05
cmp dword [ebp - 0x160], 0
je 0x45b67d
mov eax, dword [ebp - 0x120]
add esi, ebx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b900
jmp 0x45b67d
cmp dword [ebp - 0x160], 0
jne 0x45b67d
jmp 0x45ba1f
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45b770
cmp esi, dword [ecx + 0x84]
jbe 0x45b770
mov dword [ecx + 0x64], ebx
cmp eax, 1
jg 0x45dcef
mov ebx, dword [ebp - 0x124]
jmp 0x45b689
cmp ecx, edi
jge 0x45b683
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
mov edx, 1
cmp esi, edi
jae 0x45af16
cmp dword [ebp - 0x12c], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x45bb7e
cmp eax, 0xc0
jb 0x45bb7e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45bad5
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45bb7c
test al, 0x10
jne 0x45baef
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45bb76
test al, 8
jne 0x45bb12
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45bb76
test al, 4
jne 0x45bb41
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45bb76
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
cmp ecx, 0x24
je 0x45bba9
cmp ecx, 0x40
je 0x45bba9
cmp ecx, 0x60
je 0x45bba9
cmp ecx, 0xa0
jb 0x45bb9d
cmp ecx, 0xd7ff
jbe 0x45bba9
cmp ecx, 0xe000
jae 0x45bba9
xor eax, eax
jmp 0x45bbae
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45b683
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45ba90
jmp 0x45b683
cmp edx, 0x16
jne 0x45bf79
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge 0x45bf15
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x13c], eax
cmp esi, eax
jae 0x45beed
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x164], edx
je 0x45bd43
cmp edx, 0xc0
jb 0x45bd43
mov al, byte [esi]
test dl, 0x20
jne 0x45bc3d
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x45bd3e
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45bc61
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45bd3e
movzx eax, al
and eax, 0x3f
test dl, 8
jne 0x45bc96
mov ebx, dword [ebp - 0x164]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45bd3e
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45bcd3
mov ebx, dword [ebp - 0x164]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45bd3e
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x164]
mov dword [ebp - 0x144], ebx
and dword [ebp - 0x144], 1
shl dword [ebp - 0x144], 6
or dword [ebp - 0x144], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x144], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x144], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov ecx, dword [ebp - 0x13c]
mov eax, ebx
shr eax, 7
and ebx, 0x7f
mov edi, esi
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx ebx, byte [eax*8 + 0x6c43e2]
cmp edi, ecx
jae 0x45bea6
nop word [eax + eax]
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x45be57
cmp edx, 0xc0
jb 0x45be57
test dl, 0x20
jne 0x45bdb7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45be4f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45bdd9
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45be4f
and eax, 0x3f
test dl, 8
jne 0x45bdf9
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45be4f
test dl, 4
jne 0x45be22
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45be4f
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx ecx, byte [eax*8 + 0x6c43e2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x6c1d40], eax
je 0x45bea0
mov ebx, ecx
add esi, edi
mov ecx, dword [ebp - 0x13c]
cmp esi, ecx
jb 0x45bd80
jmp 0x45bea6
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45bed2
cmp esi, ecx
jb 0x45bed2
cmp esi, dword [edx + 0x84]
jbe 0x45bed2
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45bbf1
jmp 0x45bf0f
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45bf0f
cmp esi, dword [edx + 0x84]
jbe 0x45bf0f
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
mov ebx, dword [ebp - 0x124]
cmp dword [ebp - 0x158], 0
jne 0x452eca
cmp esi, ebx
jbe 0x45772e
nop word [eax + eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ecx, dword [ebp - 0x12c]
dec esi
test ecx, ecx
jne 0x45d4ba
movzx edx, byte [esi]
jmp 0x45d57c
cmp dword [ebp - 0x12c], 0
lea eax, [edx - 6]
je 0x45ce04
cmp eax, 0xf
ja case.default.0x45597c
jmp dword [eax*4 + 0x4617b0]
cmp ecx, edi
jge 0x45c47b
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x45c07f
mov edx, dword [edx + 0x18]
test edx, edx
je 0x45bfe4
mov edi, dword [ebp - 0x118]
mov ecx, esi
push dword [ebp - 0x12c]
add edi, 0x1c
push edi
push eax
call fcn.004633a0
add esp, 0xc
test eax, eax
jne 0x45c47b
mov edx, dword [ebp - 0x118]
jmp 0x45c012
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x45c012
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45c012
cmp ecx, 1
je 0x45c47b
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x45c47b
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45c046
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45c046
cmp dword [edx + 0x18], 0
jne 0x45c046
cmp dword [edi], 2
jne 0x45c046
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45c046
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45dcef
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45c061
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45c061
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45c050
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45bfa1
jmp 0x45c47b
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c47b
cmp esi, dword [edx + 0x84]
jbe 0x45c47b
jmp 0x45c120
mov edx, dword [ebp - 0x118]
cmp edi, 0x7fffffff
jge 0x45c103
cmp ecx, edi
jge 0x45c481
mov edi, dword [edx + 0x78]
mov eax, dword [ebp - 0x130]
nop dword [eax]
cmp esi, edi
jae 0x45c106
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45c0ed
mov ecx, esi
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45c0e1
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45c0d0
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x118]
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, eax
jl 0x45c0c0
jmp 0x45c481
mov esi, dword [edx + 0x78]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c481
cmp esi, dword [edx + 0x84]
jbe 0x45c481
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp 0x45c481
mov edx, dword [ebp - 0x118]
sub edi, ecx
mov ecx, dword [edx + 0x78]
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x45c160
mov eax, dword [edx + 0x88]
mov esi, ecx
test eax, eax
je 0x45c481
cmp ecx, dword [edx + 0x84]
jmp 0x45c11a
add esi, edi
jmp 0x45c481
cmp ecx, edi
jge 0x45c47b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45c2f6
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x45c285
test dl, 0x20
jne 0x45c1b2
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45c285
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45c1dc
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x45c27f
test dl, 8
jne 0x45c20b
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x45c27f
test dl, 4
jne 0x45c243
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x45c27f
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [ebp - 0x120]
cmp edx, 0xd
jne 0x45c29b
inc esi
cmp esi, edi
jae 0x45c47b
cmp byte [esi], 0xa
jne 0x45c2de
inc esi
jmp 0x45c2de
cmp edx, 0xa
je 0x45c2dc
mov ebx, dword [ebp - 0x118]
cmp dword [ebx + 0x68], 0
mov ebx, dword [ebp - 0x124]
jne 0x45c47b
cmp edx, 0xb
je 0x45c2dc
cmp edx, 0xc
je 0x45c2dc
cmp edx, 0x85
je 0x45c2dc
cmp edx, 0x2028
je 0x45c2dc
cmp edx, 0x2029
jne 0x45c47b
add esi, eax
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, dword [ebp - 0x130]
jl 0x45c178
jmp 0x45c47b
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c481
cmp esi, dword [edx + 0x84]
jbe 0x45c481
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp 0x45c481
cmp ecx, edi
jge 0x45c47b
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x45c55a
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x45c412
test dl, 0x20
jne 0x45c372
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45c40a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45c394
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45c40a
and eax, 0x3f
test dl, 8
jne 0x45c3b4
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c40a
test dl, 4
jne 0x45c3dd
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45c40a
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x2000
ja 0x45c525
je case.0x45c549.8193
cmp edx, 0xa0
ja 0x45c512
je case.0x45c549.8193
cmp edx, 9
je case.0x45c549.8193
cmp edx, 0x20
je case.0x45c549.8193
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x134], 0x12
sete al
cmp ecx, eax
je 0x45c475
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c340
mov ebx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452eca
cmp esi, ebx
jbe 0x45772e
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
jne 0x45c4e0
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
je 0x45c4d4
cmp dword [ebp - 0x134], 0x11
jne 0x45c4fb
cmp ecx, ebx
jbe 0x45c4fb
cmp byte [esi], 0xa
jne 0x45c4fb
cmp byte [esi - 1], 0xd
jne 0x45c4fb
lea esi, [ecx - 1]
mov edx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x45c496
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45773a
cmp edx, 0x1680
je case.0x45c549.8193
cmp edx, 0x180e
jmp 0x45c442
cmp edx, 0x3000
ja case.0x45c549.8203
je case.0x45c549.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45c549.8203
movzx eax, byte [edx + 0x4617f8]
jmp dword [eax*4 + 0x4617f0]
mov ecx, 1
jmp 0x45c44a
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c57e
cmp esi, dword [edx + 0x84]
jbe 0x45c57e
mov dword [edx + 0x64], edi
cmp eax, 1
jg 0x45dcef
mov ebx, dword [ebp - 0x124]
jmp 0x45c481
cmp ecx, edi
jge 0x45c47b
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, ebx
jae 0x45c6d5
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x45c672
test dl, 0x20
jne 0x45c5d2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45c66a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45c5f4
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45c66a
and eax, 0x3f
test dl, 8
jne 0x45c614
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c66a
test dl, 4
jne 0x45c63d
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45c66a
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x45c68b
je case.0x45c684.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x45c684
jmp dword [edx*4 + 0x461858]
sub edx, 0x2028
je case.0x45c684.10
sub edx, 1
je case.0x45c684.10
xor ecx, ecx
jmp 0x45c6a1
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x134], 0x14
sete al
cmp ecx, eax
je 0x45c475
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c5a0
jmp 0x45c475
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c57e
cmp esi, dword [edx + 0x84]
jbe 0x45c57e
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
mov ebx, dword [ebp - 0x124]
jmp 0x45c481
cmp ecx, edi
jge 0x45c47b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45c2f6
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45c7f9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45c75d
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45c7f5
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45c778
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c7ef
and eax, 0x3f
test dl, 8
jne 0x45c798
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c7ef
test dl, 4
jne 0x45c7c1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45c7ef
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45c813
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne 0x45c47b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c721
jmp 0x45c47b
cmp ecx, edi
jge 0x45c47b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45c2f6
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45c91c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45c880
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45c918
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45c89b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c912
and eax, 0x3f
test dl, 8
jne 0x45c8bb
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c912
test dl, 4
jne 0x45c8e4
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45c912
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45c47b
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je 0x45c47b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c844
jmp 0x45c47b
cmp ecx, edi
jge 0x45c47b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x45c2f6
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45ca48
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45c9ac
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45ca44
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45c9c7
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45ca3e
and eax, 0x3f
test dl, 8
jne 0x45c9e7
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45ca3e
test dl, 4
jne 0x45ca10
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45ca3e
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45ca62
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne 0x45c47b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c970
jmp 0x45c47b
cmp ecx, edi
jge 0x45c47b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45c2f6
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45cb6b
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45cacf
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45cb67
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45caea
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45cb61
and eax, 0x3f
test dl, 8
jne 0x45cb0a
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45cb61
test dl, 4
jne 0x45cb33
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45cb61
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45c47b
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je 0x45c47b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45ca93
jmp 0x45c47b
cmp ecx, edi
jge 0x45c47b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45c2f6
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45cc98
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45cbfc
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45cc94
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45cc17
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45cc8e
and eax, 0x3f
test dl, 8
jne 0x45cc37
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45cc8e
test dl, 4
jne 0x45cc60
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45cc8e
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45ccb2
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne 0x45c47b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45cbc0
jmp 0x45c47b
cmp ecx, edi
jge 0x45c47b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45cdf9
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45cdbb
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45cd1f
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45cdb7
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45cd3a
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45cdb1
and eax, 0x3f
test dl, 8
jne 0x45cd5a
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45cdb1
test dl, 4
jne 0x45cd83
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45cdb1
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45c47b
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x45c47b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45cce3
jmp 0x45c47b
mov edx, dword [ebp - 0x118]
jmp 0x45c106
cmp eax, 0xf
ja case.default.0x45597c
jmp dword [eax*4 + 0x461868]
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45d0dc.10
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x45cf53
mov edx, dword [edx + 0x18]
test edx, edx
je 0x45ce5b
mov edi, dword [ebp - 0x118]
mov ecx, esi
push 0
add edi, 0x1c
push edi
push eax
call fcn.004633a0
add esp, 0xc
test eax, eax
jne 0x45cecf
mov edx, dword [ebp - 0x118]
jmp 0x45ce81
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x45ce81
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45ce81
cmp ecx, 1
je 0x45cecf
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x45cecf
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45ceb5
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45ceb5
cmp dword [edx + 0x18], 0
jne 0x45ceb5
cmp dword [edi], 2
jne 0x45ceb5
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45ceb5
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45dcef
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45ce22
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452eca
cmp esi, ebx
je 0x45772e
nop word [eax + eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
dec esi
cmp dword [ebp - 0x134], 0x11
jne 0x45cf3c
cmp esi, ebx
jbe 0x45cf3e
cmp byte [esi], 0xa
jne 0x45cf3c
cmp byte [esi - 1], 0xd
jne 0x45cf3c
dec esi
cmp esi, ebx
mov edx, dword [ebp - 0x118]
jne 0x45cef0
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45773a
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45cecf
cmp esi, dword [edx + 0x84]
jbe 0x45cecf
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp 0x45cecf
mov edx, dword [ebp - 0x118]
sub edi, ecx
mov ecx, dword [edx + 0x78]
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x45cfb0
mov eax, dword [edx + 0x88]
mov esi, ecx
test eax, eax
je case.0x45d0dc.10
cmp ecx, dword [edx + 0x84]
jmp 0x45d1ad
add esi, edi
jmp case.0x45d0dc.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45d0dc.10
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x45d199
mov al, byte [esi]
cmp al, 0xd
jne 0x45cfe6
inc esi
cmp esi, ecx
jae case.0x45d0dc.10
cmp byte [esi], 0xa
jne 0x45d005
jmp 0x45d004
cmp al, 0xa
je 0x45d004
cmp dword [edx + 0x68], 0
jne case.0x45d0dc.10
cmp al, 0xb
je 0x45d004
cmp al, 0xc
je 0x45d004
cmp al, 0x85
jne case.0x45d0dc.10
inc esi
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45cfc8
jmp case.0x45d0dc.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45d0dc.10
mov ecx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x45d199
mov al, byte [esi]
cmp al, 9
je case.0x45d0dc.10
cmp al, 0x20
je case.0x45d0dc.10
cmp al, 0xa0
je case.0x45d0dc.10
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45d030
jmp case.0x45d0dc.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45d0dc.10
mov ecx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, ecx
jae 0x45d199
mov al, byte [esi]
cmp al, 9
je 0x45d09a
cmp al, 0x20
je 0x45d09a
cmp al, 0xa0
jne case.0x45d0dc.10
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45d080
jmp case.0x45d0dc.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45d0dc.10
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x45d199
movzx eax, byte [esi]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x45d0dc.14
movzx eax, byte [eax + 0x4618b0]
jmp dword [eax*4 + 0x4618a8]
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45d0c2
jmp case.0x45d0dc.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45d0dc.10
mov ecx, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, ecx
jae 0x45d199
movzx eax, byte [esi]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x45d0dc.10
movzx eax, byte [eax + 0x461934]
jmp dword [eax*4 + 0x46192c]
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45d110
jmp case.0x45d0dc.10
cmp ecx, edi
jge 0x45cecf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45d193
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne 0x45cecf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d160
mov edx, eax
jmp case.0x45d0dc.10
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je case.0x45d0dc.10
cmp esi, dword [edx + 0x84]
jbe case.0x45d0dc.10
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45dcef
jmp case.0x45d0dc.10
cmp ecx, edi
jge 0x45cecf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45d193
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je 0x45cecf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d1e0
mov edx, eax
jmp case.0x45d0dc.10
cmp ecx, edi
jge 0x45cecf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45d193
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne 0x45cecf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d224
mov edx, eax
jmp case.0x45d0dc.10
cmp ecx, edi
jge 0x45cecf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45d193
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je 0x45cecf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d270
mov edx, eax
jmp case.0x45d0dc.10
cmp ecx, edi
jge 0x45cecf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45d193
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne 0x45cecf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d2b8
mov edx, eax
jmp case.0x45d0dc.10
cmp ecx, edi
jge 0x45cecf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45d193
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x45cecf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d300
mov edx, eax
jmp case.0x45d0dc.10
mov eax, dword [ebp + 0x18]
inc eax
cmp byte [edi], 0x7a
push eax
push dword [ebp - 0x148]
jne 0x45d379
push dword [ebp - 0x118]
push ecx
push edx
lea edx, [edi + 3]
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ebx, dword [ebp - 0x128]
mov edi, ebx
mov dword [ebp - 0x11c], edi
jmp 0x457734
mov ebx, dword [ebp - 0x118]
push ebx
push ecx
push edx
mov edx, dword [ebp - 0x128]
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov edi, dword [ebp - 0x11c]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x45773a
cmp al, 0x7a
mov eax, dword [ebp + 0x18]
jne 0x45d3fd
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push edx
push dword [ebp - 0x140]
lea edx, [edi + 3]
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov al, byte [ebx]
cmp al, 0x81
je 0x45d9c0
cmp al, 0x88
jae 0x45d986
mov edi, ebx
mov dword [ebp - 0x11c], edi
jmp 0x457734
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push edx
push dword [ebp - 0x140]
mov edx, ebx
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1b
jne 0x45d437
mov ecx, dword [ebp - 0x118]
cmp dword [ecx + 0xb4], ebx
jne case.default.0x4537cb
jmp 0x45d445
test edi, edi
jne case.default.0x4537cb
mov ecx, dword [ebp - 0x118]
cmp byte [ebx], 0x81
je 0x45da04
mov edi, dword [ebp - 0x11c]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x457734
cmp esi, ebx
je 0x45772e
nop word [eax + eax]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ecx, dword [ebp - 0x118]
dec esi
cmp esi, ebx
jne 0x45d470
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45773a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45d4cc
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x45d4c2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x45d57c
test dl, 0x20
jne 0x45d4ec
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x45d574
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45d506
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x45d56e
and eax, 0x3f
test dl, 8
jne 0x45d521
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45d56e
test dl, 4
jne 0x45d545
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45d56e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [ebp - 0x12c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx ebx, byte [eax*8 + 0x6c43e2]
cmp esi, dword [ebp - 0x124]
jbe 0x45772e
lea edi, [esi - 1]
test ecx, ecx
jne 0x45d5bb
movzx edx, byte [edi]
jmp 0x45d67a
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x45d5cd
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x45d5c3
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45d67a
test dl, 0x20
jne 0x45d5ed
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x45d672
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45d60a
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x45d672
and eax, 0x3f
test dl, 8
jne 0x45d625
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45d672
test dl, 4
jne 0x45d649
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x45d672
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
mov ecx, ebx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx edx, byte [eax*8 + 0x6c43e2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [edx*4 + 0x6c1d40], eax
je 0x45d6c0
mov ecx, dword [ebp - 0x12c]
mov esi, edi
mov ebx, edx
jmp 0x45d5a0
mov edx, dword [ebp - 0x118]
jmp 0x45bf30
mov eax, dword [ebp - 0x11c]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov dword [ebp - 0x13c], edx
lea eax, [edx + edx]
mov dword [ebp - 0x150], eax
cmp eax, dword [ebx + 0x14]
jl 0x460926
cmp edi, 0x88
jae 0x45d73c
cmp edi, 0x81
je 0x45d73c
cmp dword [ebx + 0x6c], 0
mov edi, dword [ebp - 0x11c]
jne 0x45d74c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edi], 0x77
je 0x45d74c
movzx eax, byte [edi]
movzx eax, byte [eax + 0x6c1c20]
add edi, eax
mov dword [ebp - 0x11c], edi
jmp 0x45773a
mov edi, dword [ebp - 0x11c]
mov dword [ebx + 0x98], 2
mov ecx, dword [ebp - 0x118]
mov ebx, dword [ebx + 0xac]
mov eax, dword [ecx + 0x90]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [edi]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
movzx edx, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add edx, edi
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc20
jne 0x45d7d0
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 0x118]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae case.default.0x4537cb
cmp byte [edx], 0x77
je 0x45d7de
cmp byte [eax], 0x77
jne case.default.0x4537cb
jmp 0x45d7de
test edi, edi
jne 0x460ab5
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x118]
add edx, ecx
mov dword [ebp - 0x11c], edx
mov dword [eax + 0xac], ebx
cmp byte [edx], 0x77
jne case.default.0x45522a
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x124]
mov dword [ebx + 0x90], eax
jmp case.0x452f0e.129
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
push ebx
push dword [ebp - 0x138]
movzx eax, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add eax, ecx
mov ecx, esi
add edx, eax
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov eax, dword [ebp - 0x11c]
add eax, 2
mov dword [ebx + 0x7c], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, edi
sub eax, 1
je case.default.0x45522a
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc19
je case.default.0x45522a
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xa4]
mov dword [edx + 0xa4], eax
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je case.default.0x45522a
push eax
call fcn.00448cc0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je case.default.0x4537cb
push eax
call fcn.00448cc0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x140]
mov dword [ecx + 0x80], esi
mov dword [ecx + 0x7c], eax
mov eax, dword [ebp - 0x15c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4542bc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
lea edx, [edx + 3]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4542bc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x140]
mov dword [ecx + 0x7c], eax
mov eax, 0xfffffc1a
mov dword [ecx + 0x80], esi
mov dword [ecx + 0x8c], edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x138]
mov dword [eax + 0x80], esi
mov dword [eax + 0x8c], ecx
mov ecx, dword [ebp - 0x140]
mov dword [eax + 0x7c], ecx
mov eax, dword [ebp - 0x15c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x88]
test ecx, ecx
je case.default.0x45522a
mov edx, dword [ebp - 0x118]
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb case.default.0x45522a
cmp dword [edx + 0x18], 0
jne case.default.0x45522a
cmp dword [edx + 0x1c], 2
jne case.default.0x45522a
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne case.default.0x45522a
cmp ecx, 1
jmp 0x45dce2
mov eax, dword [ebx + 0x88]
test eax, eax
je case.default.0x45522a
cmp esi, dword [ebx + 0x84]
jbe case.default.0x45522a
mov dword [ebx + 0x64], 1
cmp eax, 1
jmp 0x45dce9
mov ecx, dword [ebp - 0x118]
cmp eax, 0xfffffffe
jne 0x45db31
mov esi, dword [ecx + 0x78]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45522a
cmp esi, dword [ecx + 0x78]
jb case.default.0x45522a
cmp esi, dword [ecx + 0x84]
jbe case.default.0x45522a
mov dword [ecx + 0x64], 1
cmp eax, 1
jmp 0x45dce9
cmp eax, 0xfffffffe
jne 0x45db6b
mov esi, dword [edi + 0x78]
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x45522a
cmp esi, dword [edi + 0x78]
jb case.default.0x45522a
cmp esi, dword [edi + 0x84]
jbe case.default.0x45522a
mov dword [edi + 0x64], 1
cmp eax, 1
jmp 0x45dce9
mov dword [ebp - 0x14c], esi
cmp ebx, eax
jge 0x45dc20
nop dword [eax + eax]
push dword [ebp - 0x13c]
mov ecx, edi
push dword [ebp - 0x118]
push edx
mov edx, esi
call fcn.00452a80
add esp, 0xc
test eax, eax
js 0x45dbe0
mov edx, dword [ebp - 0x144]
inc ebx
add esi, eax
cmp ebx, dword [ebp - 0x128]
jl 0x45dbb0
jmp 0x45dc10
cmp eax, 0xfffffffe
jne 0x45dc10
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45dc10
mov eax, dword [edx + 0x78]
cmp eax, dword [edx + 0x84]
jbe 0x45dc10
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45dcef
mov ebx, dword [ebp - 0x14c]
cmp esi, ebx
jb case.default.0x45522a
jmp 0x45dc30
mov ebx, dword [ebp - 0x14c]
nop word [eax + eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
sub esi, dword [ebp - 0x144]
cmp esi, ebx
jae 0x45dc30
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x118]
cmp eax, 0xfffffffe
jne 0x45dc90
mov esi, dword [ecx + 0x78]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45522a
cmp esi, dword [ecx + 0x78]
jb case.default.0x45522a
cmp esi, dword [ecx + 0x84]
jbe case.default.0x45522a
mov dword [ecx + 0x64], 1
cmp eax, 1
jmp 0x45dce9
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je case.default.0x45522a
cmp esi, dword [edx + 0x84]
jbe case.default.0x45522a
cmp eax, 1
mov dword [edx + 0x64], 1
jle case.default.0x45522a
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
cmp esi, ebx
jb case.default.0x45522a
nop dword [eax]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ecx, dword [ebp - 0x118]
dec esi
cmp esi, ebx
jae 0x45dd10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
cmp dword [ebp - 0x12c], 0
push eax
push dword [ebp - 0x148]
je 0x45df64
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x11c]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov edx, dword [ebp - 0x130]
cmp edx, dword [ebp - 0x134]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x13c], ebx
cmp ebx, 0xc0
jb 0x45dee4
test bl, 0x20
jne 0x45ddf1
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x45dee4
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x45de1c
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x45dede
lea edx, [esi + 2]
test bl, 8
jne 0x45de50
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x45dede
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x45de8c
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x45dede
and dword [ebp - 0x13c], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x13c], 6
add esi, 5
or eax, dword [ebp - 0x13c]
movzx ebx, byte [ebx]
shl eax, 6
and ebx, 0x3f
mov dword [ebp - 0x14c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x14c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
mov edx, dword [ebp - 0x130]
cmp ebx, 0xff
jbe 0x45def5
cmp dword [ebp - 0x124], 0x6e
jmp 0x45df0e
mov eax, dword [ebp - 0x15c]
mov ecx, ebx
and ecx, 7
shr ebx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [ebx + ecx], al
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc edx
mov ebx, dword [ebp - 0x118]
inc eax
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x130], edx
mov ecx, esi
mov edx, dword [ebp - 0x11c]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45dda3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x118]
mov edx, ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ebx, dword [ebp - 0x130]
cmp ebx, dword [ebp - 0x134]
jge case.default.0x45522a
mov edi, dword [ebp - 0x118]
cmp esi, dword [edi + 0x78]
jae 0x45e00a
movzx edx, byte [esi]
inc esi
mov eax, dword [ebp - 0x15c]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [edx + ecx], al
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push edi
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45df90
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x45522a
jmp 0x45db82
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45522a
jmp 0x45db48
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop dword [eax + eax]
mov edi, dword [ebp - 0x128]
cmp edi, dword [ebp - 0x124]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx ebx, byte [esi]
inc esi
mov edx, dword [ebp - 0x12c]
test edx, edx
je 0x45e16f
cmp ebx, 0xc0
jb 0x45e16f
test bl, 0x20
jne 0x45e0c2
movzx eax, byte [esi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
inc esi
jmp 0x45e16f
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45e0e9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add esi, 2
jmp 0x45e16f
test bl, 8
jne 0x45e10c
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
jmp 0x45e16f
test bl, 4
jne 0x45e13b
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
jmp 0x45e16f
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
push edx
mov edx, dword [ebp - 0x14c]
mov ecx, ebx
call fcn.00462c50
add esp, 4
test eax, eax
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x128], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e070
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x88]
test eax, eax
je case.default.0x45522a
cmp esi, edi
jb case.default.0x45522a
jmp 0x45db08
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45522a
cmp esi, dword [ecx + 0x78]
jb case.default.0x45522a
cmp esi, dword [ecx + 0x84]
jbe case.default.0x45522a
mov dword [ecx + 0x64], 1
cmp eax, 1
jmp 0x45dce9
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x124], eax
jge case.default.0x45522a
mov ebx, dword [ebx + 0x78]
mov eax, ebx
mov edi, dword [ebp - 0x134]
sub eax, edi
cmp esi, eax
ja 0x45e2e1
mov edx, dword [ebp - 0x164]
mov ecx, esi
sub edi, 4
jb 0x45e2a4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45e2a9
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45e293
cmp edi, 0xfffffffc
je 0x45e2d6
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45e2e1
cmp edi, 0xfffffffd
je 0x45e2d6
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45e2e1
cmp edi, 0xfffffffe
je 0x45e2d6
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45e2e1
cmp edi, 0xffffffff
je 0x45e2d6
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45e2e1
add esi, dword [ebp - 0x134]
jmp 0x45e356
mov edi, dword [ebp - 0x128]
test edi, edi
jle 0x45e3a5
mov eax, ebx
sub eax, edi
cmp esi, eax
ja 0x45e3a5
lea edx, [ebp - 0x10]
mov ecx, esi
sub edi, 4
jb 0x45e316
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45e31b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45e305
cmp edi, 0xfffffffc
je 0x45e350
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45e3a5
cmp edi, 0xfffffffd
je 0x45e350
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45e3a5
cmp edi, 0xfffffffe
je 0x45e350
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45e3a5
cmp edi, 0xffffffff
je 0x45e350
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45e3a5
add esi, dword [ebp - 0x128]
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
inc dword [ebp - 0x124]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e263
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45522a
cmp esi, ebx
jmp 0x45e20a
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45522a
jmp 0x45e210
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop dword [eax + eax]
mov ecx, dword [ebp - 0x124]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45522a
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dcc5
movzx eax, byte [esi]
cmp ebx, eax
je 0x45e444
cmp dword [ebp - 0x14c], eax
jne case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x124], ecx
push eax
push dword [ebp - 0x148]
inc esi
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e410
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x45522a
cmp esi, dword [edi + 0x84]
jbe case.default.0x45522a
mov dword [edi + 0x64], 1
cmp eax, 1
jmp 0x45dce9
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop dword [eax + eax]
mov ecx, dword [ebp - 0x124]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45522a
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dcc5
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x124], ecx
push eax
push dword [ebp - 0x148]
mov ecx, esi
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e4f0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x12c], 0
je 0x45e762
test edi, edi
jne case.default.0x4537cb
nop word [eax + eax]
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x120]
jge case.default.0x45522a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x45e700
test bl, 0x20
jne 0x45e604
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x45e6f4
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x45e62a
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45e6ef
lea edx, [esi + 2]
test bl, 8
jne 0x45e659
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45e6ef
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x45e690
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45e6ef
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x128]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x128], ebx
and eax, 0x3f
shl dword [ebp - 0x128], 6
mov ecx, dword [ebp - 0x128]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x128], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x134], ebx
je case.default.0x45522a
cmp dword [ebp - 0x13c], ebx
je case.default.0x45522a
mov edx, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x130], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e5b0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
test edi, edi
jne case.default.0x4537cb
mov ebx, dword [ebp - 0x130]
cmp ebx, dword [ebp - 0x120]
jge case.default.0x45522a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx eax, byte [esi]
cmp dword [ebp - 0x134], eax
je case.default.0x45522a
cmp dword [ebp - 0x13c], eax
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e770
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov edx, ecx
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x12c], 0
je 0x45e9ca
test edi, edi
jne case.default.0x4537cb
nop word [eax + eax]
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x120]
jge case.default.0x45522a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x45e974
test bl, 0x20
jne 0x45e884
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x45e968
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x45e8aa
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45e963
lea edx, [esi + 2]
test bl, 8
jne 0x45e8d3
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45e963
lea edi, [esi + 3]
test bl, 4
jne 0x45e904
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45e963
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x128]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x128], ebx
and eax, 0x3f
shl dword [ebp - 0x128], 6
mov ecx, dword [ebp - 0x128]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x128], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x134], ebx
je case.default.0x45522a
mov edx, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x130], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e830
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
test edi, edi
jne case.default.0x4537cb
mov ebx, dword [ebp - 0x130]
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x120]
jge case.default.0x45522a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x134], eax
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc ebx
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e9e0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
test eax, eax
js 0x45fea0
cmp eax, 0xa
ja case.default.0x45597c
jmp dword [eax*4 + 0x4619b0]
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop word [eax + eax]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
je 0x45eaf4
cmp eax, 0xc0
jb 0x45eaf4
test al, 0x20
jne 0x45ead6
inc esi
jmp 0x45eaf4
test al, 0x10
jne 0x45eadf
add esi, 2
jmp 0x45eaf4
test al, 8
jne 0x45eae8
add esi, 3
jmp 0x45eaf4
test al, 4
jne 0x45eaf1
add esi, 4
jmp 0x45eaf4
add esi, 5
cmp dword [ebp - 0x160], 0
jne case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc ecx
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], ecx
mov ecx, esi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45eaa0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop dword [eax]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45ecd5
cmp edx, 0xc0
jb 0x45ecd5
mov al, byte [esi]
test dl, 0x20
jne 0x45ebd6
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x45ecd0
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45ebfa
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45ecca
test dl, 8
jne 0x45ec2f
mov ebx, dword [ebp - 0x128]
lea edx, [esi + 2]
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45ecca
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45ec6f
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45ecca
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x150], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x150]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x150], ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp eax, 9
je 0x45ed0c
cmp eax, 5
je 0x45ed0c
cmp eax, 8
je 0x45ed0c
xor eax, eax
jmp 0x45ed11
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc ecx
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], ecx
mov ecx, esi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45eb80
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45ef13
cmp edx, 0xc0
jb 0x45ef13
mov al, byte [esi]
test dl, 0x20
jne 0x45edfb
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45ef13
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45ee1f
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45ef0e
test dl, 8
jne 0x45ee54
mov ebx, dword [ebp - 0x150]
lea edx, [esi + 2]
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45ef0e
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45ee97
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x150]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45ef08
lea ebx, [esi + 4]
movzx eax, al
mov dword [ebp - 0x14c], ebx
and eax, 0x3f
mov ebx, dword [ebp - 0x150]
add esi, 5
mov dword [ebp - 0x15c], ebx
and dword [ebp - 0x15c], 1
shl dword [ebp - 0x15c], 6
or dword [ebp - 0x15c], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x15c], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x15c]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x15c], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov edx, dword [ebp - 0x154]
mov eax, ebx
shr eax, 7
and ebx, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp dword [eax*4 + 0x6c1720], edx
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45eda0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop word [eax + eax]
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45f150
cmp edx, 0xc0
jb 0x45f150
mov al, byte [esi]
test dl, 0x20
jne 0x45f03b
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45f150
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45f05f
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45f14b
test dl, 8
jne 0x45f094
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x150]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45f14b
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45f0d4
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x150]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45f145
lea ebx, [esi + 4]
movzx eax, al
mov dword [ebp - 0x14c], ebx
and eax, 0x3f
mov ebx, dword [ebp - 0x150]
add esi, 5
mov dword [ebp - 0x15c], ebx
and dword [ebp - 0x15c], 1
shl dword [ebp - 0x15c], 6
or dword [ebp - 0x15c], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x15c], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x15c]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x15c], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45efe0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop dword [eax]
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45f364
cmp edx, 0xc0
jb 0x45f364
mov al, byte [esi]
test dl, 0x20
jne 0x45f26b
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45f364
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45f28f
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45f35f
test dl, 8
jne 0x45f2c4
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45f35f
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x45f304
mov ebx, dword [ebp - 0x128]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45f359
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x150], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x150]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x150], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e0]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f210
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45f581
cmp edx, 0xc0
jb 0x45f581
mov al, byte [esi]
test dl, 0x20
jne 0x45f47c
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45f581
movzx eax, al
lea ecx, [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x45f4a2
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45f576
test dl, 8
jne 0x45f4d1
mov ebx, dword [ebp - 0x150]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45f576
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45f50b
mov ebx, dword [ebp - 0x150]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45f576
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x150]
mov dword [ebp - 0x154], ebx
and dword [ebp - 0x154], 1
shl dword [ebp - 0x154], 6
or dword [ebp - 0x154], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x154], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x154], ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x45f5ba
cmp eax, 3
je 0x45f5ba
xor eax, eax
jmp 0x45f5bf
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc ecx
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], ecx
mov ecx, esi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f421
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ebx, dword [ebp - 0x120]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x45522a
mov edi, dword [ebp - 0x118]
cmp esi, dword [edi + 0x78]
jae 0x45e48b
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edx, ecx
je 0x45f764
cmp ecx, 0xc0
jb 0x45f764
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45f6a6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45f762
test cl, 0x10
jne 0x45f6c7
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45f762
test cl, 8
jne 0x45f6f1
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45f762
test cl, 4
jne 0x45f727
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45f762
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp ecx, 0x20
ja 0x45f77e
je case.0x45f867.8193
add ecx, 0xfffffff7
cmp ecx, 4
ja case.0x45f867.8203
jmp dword [ecx*4 + 0x4619dc]
cmp ecx, 0x2000
ja 0x45f843
je case.0x45f867.8193
cmp ecx, 0x1680
ja 0x45f838
je case.0x45f867.8193
sub ecx, 0x85
je case.0x45f867.8193
sub ecx, 0x1b
je case.0x45f867.8193
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
cmp dword [eax*4 + 0x6c1720], 6
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push edi
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f653
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
cmp ecx, 0x180e
jmp 0x45f7b1
cmp ecx, 0x3000
ja case.0x45f867.8203
je case.0x45f867.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x45f867.8203
movzx eax, byte [ecx + 0x4619f8]
jmp dword [eax*4 + 0x4619f0]
cmp dword [ebp - 0x160], 0
jne case.default.0x45522a
jmp 0x45f7f4
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45fa01
cmp edx, 0xc0
jb 0x45fa01
mov al, byte [esi]
test dl, 0x20
jne 0x45f908
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x45f9fc
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45f92c
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45f9fc
test dl, 8
jne 0x45f961
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45f9fc
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x45f9a1
mov ebx, dword [ebp - 0x128]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45f9f6
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x150], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x150]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x150], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x6c21e0]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6c5ba0]
movzx eax, byte [eax*8 + 0x6c43e1]
mov eax, dword [eax*4 + 0x6c1720]
cmp eax, 1
je 0x45fa41
cmp eax, 3
je 0x45fa41
cmp ebx, 0x5f
je 0x45fa41
xor eax, eax
jmp 0x45fa46
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f8b2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ebx, dword [ebp - 0x120]
nop word [eax + eax]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x45522a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e3c6
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edi, ecx
je 0x45fbf1
cmp ecx, 0xc0
jb 0x45fbf1
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45fb33
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45fbef
test cl, 0x10
jne 0x45fb54
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45fbef
test cl, 8
jne 0x45fb7e
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45fbef
test cl, 4
jne 0x45fbb4
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45fbef
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edi, ecx
mov eax, dword [ebp - 0x154]
mov edx, dword [eax*4 + 0x6c5a60]
lea eax, [eax*4 + 0x6c5a60]
cmp edi, edx
jb 0x45fc1d
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x45fc73
mov edx, dword [eax]
cmp ecx, edx
jae 0x45fc10
cmp dword [ebp - 0x160], 0
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45fae0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x160], 0
jne case.default.0x45522a
jmp 0x45fc2a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45522a
cmp esi, dword [ebx + 0x78]
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45fe14
cmp edx, 0xc0
jb 0x45fe14
test dl, 0x20
jne 0x45fd0d
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x45fe14
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test dl, 0x10
jne 0x45fd35
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45fe09
test dl, 8
jne 0x45fd64
mov ebx, dword [ebp - 0x150]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45fe09
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45fd9e
mov ebx, dword [ebp - 0x150]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45fe09
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x150]
mov dword [ebp - 0x154], ebx
and dword [ebp - 0x154], 1
shl dword [ebp - 0x154], 6
or dword [ebp - 0x154], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x154], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x154], ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
cmp ebx, 0x24
je 0x45fe3f
cmp ebx, 0x40
je 0x45fe3f
cmp ebx, 0x60
je 0x45fe3f
cmp ebx, 0xa0
jb 0x45fe33
cmp ebx, 0xd7ff
jbe 0x45fe3f
cmp ebx, 0xe000
jae 0x45fe3f
xor eax, eax
jmp 0x45fe44
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
inc ecx
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], ecx
mov ecx, esi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45fcb4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
cmp edx, 0x16
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
jne 0x460200
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
nop dword [eax + eax]
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x120], eax
jge case.default.0x45522a
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x164], eax
cmp esi, eax
jae 0x45dafa
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
mov ecx, esi
je 0x46003e
cmp edx, 0xc0
jb 0x46003e
mov al, byte [esi]
movzx eax, al
test dl, 0x20
jne 0x45ff40
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x460037
and eax, 0x3f
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45ff63
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x460037
test dl, 8
jne 0x45ff92
mov ebx, dword [ebp - 0x150]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x460037
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45ffcc
mov ebx, dword [ebp - 0x150]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x460037
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x150]
mov dword [ebp - 0x154], ebx
and dword [ebp - 0x154], 1
shl dword [ebp - 0x154], 6
or dword [ebp - 0x154], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x154], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
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]
shl ecx, 6
mov dword [ebp - 0x154], ecx
mov ebx, ecx
and eax, 0x3f
mov ecx, esi
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx ebx, byte [eax*8 + 0x6c43e2]
mov eax, dword [ebp - 0x164]
cmp ecx, eax
jae 0x46018b
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x460144
cmp edx, 0xc0
jb 0x460144
test dl, 0x20
jne 0x4600a7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x46013c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4600c6
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x46013c
and eax, 0x3f
test dl, 8
jne 0x4600e6
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x46013c
test dl, 4
jne 0x46010f
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x46013c
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6c21e0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6c5ba0]
movzx ecx, byte [eax*8 + 0x6c43e2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x6c1d40], eax
mov eax, dword [ebp - 0x164]
je 0x46018b
add esi, edi
mov ebx, ecx
cmp esi, eax
jb 0x460070
mov ebx, dword [ebp - 0x118]
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je 0x4601b7
cmp esi, eax
jb 0x4601b7
cmp esi, dword [ebx + 0x84]
jbe 0x4601b7
mov dword [ebx + 0x64], 1
cmp ecx, 1
jg 0x45dcef
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
inc dword [ebp - 0x120]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45fee0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
call fcn.00452da0
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x12c], 0
je 0x4606c2
test edi, edi
jne case.default.0x4537cb
mov ebx, dword [ebp - 0x120]
nop word [eax + eax]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x45522a
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4606a9
mov edi, dword [ebp - 0x134]
cmp edi, 0xc
jne 0x4602a9
mov edx, dword [eax + 0x18]
test edx, edx
je 0x46027e
push dword [ebp - 0x12c]
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004633a0
add esp, 0xc
test eax, eax
jne case.default.0x45522a
jmp 0x4602a9
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x4602a9
mov ecx, dword [ebp - 0x118]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x4602a9
cmp edx, 1
je case.default.0x45522a
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.default.0x45522a
movzx edx, byte [esi]
inc esi
mov ecx, esi
mov eax, edx
cmp edx, 0xc0
jb 0x460383
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4602d8
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x46037f
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4602f9
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x46037f
test dl, 8
jne 0x46031c
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x46037f
test dl, 4
jne 0x46034b
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x46037f
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, esi
mov eax, edx
add edi, 0xfffffffa
cmp edi, 0xf
ja case.default.0x45597c
jmp dword [edi*4 + 0x461a58]
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x88]
test edi, edi
je case.0x46038f.13
cmp ecx, dword [eax + 0x78]
jb case.0x46038f.13
cmp dword [eax + 0x18], 0
jne case.0x46038f.13
cmp dword [eax + 0x1c], 2
jne case.0x46038f.13
movzx eax, byte [eax + 0x34]
cmp edx, eax
jne case.0x46038f.13
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x64], 1
cmp edi, 1
jg 0x45dcef
jmp case.0x46038f.13
cmp edx, 0x85
ja 0x46042b
je case.0x460404.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x45522a
jmp dword [edx*4 + 0x461a98]
mov eax, dword [ebp - 0x118]
cmp ecx, dword [eax + 0x78]
jae case.0x46038f.13
cmp byte [esi], 0xa
jne case.0x46038f.13
lea esi, [ecx + 1]
jmp case.0x46038f.13
sub edx, 0x2028
je case.0x460404.11
sub edx, 1
jne case.default.0x45522a
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x68], 0
jne case.default.0x45522a
jmp case.0x46038f.13
cmp edx, 0x2000
ja 0x460495
je case.default.0x45522a
cmp edx, 0xa0
ja 0x46047e
je case.default.0x45522a
cmp edx, 9
je case.default.0x45522a
cmp edx, 0x20
jmp 0x46065a
cmp edx, 0x1680
je case.default.0x45522a
cmp edx, 0x180e
jmp 0x46065a
cmp edx, 0x3000
ja case.0x46038f.13
je case.default.0x45522a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x46038f.13
movzx eax, byte [edx + 0x461ab0]
jmp dword [eax*4 + 0x461aa8]
cmp edx, 0x2000
ja 0x460514
je case.0x46038f.13
cmp edx, 0xa0
ja 0x4604f7
je case.0x46038f.13
cmp edx, 9
je case.0x46038f.13
cmp edx, 0x20
jne case.default.0x45522a
jmp case.0x46038f.13
cmp edx, 0x1680
je case.0x46038f.13
cmp edx, 0x180e
jne case.default.0x45522a
jmp case.0x46038f.13
cmp edx, 0x3000
ja case.default.0x45522a
je case.0x46038f.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x45522a
movzx eax, byte [edx + 0x461b18]
jmp dword [eax*4 + 0x461b10]
cmp edx, 0x85
ja 0x460564
je case.default.0x45522a
add edx, 0xfffffff6
cmp edx, 3
ja case.0x46038f.13
jmp dword [edx*4 + 0x461b78]
sub edx, 0x2028
je case.default.0x45522a
sub edx, 1
jmp 0x46065a
cmp edx, 0x85
ja 0x460599
je case.0x46038f.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x45522a
jmp dword [edx*4 + 0x461b88]
sub edx, 0x2028
je case.0x46038f.13
sub edx, 1
jne case.default.0x45522a
jmp case.0x46038f.13
cmp eax, 0x100
jae case.0x46038f.13
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne case.default.0x45522a
jmp case.0x46038f.13
cmp eax, 0x100
jae case.default.0x45522a
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jmp 0x46065a
cmp eax, 0x100
jae case.0x46038f.13
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne case.default.0x45522a
jmp case.0x46038f.13
cmp eax, 0x100
jae case.default.0x45522a
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jmp 0x46065a
cmp eax, 0x100
jae case.0x46038f.13
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne case.default.0x45522a
jmp case.0x46038f.13
cmp eax, 0x100
jae case.default.0x45522a
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460230
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x88]
test eax, eax
je case.default.0x45522a
mov ecx, dword [ebp - 0x118]
jmp 0x45e210
test edi, edi
jne case.default.0x4537cb
mov ebx, dword [ebp - 0x120]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x45522a
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x45dcc5
mov edi, dword [ebp - 0x134]
cmp edi, 0xc
jne 0x46075b
mov edx, dword [edx + 0x18]
mov eax, dword [ebp - 0x118]
test edx, edx
je 0x460726
push 0
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004633a0
add esp, 0xc
test eax, eax
jne case.default.0x45522a
mov edx, dword [ebp - 0x118]
jmp 0x46075b
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x460759
mov ecx, dword [ebp - 0x118]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x460755
cmp edx, 1
je case.default.0x45522a
mov al, byte [esi + 1]
mov edx, ecx
cmp al, byte [edx + 0x35]
je case.default.0x45522a
jmp 0x46075b
mov edx, ecx
jmp 0x46075b
mov edx, eax
movzx ecx, byte [esi]
lea eax, [edi - 6]
inc esi
cmp eax, 0xf
ja case.default.0x45597c
jmp dword [eax*4 + 0x461b98]
mov edx, dword [edx + 0x88]
test edx, edx
je case.0x46076b.13
mov eax, dword [ebp - 0x118]
cmp esi, dword [eax + 0x78]
jb case.0x46076b.13
cmp dword [eax + 0x18], 0
jne case.0x46076b.13
cmp dword [eax + 0x1c], 2
jne case.0x46076b.13
movzx eax, byte [eax + 0x34]
cmp ecx, eax
jne case.0x46076b.13
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x64], 1
cmp edx, 1
jg 0x45dcef
jmp case.0x46076b.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x45522a
movzx eax, byte [ecx + 0x461be8]
jmp dword [eax*4 + 0x461bd8]
cmp esi, dword [edx + 0x78]
jae case.0x46076b.13
cmp byte [esi], 0xa
jne case.0x46076b.13
inc esi
jmp case.0x46076b.13
cmp dword [edx + 0x68], 0
jne case.default.0x45522a
jmp case.0x46076b.13
cmp ecx, 9
je case.default.0x45522a
cmp ecx, 0x20
je case.default.0x45522a
cmp ecx, 0xa0
jmp 0x4608c1
cmp ecx, 9
je case.0x46076b.13
cmp ecx, 0x20
je case.0x46076b.13
cmp ecx, 0xa0
jne case.default.0x45522a
jmp case.0x46076b.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46076b.13
movzx eax, byte [ecx + 0x461c6c]
jmp dword [eax*4 + 0x461c64]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x45522a
movzx eax, byte [ecx + 0x461cf0]
jmp dword [eax*4 + 0x461ce8]
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jne case.default.0x45522a
jmp case.0x46076b.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jmp 0x4608c1
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x45522a
jmp case.0x46076b.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jmp 0x4608c1
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x45522a
jmp case.0x46076b.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x45522a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4606d0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x164], ebx
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [ebp - 0x118]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x168], eax
mov eax, dword [edx + 0xac]
mov ebx, dword [edx + 0x90]
mov dword [ebp - 0x14c], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x11c]
jmp 0x460986
mov edi, dword [ebp - 0x124]
cmp edi, 0x88
jb 0x460998
mov dword [edx + 0x98], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push edx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1b
je 0x460a62
cmp edi, 0xfffffc20
jne 0x460a18
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [ebp - 0x118]
cmp dword [edx + 0x7c], eax
jae case.default.0x4537cb
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx], 0x77
je 0x460a14
cmp byte [eax], 0x77
jne case.default.0x4537cb
xor edi, edi
jmp 0x460a26
test edi, edi
jne case.default.0x4537cb
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x11c]
mov dword [edx + 0x90], ebx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x14c]
add dword [ebp - 0x11c], ecx
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 0xac], eax
cmp byte [ecx], 0x77
je 0x460980
jmp 0x460a68
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x150]
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x164]
mov dword [eax + ecx*4], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x16c]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x13c]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x168]
mov dword [eax + ecx*4], edx
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc1b
jne case.default.0x4537cb
mov edx, dword [ebp - 0x11c]
mov al, byte [edx]
cmp al, 0x81
je 0x460af3
cmp al, 0x77
jne 0x460ae4
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x460ad0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xb4], edx
jne case.default.0x4537cb
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
lea ebx, [edi + 2]
mov dword [ecx + 0xb0], ebx
mov dword [ecx + 0xac], 0
mov eax, dword [ebp + 0x18]
movzx edx, byte [edi + 1]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [edi]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
movzx eax, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add eax, edi
add edx, eax
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x460b80
cmp edi, 0xfffffc19
je 0x460b80
cmp edi, 0xfffffc1a
jne 0x460ba8
mov edx, dword [ebp - 0x118]
cmp dword [edx + 0xac], 0
jne 0x460bae
mov dword [edx + 0xac], ebx
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x118]
cmp edi, 0xfffffc1f
jne case.default.0x4537cb
mov eax, dword [edx + 0x7c]
nop dword [eax]
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x460be0
test cl, cl
je 0x460bdc
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x460be0
add ebx, 2
add eax, 2
test cl, cl
jne 0x460bc0
xor eax, eax
jmp 0x460be5
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4537cb
mov dword [edx + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push ebx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push ebx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460d28
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
lea ebx, [edi + 2]
mov dword [ecx + 0xb0], ebx
mov dword [ecx + 0xac], 0
mov eax, dword [ebp + 0x18]
movzx edx, byte [edi + 1]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [edi]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
movzx eax, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add eax, edi
add edx, eax
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x460d0b
cmp edi, 0xfffffc19
jne 0x460d20
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xac], 0
jne 0x460d20
mov dword [eax + 0xac], ebx
test edi, edi
jne case.default.0x4537cb
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push ebx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4537cb
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push ebx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452da0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460e69
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
lea ebx, [edi + 2]
mov dword [ecx + 0xb0], ebx
mov dword [ecx + 0xac], 0
mov eax, dword [ebp + 0x18]
movzx edx, byte [edi + 1]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [edi]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
movzx eax, byte [eax + 0x6c1c20]
push dword [ebp - 0x140]
add eax, edi
add edx, eax
call fcn.00452da0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x460e46
cmp edi, 0xfffffc19
jne 0x460e5b
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xac], 0
jne 0x460e5b
mov dword [eax + 0xac], ebx
test edi, edi
jne case.default.0x4537cb
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x11c]
mov dword [ebx + 0x7c], eax
mov eax, 0xfffffc20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x140]
cmp esi, ecx
jne 0x460ec4
cmp edi, 0x9f
je 0x460ec4
cmp dword [ebx + 0xa4], 0
jne 0x460ec4
cmp dword [ebx + 0x5c], 0
jne case.default.0x45522a
cmp dword [ebx + 0x60], 0
je 0x460ec4
mov eax, dword [ebx + 0x94]
add eax, dword [ebx + 0x74]
cmp ecx, eax
je case.default.0x45522a
mov eax, dword [ebp - 0x138]
test edi, edi
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x8c], eax
mov eax, 0xfffffc19
cmove eax, dword [ebp - 0x15c]
mov dword [ebx + 0x7c], ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
inc eax
pop edi
mov dword [ebx], eax
xor ecx, ebp
pop esi
mov eax, 0xfffffff8
pop ebx
call fcn.00663ada
mov esp, ebp
pop ebp
ret