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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x170
call fcn.00626ba0
mov eax, dword [0x70a514]
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 0x452c40
cmp dword [ebp + 0x18], edx
jne 0x452c23
push 1
push edx
push edx
push edx
push edx
lea ecx, [ebp + 0x18]
call fcn.00452bb0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00626a7a
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 0x460d34
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 0x460d1e
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x98], 2
jne 0x452cd0
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 0x452cec
je case.default.0x45503a
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.0x452d1e.98
movzx eax, byte [edi + 0x460e9c]
jmp dword [eax*4 + 0x460d50]
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 0x45d635
mov edx, dword [ebp - 0x11c]
movzx eax, byte [edx]
movzx edi, byte [edx + 1]
add edi, edx
movzx ecx, byte [eax + 0x6802c0]
add edi, ecx
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
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.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x452e93
cmp edi, 0xfffffc20
jne 0x452df1
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.0x4535db
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx], 0x77
je 0x452df9
cmp byte [eax], 0x77
jmp 0x452df3
test edi, edi
jne case.default.0x4535db
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 0x452d80
mov edx, dword [ebp - 0x140]
mov al, byte [edi]
cmp al, 0x82
je 0x452e40
cmp al, 0x77
jne case.default.0x45503a
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 0x452e40
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 0x452e83
cmp esi, dword [ebp - 0x14c]
jne 0x45d147
add edi, 3
mov ebx, eax
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov edx, dword [eax + 0x7c]
mov dword [ebp - 0x140], edx
jmp 0x452e2f
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x13c], 0
jmp 0x453b42
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x13c], 0
jmp 0x453b67
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 0x453006
mov edi, dword [0x7117e0]
test edi, edi
je 0x452fee
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.0x45503a
js case.default.0x4535db
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.0x453026.146
movzx eax, byte [eax + 0x460f58]
jmp dword [eax*4 + 0x460f40]
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0xa4]
test edx, edx
je case.0x453026.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 0x453065
cmp ecx, dword [edx + 4]
jne 0x4532c5
mov ecx, dword [ebp - 0x128]
mov ebx, 1
movzx ecx, byte [ecx + 0x6802c0]
jmp case.0x453026.145
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xa4], ebx
je case.0x453026.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 0x4532c5
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 0x453145
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 0x4530e0
jmp 0x453145
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 0x453143
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x453143
mov ebx, 1
jmp 0x453145
xor ebx, ebx
test ebx, ebx
je 0x4532c5
mov ecx, dword [ebp - 0x128]
movzx ecx, byte [ecx + 0x6802c0]
jmp case.0x453026.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 0x4532c5
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 0x4531c2
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x453065
mov eax, dword [ebp - 0x118]
xor ebx, ebx
mov eax, dword [eax + 0x24]
add eax, edi
mov edi, eax
test edx, edx
jg 0x453198
jmp 0x4532c5
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.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 1
jne 0x4532b5
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 0x453250
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 0x453294
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 0x453270
mov ebx, dword [ebp - 0x14c]
mov edi, edx
mov ecx, dword [ebp - 0x128]
movzx eax, byte [ecx + 0x6802c0]
movzx ecx, byte [ecx + 0x6802c0]
sub edi, eax
add edi, 3
mov dword [ebp - 0x11c], edi
jmp case.0x453026.145
test edi, edi
je 0x4532c5
cmp edi, 0xfffffc20
jne case.default.0x4535db
mov ecx, dword [ebp - 0x144]
mov edi, dword [ebp - 0x11c]
add edi, ecx
mov dword [ebp - 0x11c], edi
test ebx, ebx
jne 0x4532e7
cmp byte [edi - 3], 0x77
jne 0x453f1c
cmp dword [ebp - 0x124], 0x8c
jne 0x457544
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.00452bb0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 0x45338b
mov ebx, ecx
or eax, 0x10000
add edi, 3
mov dword [ebp - 0x11c], edi
mov dword [ebx + 0x90], eax
jmp 0x452ce6
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 0x4557a6
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x4533dd
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 0x452ce6
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x45342b
mov dword [eax + 0x98], 0
mov dword [ebp - 0x150], 1
jmp 0x453435
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.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x4534e5
cmp edi, 0xfffffc19
je 0x4534e5
mov eax, dword [ebp - 0x118]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jne 0x4534b7
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.0x4535db
cmp byte [edx], 0x77
je 0x4534bf
cmp byte [eax], 0x77
jmp 0x4534b9
test edi, edi
jne case.default.0x4535db
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 0x453440
jmp 0x4534fa
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.0x45503a
cmp dword [ebp - 0x150], 0
jne 0x45d8a6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x453510
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 0x452ce6
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x453576
mov dword [eax + 0x98], 0
mov dword [ebp - 0x150], 1
jmp 0x453580
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.00452bb0
mov edi, eax
add esp, 0x14
mov eax, dword [ebp - 0x118]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc1c
jle 0x453634
test edi, edi
jg 0x45d69b
je 0x45360e
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x4535db
jmp dword [eax*4 + 0x460f6c]
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 0x453640
cmp byte [edi], 0x77
je 0x453614
cmp byte [eax], 0x77
jne 0x453640
jmp 0x453614
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 0x453586
jmp 0x453654
jne 0x45d6b9
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 0x453640
cmp dword [ebp - 0x150], 0
jne 0x45d8a6
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
test edx, edx
je 0x4536c6
or ecx, eax
mov eax, dword [ebp - 0x118]
jbe 0x4536d9
mov edx, dword [eax + 0x74]
dec esi
dec ecx
cmp esi, edx
jb case.default.0x45503a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4536ba
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4536b0
test ecx, ecx
jg 0x453697
mov eax, dword [ebp - 0x118]
jmp 0x4536d9
or ecx, eax
mov eax, dword [ebp - 0x118]
sub esi, ecx
cmp esi, dword [eax + 0x74]
jb case.default.0x45503a
mov ebx, dword [ebp - 0x118]
cmp esi, dword [eax + 0x84]
jae 0x4557ac
add edi, 3
mov dword [eax + 0x84], esi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov edi, dword [0x7117e0]
test edi, edi
je 0x4537e2
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.0x45503a
js case.default.0x4535db
mov edi, dword [ebp - 0x11c]
add edi, 6
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
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 0x453816
xor ecx, ecx
jmp 0x453823
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 0x453849
cmp ecx, dword [eax + 4]
jne 0x453843
cmp esi, dword [eax + 0x14]
je 0x45d6d8
mov eax, dword [eax]
test eax, eax
jne 0x453835
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 0x453898
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x9c], eax
jmp 0x4538bc
lea eax, [ecx*4]
push eax
call fcn.00448ac0
add esp, 4
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x45d75a
mov ecx, dword [ebp - 0x98]
shl ecx, 2
push ecx
mov ecx, edi
push dword [ecx + 0xc]
push eax
call fcn.00629750
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 0x4538f6
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 + 0x6802c0]
push dword [ebp - 0x140]
add edx, ebx
call fcn.00452bb0
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.00629750
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 0x4539bd
cmp edi, 0xfffffc19
je 0x4539bd
cmp edi, 0xfffffc1c
jl 0x453986
cmp edi, 0xfffffc20
jle 0x45d6fa
test edi, edi
jne 0x45d72a
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 0x45d6ee
mov eax, dword [ebp - 0x14c]
jmp 0x4538e0
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je 0x4539d6
push eax
call fcn.00448ad0
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 0x452ce6
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 0x453a02
mov dword [ebp - 0x11c], edi
jmp 0x452cec
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
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 0x453a60
lea edi, [ebx + 3]
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x118]
jmp 0x452ce6
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 0x453aa0
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
jmp 0x452ce0
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 0x453af0
lea edi, [edx + 3]
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
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 0x453b42
cmp edi, 0x8b
jne 0x453b67
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 0x453d01
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 0x453baa
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 + 0x6802c0]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1a
jne 0x453c33
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 0x453cc0
mov edi, dword [ebp - 0x124]
mov esi, eax
mov ecx, dword [ebp - 0x11c]
jmp 0x453b86
cmp edi, 0xfffffc20
jne 0x453c75
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.0x4535db
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx], 0x77
je 0x453c83
cmp byte [eax], 0x77
jne case.default.0x4535db
jmp 0x453c83
test edi, edi
jne case.default.0x4535db
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 0x453ce8
mov eax, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 0x90], eax
jmp 0x453b90
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x453cc0
add edi, 3
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x118]
jmp 0x452ce6
cmp dword [ebp - 0x150], 0
jne 0x453f13
cmp dword [ebp - 0x13c], 0
jmp 0x453f0d
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 0x453d7c
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 + 0x6802c0]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1a
jne 0x453e1b
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 0x453ea0
mov edi, dword [ebp - 0x128]
mov esi, eax
mov eax, dword [ebp - 0x118]
jmp 0x453d50
cmp edi, 0xfffffc20
jne 0x453e51
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.0x4535db
cmp byte [edx], 0x77
je 0x453e59
cmp byte [eax], 0x77
jmp 0x453e53
test edi, edi
jne case.default.0x4535db
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 0x453eb6
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x118]
jmp 0x453d50
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x453ea0
jmp 0x453f02
mov edx, dword [ebp - 0x150]
test edx, edx
jne 0x453f02
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 0x453f13
test edx, edx
je case.default.0x45503a
add edi, 3
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x118]
jmp 0x452ce6
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 0x453f5c
cmp cl, 0x81
je 0x453f5c
mov dword [ebp - 0x150], 0
jmp 0x453f75
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 0x453f83
cmp cl, 0x80
jbe 0x45d885
cmp cl, 0x82
je 0x45d885
cmp cl, 0x85
je 0x453fa4
cmp cl, 0x8a
je 0x453fa4
cmp cl, 0x86
je 0x453fa4
cmp cl, 0x8b
jne 0x454073
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 0x453fcd
cmp dword [eax + 4], edx
je 0x45d770
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 0x453ffa
mov ebx, dword [ebp - 0x128]
or eax, 0x10000
mov dword [ecx + 0x90], eax
jmp 0x454079
mov ecx, dword [ebp - 0x138]
cmp ebx, ecx
jle 0x45402c
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x454026
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 0x45406b
lea edx, [ebx + 2]
mov dword [ebp - 0x138], edx
mov ebx, dword [ebp - 0x128]
jmp 0x45407f
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x138]
mov al, byte [edi]
cmp al, 0x7b
je 0x45d85a
cmp al, 0x78
je 0x454099
cmp esi, dword [ebp - 0x150]
jne 0x45d1c0
cmp byte [ebx], 0x81
jne 0x4557a6
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
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.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x44], 0
je 0x454118
cmp esi, dword [eax + 0x74]
jne 0x454118
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
cmp esi, dword [eax + 0x74]
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x44], 0
je 0x454146
cmp esi, dword [eax + 0x74]
je case.default.0x45503a
mov ecx, dword [eax + 0x74]
cmp esi, ecx
je 0x455d44
cmp esi, dword [eax + 0x78]
je case.default.0x45503a
mov edx, dword [eax + 0x18]
test edx, edx
je 0x454192
cmp esi, ecx
jbe case.default.0x45503a
push dword [ebp - 0x12c]
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.00463340
add esp, 0xc
test eax, eax
je case.default.0x45503a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov edx, dword [eax + 0x1c]
lea eax, [ecx + edx]
cmp esi, eax
jb case.default.0x45503a
mov ebx, dword [ebp - 0x118]
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + 0x34]
jne case.default.0x45503a
cmp edx, 1
je case.0x45503a.10
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x35]
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
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.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x11c], edi
jmp 0x452cec
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4542a2
mov edx, dword [eax + 0x18]
test edx, edx
je 0x45426c
push dword [ebp - 0x12c]
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004631b0
add esp, 0xc
test eax, eax
je 0x45d8bd
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x45d8c3
mov ebx, dword [ebp - 0x118]
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x45429b
cmp edx, 1
je case.0x45503a.10
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.0x45503a.10
mov eax, ebx
jmp 0x45d8c3
cmp dword [eax + 0x48], 0
jne case.default.0x45503a
jmp 0x454389
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x48], 0
jne case.default.0x45503a
cmp dword [eax + 0x58], 0
je 0x4542e3
jmp 0x4542cf
mov eax, dword [ebp - 0x118]
cmp esi, dword [eax + 0x78]
jb case.default.0x45503a
jmp 0x454389
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x78]
cmp esi, eax
jae 0x454383
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test edx, edx
je 0x45435c
push dword [ebp - 0x12c]
mov ecx, esi
push edi
push eax
call fcn.004631b0
add esp, 0xc
test eax, eax
jne 0x454378
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.default.0x45503a
lea eax, [esi + 1]
cmp eax, dword [ebx + 0x78]
jb case.default.0x45503a
cmp dword [ebx + 0x18], 0
jne case.default.0x45503a
cmp dword [ebx + 0x1c], 2
jne case.default.0x45503a
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.default.0x45503a
mov dword [ebx + 0x64], 1
cmp ecx, 1
jmp 0x45daf9
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x454314
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x454314
cmp ecx, 1
je 0x454378
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
jne 0x454314
mov eax, ebx
mov eax, dword [eax + 0x78]
sub eax, dword [edi]
cmp esi, eax
jne 0x454314
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x88]
mov ebx, dword [ebp - 0x118]
test eax, eax
je case.0x45503a.10
cmp esi, dword [ebx + 0x84]
jbe case.0x45503a.10
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45daff
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x74]
test edx, edx
je 0x454622
cmp esi, eax
je 0x454522
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x4543fe
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x4543f2
mov edi, dword [ebp - 0x118]
cmp ecx, dword [edi + 0x84]
jae 0x454412
mov dword [edi + 0x84], edx
movzx ebx, byte [edx]
mov ecx, ebx
cmp ebx, 0xc0
jb 0x4544c3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x45443e
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4544bf
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x454451
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4544b9
and eax, 0x3f
test bl, 8
jne 0x45446c
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x4544b9
test bl, 4
jne 0x454490
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 0x4544b9
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 0x45450a
cmp ecx, 0x5f
je 0x454503
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x680880]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x454503
cmp eax, 3
jne 0x454522
mov edi, 1
jmp 0x454524
cmp ecx, 0x100
jae 0x454522
mov eax, dword [edi + 0x40]
test byte [ebx + eax], 0x10
je 0x454522
mov edi, 1
jmp 0x454524
xor edi, edi
mov ebx, dword [ebp - 0x118]
cmp esi, dword [ebx + 0x78]
jae 0x45471b
movzx edx, byte [esi]
mov ecx, edx
cmp edx, 0xc0
jb 0x4545e4
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45455f
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4545e0
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x454572
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4545da
and eax, 0x3f
test dl, 8
jne 0x45458d
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4545da
test dl, 4
jne 0x4545b1
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 0x4545da
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 0x45460a
cmp ecx, 0x5f
je 0x454704
mov eax, ecx
shr eax, 7
movzx eax, byte [eax + 0x680880]
shl eax, 7
and ecx, 0x7f
jmp 0x4546e1
cmp ecx, 0x100
jae 0x45473d
mov eax, dword [ebx + 0x40]
test byte [edx + eax], 0x10
jmp 0x454712
mov ebx, dword [ebp - 0x118]
cmp esi, eax
je 0x4546a9
cmp esi, dword [ebx + 0x84]
ja 0x45463d
lea eax, [esi - 1]
mov dword [ebx + 0x84], eax
cmp dword [ebx + 0x54], 0
movzx ecx, byte [esi - 1]
je 0x454699
cmp ecx, 0x5f
je 0x454692
mov eax, ecx
test eax, eax
jns 0x454655
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x680880]
shl eax, 7
and ecx, reloc.WLDAP32.dll_Ordinal_127
jns 0x45466f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x454692
cmp eax, 3
jne 0x4546a9
mov edi, 1
jmp 0x4546ab
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je 0x4546a9
mov edi, 1
jmp 0x4546ab
xor edi, edi
cmp esi, dword [ebx + 0x78]
jae 0x45471b
cmp dword [ebx + 0x54], 0
movzx ecx, byte [esi]
je 0x45470b
cmp ecx, 0x5f
je 0x454704
mov eax, ecx
test eax, eax
jns 0x4546c7
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x680880]
shl eax, 7
and ecx, reloc.WLDAP32.dll_Ordinal_127
jns 0x4546e1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x454704
cmp eax, 3
jne 0x45473d
mov ecx, 1
jmp 0x45473f
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je 0x45473d
mov ecx, 1
jmp 0x45473f
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x45473d
cmp esi, dword [ebx + 0x84]
jbe 0x45473d
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45daff
xor ecx, ecx
mov edx, dword [ebp - 0x11c]
mov al, byte [edx]
inc edx
mov dword [ebp - 0x11c], edx
cmp al, 5
jne 0x45475b
xor eax, eax
cmp ecx, edi
sete al
jmp 0x454762
xor eax, eax
cmp ecx, edi
setne al
test eax, eax
jne case.default.0x45503a
jmp 0x452ce0
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x45479c
mov ecx, dword [ebx + 0x78]
cmp esi, ecx
jae 0x4547c4
push dword [ebp - 0x12c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.004631b0
add esp, 0xc
test eax, eax
jne case.default.0x45503a
jmp 0x4547c4
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x4547c4
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x4547c4
cmp ecx, 1
je case.default.0x45503a
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.default.0x45503a
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.0x452d1e.13
mov eax, dword [ebx + 0x78]
dec eax
cmp esi, eax
jne case.0x452d1e.13
cmp dword [ebx + 0x18], 0
jne case.0x452d1e.13
cmp dword [ebx + 0x1c], 2
jne case.0x452d1e.13
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.0x452d1e.13
mov dword [ebx + 0x64], 1
cmp ecx, 1
jg 0x45daff
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x45d90a
inc esi
cmp dword [ebp - 0x12c], 0
je case.0x45503a.10
cmp esi, edx
jae case.0x45503a.10
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne case.0x45503a.10
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x454820
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
mov edi, dword [ebp - 0x11c]
inc esi
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452cec
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov eax, edx
je 0x45494f
cmp edx, 0xc0
jb 0x45494f
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4548a6
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x45494d
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4548c7
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x45494d
test dl, 8
jne 0x4548ea
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 0x45494d
test dl, 4
jne 0x454919
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 0x45494d
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.0x45503a.10
mov eax, dword [ebx + 0x40]
test byte [edx + eax], 4
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x454a73
cmp ecx, 0xc0
jb 0x454a73
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x4549b5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x454a71
test cl, 0x10
jne 0x4549d6
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 0x454a71
test cl, 8
jne 0x454a00
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 0x454a71
test cl, 4
jne 0x454a36
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 0x454a71
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.0x45503a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
je case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x454b97
cmp ecx, 0xc0
jb 0x454b97
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x454ad9
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x454b95
test cl, 0x10
jne 0x454afa
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 0x454b95
test cl, 8
jne 0x454b24
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 0x454b95
test cl, 4
jne 0x454b5a
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 0x454b95
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.0x45503a.10
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x454cbb
cmp ecx, 0xc0
jb 0x454cbb
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x454bfd
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x454cb9
test cl, 0x10
jne 0x454c1e
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 0x454cb9
test cl, 8
jne 0x454c48
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 0x454cb9
test cl, 4
jne 0x454c7e
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 0x454cb9
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.0x45503a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x454ddf
cmp ecx, 0xc0
jb 0x454ddf
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x454d21
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x454ddd
test cl, 0x10
jne 0x454d42
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 0x454ddd
test cl, 8
jne 0x454d6c
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 0x454ddd
test cl, 4
jne 0x454da2
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 0x454ddd
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.0x45503a.10
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov eax, edx
je 0x454ef5
cmp edx, 0xc0
jb 0x454ef5
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x454e4c
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x454ef3
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x454e6d
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x454ef3
test dl, 8
jne 0x454e90
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 0x454ef3
test dl, 4
jne 0x454ebf
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 0x454ef3
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.0x45503a
mov eax, dword [ebx + 0x40]
test byte [edx + eax], 0x10
je case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov eax, esi
je 0x455020
cmp ecx, 0xc0
jb 0x455020
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x454f62
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45501e
test cl, 0x10
jne 0x454f83
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 0x45501e
test cl, 8
jne 0x454fad
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 0x45501e
test cl, 4
jne 0x454fe3
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 0x45501e
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 0x45509f
je case.0x45503a.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45503a
jmp dword [ecx*4 + 0x460f7c]
cmp eax, edx
jb 0x455081
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.0x45503a.10
cmp eax, dword [ebx + 0x84]
jbe case.0x45503a.10
mov dword [ebx + 0x64], 1
cmp ecx, 1
jg 0x45daff
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp byte [esi], 0xa
jne case.0x45503a.10
mov edi, dword [ebp - 0x11c]
lea esi, [eax + 1]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
sub ecx, 0x2028
je case.0x45503a.11
sub ecx, 1
jne case.default.0x45503a
cmp dword [ebx + 0x68], 0
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
test edx, edx
je 0x4551c2
cmp ecx, 0xc0
jb 0x4551c2
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455106
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x4551c2
test cl, 0x10
jne 0x455127
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 0x4551c2
test cl, 8
jne 0x455151
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 0x4551c2
test cl, 4
jne 0x455187
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 0x4551c2
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 0x45522c
je case.default.0x45503a
cmp ecx, 0xa0
ja 0x455202
je case.default.0x45503a
cmp ecx, 9
je case.default.0x45503a
cmp ecx, 0x20
je case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp ecx, 0x1680
je case.default.0x45503a
cmp ecx, 0x180e
je case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp ecx, 0x3000
ja case.0x45503a.10
je case.default.0x45503a
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x45503a.10
movzx eax, byte [ecx + 0x460f94]
jmp dword [eax*4 + 0x460f8c]
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
test edx, edx
je 0x455351
cmp ecx, 0xc0
jb 0x455351
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455295
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x455351
test cl, 0x10
jne 0x4552b6
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 0x455351
test cl, 8
jne 0x4552e0
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 0x455351
test cl, 4
jne 0x455316
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 0x455351
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 0x4553bb
je case.0x45503a.10
cmp ecx, 0xa0
ja 0x455391
je case.0x45503a.10
cmp ecx, 9
je case.0x45503a.10
cmp ecx, 0x20
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp ecx, 0x1680
je case.0x45503a.10
cmp ecx, 0x180e
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp ecx, 0x3000
ja case.default.0x45503a
je case.0x45503a.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x45503a
movzx eax, byte [ecx + 0x460ffc]
jmp dword [eax*4 + 0x460ff4]
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
test edx, edx
je 0x4554e0
cmp ecx, 0xc0
jb 0x4554e0
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455424
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x4554e0
test cl, 0x10
jne 0x455445
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 0x4554e0
test cl, 8
jne 0x45546f
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 0x4554e0
test cl, 4
jne 0x4554a5
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 0x4554e0
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 0x455501
je case.default.0x45503a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x45503a.10
jmp dword [ecx*4 + 0x46105c]
sub ecx, 0x2028
je case.default.0x45503a
sub ecx, 1
je case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
je 0x455614
cmp edx, 0xc0
jb 0x455614
test dl, 0x20
jne 0x455567
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x455614
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45558e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x455614
test dl, 8
jne 0x4555b1
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 0x455614
test dl, 4
jne 0x4555e0
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 0x455614
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 0x455635
je case.0x45503a.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x45503a
jmp dword [edx*4 + 0x46106c]
sub edx, 0x2028
je case.0x45503a.10
sub edx, 1
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edi, edx
je 0x45575b
cmp edx, 0xc0
jb 0x45575b
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x45569d
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x455759
test dl, 0x10
jne 0x4556be
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 0x455759
test dl, 8
jne 0x4556e8
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 0x455759
test dl, 4
jne 0x45571e
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 0x455759
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 + 0x680880]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ebx, word [ecx*2 + 0x684240]
mov ecx, dword [ebp - 0x11c]
movzx eax, byte [ecx + 1]
cmp eax, 0xa
ja case.default.0x45578c
jmp dword [eax*4 + 0x46107c]
cmp dword [ebp - 0x124], 0xf
je case.default.0x45503a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov al, byte [ebx*8 + 0x682a81]
cmp al, 9
je 0x4557df
cmp al, 5
je 0x4557df
cmp al, 8
je 0x4557df
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45579a
xor eax, eax
mov ecx, 1
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45579a
mov edi, dword [ebp - 0x11c]
xor edx, edx
movzx ecx, byte [ebx*8 + 0x682a81]
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x67fdc0]
setne dl
xor eax, eax
cmp dword [ebp - 0x124], 0x10
sete al
cmp edx, eax
je case.default.0x45503a
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov edi, dword [ebp - 0x11c]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x682a81]
setne cl
xor eax, eax
cmp dword [ebp - 0x124], 0x10
sete al
cmp ecx, eax
je case.default.0x45503a
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
mov edi, dword [ebp - 0x11c]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x682a80]
setne cl
xor eax, eax
cmp dword [ebp - 0x124], 0x10
sete al
cmp ecx, eax
je case.default.0x45503a
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
movzx eax, byte [ebx*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x4557df
cmp eax, 3
je 0x4557df
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45579a
cmp edx, 0x20
ja 0x455904
je case.0x45578c.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x455985.8203
jmp dword [edx*4 + 0x4610a8]
cmp edx, 0x2000
ja 0x455965
je case.0x45578c.0
cmp edx, 0x1680
ja 0x45595d
je case.0x45578c.0
sub edx, 0x85
je case.0x45578c.0
sub edx, 0x1b
je case.0x45578c.0
movzx eax, byte [ebx*8 + 0x682a81]
xor ecx, ecx
cmp dword [eax*4 + 0x67fdc0], 6
sete cl
xor eax, eax
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45579a
cmp edx, 0x180e
jmp 0x45592f
cmp edx, 0x3000
ja case.0x455985.8203
je case.0x45578c.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x455985.8203
movzx eax, byte [edx + 0x4610c4]
jmp dword [eax*4 + 0x4610bc]
movzx eax, byte [ebx*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x4557df
cmp eax, 3
je 0x4557df
cmp edi, 0x5f
je 0x4557df
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x45579a
movzx eax, byte [ecx + 2]
mov ecx, dword [eax*4 + 0x684100]
lea eax, [eax*4 + 0x684100]
cmp edi, ecx
jb 0x4559ee
lea eax, [eax + 4]
cmp edx, ecx
je 0x4559fa
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4559e1
cmp dword [ebp - 0x124], 0x10
jmp 0x45579a
cmp dword [ebp - 0x124], 0x10
jne case.default.0x45503a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
cmp edi, 0x24
je 0x455a4c
cmp edi, 0x40
je 0x455a4c
cmp edi, 0x60
je 0x455a4c
cmp edi, 0xa0
jb 0x455a40
cmp edi, 0xd7ff
jbe 0x455a4c
cmp edi, 0xe000
jae 0x455a4c
xor ecx, ecx
jmp 0x455a51
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jne 0x4557a0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x128], eax
cmp esi, eax
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x13c], edx
mov ecx, esi
je 0x455bd8
cmp edx, 0xc0
jb 0x455bd8
mov al, byte [esi]
test dl, 0x20
jne 0x455acb
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x455bd6
lea ecx, [esi + 1]
test dl, 0x10
jne 0x455af1
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 0x455bd1
test dl, 8
jne 0x455b26
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 0x455bd1
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x455b66
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 0x455bd1
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx ebx, byte [eax*8 + 0x682a82]
cmp ecx, edx
jae 0x455d2b
nop word [eax + eax]
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x455ce4
cmp edx, 0xc0
jb 0x455ce4
test dl, 0x20
jne 0x455c47
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x455cdc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455c66
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x455cdc
and eax, 0x3f
test dl, 8
jne 0x455c86
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x455cdc
test dl, 4
jne 0x455caf
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 0x455cdc
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 + 0x680880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 0x128]
movzx eax, word [eax*2 + 0x684240]
movzx ecx, byte [eax*8 + 0x682a82]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x6803e0], eax
je 0x455d2b
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x455c10
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je case.0x45503a.10
cmp esi, edx
jb case.0x45503a.10
jmp 0x45439d
mov ebx, eax
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
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 0x455e66
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 0x455ded
mov eax, dword [ecx + 0xc]
cmp dword [eax + edi*4], 0
jge 0x455e02
mov eax, dword [ecx + 0x24]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0x150], eax
test edx, edx
jg 0x455dc0
jmp 0x455e66
mov ebx, dword [eax + edi*4 + 4]
sub ebx, dword [eax + edi*4]
jmp 0x455e60
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 0x455e56
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
js 0x455e56
mov ebx, dword [eax + edi*4 + 4]
sub ebx, ecx
jmp 0x455e60
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.0x455e84
movzx eax, byte [eax + 0x46112c]
jmp dword [eax*4 + 0x461124]
inc dword [ebp - 0x11c]
lea eax, [ecx - 0x62]
movsx ebx, byte [eax + 0x67f8a4]
mov ecx, eax
movsx eax, byte [eax + 0x67f898]
and ecx, 1
test eax, eax
mov dword [ebp - 0x14c], ecx
cmove eax, dword [ebp - 0x16c]
mov dword [ebp - 0x128], eax
jmp 0x455f06
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 0x452cda
jns 0x455f20
test ebx, ebx
je 0x452cda
mov dword [ebp - 0x150], 1
cmp ecx, 1
jl 0x455f6a
nop
push dword [ebp - 0x13c]
mov ecx, edi
push dword [ebp - 0x118]
push edx
mov edx, esi
call fcn.00452890
add esp, 0xc
test eax, eax
js 0x45d933
mov edx, dword [ebp - 0x144]
add esi, eax
mov eax, dword [ebp - 0x150]
inc eax
mov dword [ebp - 0x150], eax
cmp eax, ebx
jle 0x455f30
mov eax, dword [ebp - 0x128]
cmp ebx, eax
je 0x452cda
cmp dword [ebp - 0x14c], 0
je 0x45d9ad
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop dword [eax]
cmp ebx, dword [ebp - 0x128]
jge case.default.0x45503a
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.00452890
add esp, 0xc
test eax, eax
js 0x45d973
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x455fc0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x13c]
mov edx, esi
mov ecx, edi
push dword [ebp - 0x118]
push ebx
call fcn.00452890
add esp, 0xc
test eax, eax
js 0x45da92
add esi, eax
jmp 0x452cda
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.0x456092
movzx eax, byte [eax + 0x46113c]
jmp dword [eax*4 + 0x461134]
lea eax, [edx - 0x62]
inc ebx
mov dword [ebp - 0x11c], ebx
cmp eax, 8
jae 0x4560bb
mov ebx, eax
and ebx, 1
mov dword [ebp - 0x144], ebx
mov ebx, dword [ebp - 0x11c]
jmp 0x4560c5
mov dword [ebp - 0x158], 1
movsx ecx, byte [eax + 0x67f8a4]
movsx eax, byte [eax + 0x67f898]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x134], eax
test eax, eax
jne 0x45615e
mov dword [ebp - 0x134], accept
jmp 0x45615e
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 0x456158
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 0x4562fb
cmp ecx, edx
jl 0x45634c
nop
mov ebx, dword [ebp - 0x118]
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x120], ebx
cmp ebx, 0xc0
jb 0x4562b4
test bl, 0x20
jne 0x4561be
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x4562b4
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x4561e4
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x4562a9
lea edx, [esi + 2]
test bl, 8
jne 0x45620d
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 0x4562a3
lea edi, [esi + 3]
test bl, 4
jne 0x45623e
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 0x45629d
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 0x4562cb
cmp dword [ebp - 0x124], 0x6e
je case.default.0x45503a
jmp 0x4562ea
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.0x45503a
mov ecx, dword [ebp - 0x130]
inc edx
mov dword [ebp - 0x13c], edx
cmp edx, ecx
jle 0x456180
jmp 0x456346
cmp ecx, 1
jl 0x45634c
mov edx, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x13c]
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x45dacf
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.0x45503a
mov ecx, dword [ebp - 0x130]
inc ebx
cmp ebx, ecx
jle 0x456310
mov ebx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x134]
cmp ecx, eax
je 0x452cda
cmp dword [ebp - 0x144], 0
jne 0x45db6e
mov edx, dword [ebp - 0x12c]
mov ebx, esi
mov dword [ebp - 0x144], ebx
test edx, edx
je 0x456591
mov edx, dword [ebp - 0x118]
cmp ecx, eax
jge 0x4564ec
mov ebx, dword [edx + 0x78]
nop
cmp esi, ebx
jae 0x4564be
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x45646b
test dl, 0x20
jne 0x4563c2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45645d
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4563e1
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x456457
and eax, 0x3f
test dl, 8
jne 0x456401
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x456457
test dl, 4
jne 0x45642a
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 0x456457
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 0x45647e
cmp dword [ebp - 0x124], 0x6e
je 0x4564b6
jmp 0x4564a5
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 0x4564b6
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x134]
inc ecx
add esi, edi
mov dword [ebp - 0x130], ecx
cmp ecx, eax
jl 0x456390
mov edx, dword [ebp - 0x118]
jmp 0x4564e6
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4564e6
cmp esi, dword [edx + 0x84]
jbe 0x4564e6
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
mov ebx, dword [ebp - 0x144]
cmp dword [ebp - 0x158], 0
jne 0x452cda
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop dword [eax + eax]
mov eax, esi
dec esi
cmp eax, ebx
jbe case.default.0x45503a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45654d
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x456543
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x456530
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
cmp ecx, eax
mov ecx, dword [ebp - 0x118]
jge 0x4565e4
mov edi, dword [ecx + 0x78]
nop
cmp esi, edi
jae 0x456602
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 0x4565d8
mov eax, dword [ebp - 0x130]
inc esi
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x134]
jl 0x4565a0
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x12c]
cmp dword [ebp - 0x158], 0
je 0x45db15
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
jmp 0x452cec
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4565de
cmp esi, dword [ecx + 0x84]
jbe 0x4565de
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x4565de
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.0x456678
movzx eax, byte [eax + 0x461150]
jmp dword [eax*4 + 0x461148]
lea eax, [edx - 0x62]
inc edi
mov dword [ebp - 0x11c], edi
cmp eax, 8
jae 0x45669b
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x144], ecx
jmp 0x4566a5
mov dword [ebp - 0x158], 1
movsx ecx, byte [eax + 0x67f8a4]
movsx eax, byte [eax + 0x67f898]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], eax
test eax, eax
jne 0x456732
mov dword [ebp - 0x124], accept
jmp 0x456732
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 0x45672c
mov dword [ebp - 0x124], 1
mov ecx, 1
mov dword [ebp - 0x128], ecx
mov edi, 1
cmp ecx, edi
jl 0x456864
nop
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45de2d
movzx ecx, byte [esi]
inc esi
mov edx, dword [ebp - 0x12c]
test edx, edx
je 0x456842
cmp ecx, 0xc0
jb 0x456842
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x456786
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x456842
test cl, 0x10
jne 0x4567a7
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 0x456842
test cl, 8
jne 0x4567d1
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 0x456842
test cl, 4
jne 0x456807
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 0x456842
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.00462a60
add esp, 4
test eax, eax
je case.default.0x45503a
mov ecx, dword [ebp - 0x128]
inc edi
cmp edi, ecx
jle 0x456740
mov eax, dword [ebp - 0x124]
mov edx, dword [ebp - 0x12c]
cmp ecx, eax
je 0x4565f1
cmp dword [ebp - 0x144], 0
jne 0x45de40
mov ebx, esi
mov dword [ebp - 0x13c], ebx
cmp ecx, eax
jge 0x4569ba
nop word [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x456a6e
mov edx, dword [ebp - 0x12c]
mov edi, 1
movzx ebx, byte [esi]
test edx, edx
je 0x456984
cmp ebx, 0xc0
jb 0x456984
test bl, 0x20
jne 0x4568e7
movzx eax, byte [esi + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45697c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x456906
and ebx, 0xf
mov edi, 3
shl ebx, 6
or ebx, ecx
jmp 0x45697c
and eax, 0x3f
test bl, 8
jne 0x456926
and ebx, 7
mov edi, 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
jmp 0x45697c
test bl, 4
jne 0x45694f
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 0x45697c
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.00462a60
add esp, 4
test eax, eax
je 0x4569b4
mov ecx, dword [ebp - 0x128]
add esi, edi
inc ecx
mov dword [ebp - 0x128], ecx
cmp ecx, dword [ebp - 0x124]
jl 0x4568a0
mov ebx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452cda
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop
mov eax, esi
dec esi
cmp eax, ebx
jbe case.default.0x45503a
cmp dword [ebp - 0x12c], 0
je 0x456a2a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x456a2a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x456a20
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x456a00
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x456a90
cmp esi, dword [ecx + 0x84]
jbe 0x456a90
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45daff
mov ebx, dword [ebp - 0x13c]
jmp 0x4569c0
test edx, edx
je 0x456b23
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 0x456af0
test al, 0x20
jne 0x456aca
lea edx, [ecx + 1]
jmp 0x456aee
test al, 0x10
jne 0x456ad5
mov edx, 3
jmp 0x456aee
test al, 8
jne 0x456ae0
mov edx, 4
jmp 0x456aee
mov edx, 5
test al, 4
je 0x456aee
mov edx, 6
mov ecx, edx
mov edi, dword [ebx + 0x78]
mov eax, edi
sub eax, esi
cmp ecx, eax
jg 0x45dfe8
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.0x45503a
test edx, edx
jg 0x456b05
jmp 0x452ce6
mov eax, dword [ebx + 0x78]
sub eax, esi
cmp eax, 1
jl 0x45d90a
mov edi, dword [ebp - 0x11c]
mov al, byte [esi]
inc esi
cmp byte [edi + 1], al
jne case.default.0x45503a
add edi, 2
mov dword [ebp - 0x11c], edi
jmp 0x452cec
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
mov edi, dword [ebp - 0x11c]
test edx, edx
je 0x456e3a
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 0x456c78
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x456bbc
mov eax, ebx
mov dword [ebp - 0x158], 2
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x456c68
movzx eax, byte [edi + 2]
test bl, 0x10
jne 0x456bdc
and ebx, 0xf
mov dword [ebp - 0x158], 3
shl ebx, 6
or ebx, ecx
jmp 0x456c62
and eax, 0x3f
test bl, 8
jne 0x456c01
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 0x456c62
test bl, 4
jne 0x456c2f
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 0x456c62
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 0x456cab
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.0x45503a
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
inc esi
jmp 0x452ce6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x456ddf
test bl, 0x20
jne 0x456cda
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x456ddf
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x456d05
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 0x456ddf
lea edx, [esi + 2]
test bl, 8
jne 0x456d39
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 0x456dd9
lea edi, [esi + 3]
test bl, 4
jne 0x456d7b
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 0x456dd3
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 0x453540
mov eax, eax
test eax, eax
jns 0x456e02
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x680880]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x684240]
mov eax, dword [eax*8 + 0x682a84]
add eax, edx
cmp ebx, eax
jne case.default.0x45503a
mov ebx, dword [ebp - 0x118]
jmp 0x452ce6
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.0x45503a
inc esi
add edi, 2
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
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 0x456f84
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 0x456ed1
mov dword [ebp - 0x144], edx
cmp cl, 0x35
jne 0x456edb
mov dword [ebp - 0x144], 1
mov eax, dword [ebp - 0x11c]
add eax, 3
mov dword [ebp - 0x11c], eax
mov ecx, eax
jmp 0x456f84
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 0x456f84
mov edx, 1
jmp 0x456ef3
xor edx, edx
mov dword [ebp - 0x130], 1
jmp 0x456efd
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 + 0x67f8a4]
movsx eax, byte [eax + 0x67f898]
mov dword [ebp - 0x130], eax
test eax, eax
mov dword [ebp - 0x124], edx
mov eax, ecx
jne 0x456f84
mov dword [ebp - 0x130], accept
cmp dword [ebp - 0x12c], 0
movzx ebx, byte [eax]
je 0x45743c
mov dword [ebp - 0x164], eax
cmp ebx, 0xc0
jb 0x457439
movzx edx, byte [eax + 1]
and edx, 0x3f
test bl, 0x20
jne 0x456fd2
and ebx, 0x1f
mov dword [ebp - 0x134], 2
shl ebx, 6
or edx, ebx
add eax, 2
mov dword [ebp - 0x11c], eax
jmp 0x4570b1
movzx eax, byte [eax + 2]
and eax, 0x3f
test bl, 0x10
jne 0x457001
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 0x4570b1
mov ecx, dword [ebp - 0x11c]
test bl, 8
jne 0x457034
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 0x4570ab
test bl, 4
jne 0x45706d
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 0x4570ab
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 0x4570eb
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x680880]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x684240]
mov ecx, dword [eax*8 + 0x682a84]
add ecx, edx
cmp ecx, edx
je 0x4570eb
lea edx, [ebp - 0x10]
call fcn.00463160
jmp 0x4570ed
xor eax, eax
mov edx, dword [ebp - 0x124]
mov ebx, 1
mov dword [ebp - 0x128], eax
cmp edx, ebx
jl 0x45722a
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 0x45718c
mov edx, dword [ebp - 0x164]
mov ecx, esi
sub edi, 4
jb 0x457147
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45714c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457136
cmp edi, 0xfffffffc
je 0x457179
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x457186
cmp edi, 0xfffffffd
je 0x457179
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x457186
cmp edi, 0xfffffffe
je 0x457179
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x457186
cmp edi, 0xffffffff
je 0x457179
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x457186
mov edi, dword [ebp - 0x134]
add esi, edi
jmp 0x45720f
mov ecx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x128]
test edi, edi
jle 0x45e003
mov eax, ecx
sub eax, edi
cmp esi, eax
ja 0x45e003
lea edx, [ebp - 0x10]
mov ecx, esi
sub edi, 4
jb 0x4571c1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4571c6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4571b0
cmp edi, 0xfffffffc
je 0x457203
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45e003
cmp edi, 0xfffffffd
je 0x457203
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45e003
cmp edi, 0xfffffffe
je 0x457203
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45e003
cmp edi, 0xffffffff
je 0x457203
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45e003
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 0x457125
mov eax, dword [ebp - 0x130]
cmp edx, eax
je 0x452cda
cmp dword [ebp - 0x144], 0
jne 0x45e03b
mov ebx, esi
mov dword [ebp - 0x144], ebx
cmp edx, eax
jge 0x457384
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 0x4572d7
mov edx, dword [ebp - 0x164]
mov ecx, esi
sub edi, 4
jb 0x457292
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x457297
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457281
cmp edi, 0xfffffffc
je 0x4572c4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4572d1
cmp edi, 0xfffffffd
je 0x4572c4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4572d1
cmp edi, 0xfffffffe
je 0x4572c4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4572d1
cmp edi, 0xffffffff
je 0x4572c4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4572d1
mov edi, dword [ebp - 0x134]
add esi, edi
jmp 0x45735f
mov eax, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x128]
test edi, edi
jle 0x457401
sub eax, edi
cmp esi, eax
ja 0x457401
lea edx, [ebp - 0x10]
mov ecx, esi
sub edi, 4
jb 0x457311
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x457316
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457300
cmp edi, 0xfffffffc
je 0x457353
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x457401
cmp edi, 0xfffffffd
je 0x457353
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x457401
cmp edi, 0xfffffffe
je 0x457353
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x457401
cmp edi, 0xffffffff
je 0x457353
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x457401
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 0x457270
mov ebx, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452cda
cmp esi, ebx
jbe 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x4573ea
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4573e0
mov ecx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x4573a0
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45754a
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45742e
cmp esi, dword [ecx + 0x78]
jb 0x45742e
cmp esi, dword [ecx + 0x84]
jbe 0x45742e
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45daff
mov ebx, dword [ebp - 0x144]
jmp 0x45738a
inc eax
jmp 0x45743f
lea eax, [ecx + 1]
mov dword [ebp - 0x11c], eax
mov ecx, 1
cmp edi, 0x2e
jb 0x45759e
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x3c]
movzx edi, byte [eax + ebx]
mov dword [ebp - 0x14c], edi
cmp edx, 1
jl 0x4574a0
mov edx, dword [ecx + 0x78]
mov ecx, 1
cmp esi, edx
jae 0x45e1d0
movzx eax, byte [esi]
cmp ebx, eax
je 0x45748a
cmp edi, eax
jne case.default.0x45503a
inc ecx
inc esi
cmp ecx, dword [ebp - 0x124]
jle 0x457473
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x130]
cmp edx, eax
je 0x452cda
cmp dword [ebp - 0x144], 0
jne 0x45e1e9
mov dword [ebp - 0x14c], esi
cmp edx, eax
jge 0x4574e5
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x457569
movzx eax, byte [esi]
cmp ebx, eax
je 0x4574db
cmp edi, eax
jne 0x4574e5
inc edx
inc esi
cmp edx, dword [ebp - 0x130]
jl 0x4574c8
mov ebx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452ce0
mov ebx, dword [ebp - 0x14c]
cmp esi, ebx
je 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
dec esi
test edi, edi
jne case.default.0x4535db
cmp esi, ebx
jne 0x457502
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 0x460d34
mov ecx, dword [ebp - 0x148]
jmp 0x452c90
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x4574eb
cmp esi, dword [ebx + 0x84]
jbe 0x4574eb
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp 0x4574eb
cmp edx, 1
jl 0x4575d3
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45e29b
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.default.0x45503a
inc ecx
cmp ecx, dword [ebp - 0x124]
jle 0x4575b0
mov edx, dword [ebp - 0x124]
mov edi, dword [ebp - 0x130]
cmp edx, edi
je 0x452cda
cmp dword [ebp - 0x144], 0
jne 0x45e2c4
mov dword [ebp - 0x14c], esi
cmp edx, edi
jge 0x457612
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x457674
movzx eax, byte [esi]
cmp ebx, eax
jne 0x457612
inc edx
inc esi
cmp edx, edi
jl 0x457601
mov ebx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452ce0
mov ebx, dword [ebp - 0x14c]
cmp esi, ebx
je 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
dec esi
test edi, edi
jne case.default.0x4535db
cmp esi, ebx
jne 0x457633
jmp 0x45753e
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x457618
cmp esi, dword [ebx + 0x84]
jbe 0x457618
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp 0x457618
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
mov eax, dword [ebp - 0x11c]
test edx, edx
je 0x457930
movzx edx, byte [eax + 1]
lea ebx, [eax + 2]
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x11c], ebx
cmp edx, 0xc0
jb 0x4577af
test dl, 0x20
jne 0x4576f6
movzx eax, byte [ebx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc ebx
mov dword [ebp - 0x158], edx
jmp 0x4577a9
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45771d
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add ebx, 2
jmp 0x4577a3
test dl, 8
jne 0x457740
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 0x4577a3
test dl, 4
jne 0x45776f
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 0x4577a3
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 0x4578c0
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4577db
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x4578bb
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4577fc
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x4578bb
lea edx, [esi + 2]
test bl, 8
jne 0x457825
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 0x4578bb
lea edi, [esi + 3]
test bl, 4
jne 0x457856
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 0x4578b5
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 0x4578d0
cmp dword [ebp - 0x158], ebx
jmp 0x452cd4
mov edx, dword [ebp - 0x158]
cmp edx, 0x7f
jbe 0x457914
mov eax, edx
test eax, eax
jns 0x4578e4
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x680880]
mov eax, edx
shl ecx, 7
and eax, reloc.WLDAP32.dll_Ordinal_127
jns 0x4578ff
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x684240]
mov eax, dword [eax*8 + 0x682a84]
add eax, edx
jmp 0x457921
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
cmp edx, ebx
je case.default.0x45503a
cmp eax, ebx
jmp 0x452cd4
movzx edx, byte [esi]
inc esi
movzx ecx, byte [eax + 1]
cmp ecx, edx
je case.default.0x45503a
cmp edi, 0x20
jne 0x457954
mov eax, dword [ebx + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.default.0x45503a
mov edi, dword [ebp - 0x11c]
add edi, 2
mov dword [ebp - 0x11c], edi
jmp 0x452ce6
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 0x457ac2
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 0x4579c4
mov dword [ebp - 0x144], edi
cmp cl, 0x4f
jne 0x4579ce
mov dword [ebp - 0x144], 1
add ebx, 3
mov ecx, ebx
jmp 0x457ac2
mov ebx, dword [ebp - 0x11c]
xor edi, edi
inc ebx
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
mov ecx, ebx
jmp 0x457ab8
mov ebx, dword [ebp - 0x11c]
mov edi, 1
inc ebx
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
mov ecx, ebx
jmp 0x457ab8
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 0x457ac2
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 0x457ac2
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 + 0x67f8a4]
movsx eax, byte [eax + 0x67f898]
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x457ac2
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 0x457bd7
cmp ebx, 0xc0
jb 0x457bd7
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x457b07
and ebx, 0x1f
shl ebx, 6
or ebx, eax
inc ecx
jmp 0x457bc3
test bl, 0x10
jne 0x457b28
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 0x457bc3
test bl, 8
jne 0x457b52
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 0x457bc3
test bl, 4
jne 0x457b88
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 0x457bc3
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 0x4580eb
test eax, eax
je 0x457c1c
cmp edx, 0x7f
jbe 0x457c1c
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x680880]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x684240]
mov ecx, dword [ebp - 0x118]
mov edi, dword [eax*8 + 0x682a84]
add edi, edx
jmp 0x457c29
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 0x457dbf
mov ecx, dword [ebp - 0x134]
cmp eax, edx
jl 0x457df4
nop dword [eax + eax]
mov ebx, dword [ebp - 0x118]
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x124], ebx
cmp ebx, 0xc0
jb 0x457d98
test bl, 0x20
jne 0x457ca2
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 0x457d8c
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x457cc8
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x457d87
lea edx, [esi + 2]
test bl, 8
jne 0x457cf1
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 0x457d81
lea edi, [esi + 3]
test bl, 4
jne 0x457d22
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 0x457d81
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.0x45503a
mov edi, dword [ebp - 0x13c]
cmp edi, ebx
je case.default.0x45503a
inc edx
mov dword [ebp - 0x128], edx
cmp edx, eax
jle 0x457c60
jmp 0x457df4
cmp eax, 1
jl 0x457dee
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x45e1d0
movzx eax, byte [esi]
cmp ebx, eax
je case.default.0x45503a
cmp edi, eax
je case.default.0x45503a
mov eax, dword [ebp - 0x130]
inc edx
inc esi
cmp edx, eax
jle 0x457dc7
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x120]
cmp eax, edx
je 0x452cda
cmp dword [ebp - 0x144], 0
jne 0x45e373
cmp dword [ebp - 0x12c], 0
mov ebx, esi
je 0x458016
cmp eax, edx
jge 0x457f61
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x457fe1
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x457f3a
test dl, 0x20
jne 0x457e6a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x457f3a
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x457e94
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 0x457f34
test dl, 8
jne 0x457ec0
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 0x457f34
test dl, 4
jne 0x457ef8
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 0x457f34
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 0x457f61
cmp dword [ebp - 0x13c], edx
je 0x457f61
add esi, eax
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x120]
jl 0x457e30
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452cda
cmp esi, ebx
jbe 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x457fca
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x457fc0
mov edx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x457f80
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45754a
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x457f67
cmp esi, dword [edx + 0x84]
jbe 0x457f67
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp 0x457f67
cmp eax, edx
jge 0x458059
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x134]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4580be
movzx eax, byte [esi]
cmp edx, eax
je 0x458059
cmp edi, eax
je 0x458059
mov eax, dword [ebp - 0x130]
inc esi
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x120]
jl 0x458030
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452cda
cmp esi, ebx
je 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ecx, dword [ebp - 0x118]
dec esi
cmp esi, ebx
jne 0x458074
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45754a
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45805f
cmp esi, dword [ecx + 0x84]
jbe 0x45805f
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp 0x45805f
mov edx, 1
mov dword [ebp - 0x13c], edx
test eax, eax
je 0x458278
cmp edi, edx
jl 0x4582a5
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x45825f
test bl, 0x20
jne 0x45814e
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 0x458253
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x458179
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 0x45824d
lea edx, [esi + 2]
test bl, 8
jne 0x4581ad
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 0x458247
lea edi, [esi + 3]
test bl, 4
jne 0x4581ef
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 0x458247
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.0x45503a
inc edx
mov dword [ebp - 0x13c], edx
cmp edx, edi
jle 0x458112
jmp 0x45829f
cmp edi, 1
jl 0x4582a5
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x45e1d0
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.default.0x45503a
inc edx
cmp edx, edi
jle 0x458286
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
cmp edi, eax
je 0x452cda
cmp dword [ebp - 0x144], 0
jne 0x45e5f7
mov edx, dword [ebp - 0x12c]
mov ebx, esi
test edx, edx
je 0x4584c6
cmp edi, eax
jge 0x458410
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x134]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x458491
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x4583f1
test dl, 0x20
jne 0x458321
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4583f1
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45834b
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 0x4583eb
test dl, 8
jne 0x458377
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 0x4583eb
test dl, 4
jne 0x4583af
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 0x4583eb
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 0x458410
add esi, eax
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x120]
jl 0x4582e7
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452cda
cmp esi, ebx
jbe 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x45847a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x458470
mov edx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x458430
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45754a
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x458416
cmp esi, dword [edx + 0x84]
jbe 0x458416
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp 0x458416
cmp edi, eax
jge 0x458559
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x134]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x45851f
movzx eax, byte [esi]
cmp edx, eax
je 0x4584f5
inc edi
inc esi
cmp edi, dword [ebp - 0x120]
jl 0x4584e0
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x12c]
cmp dword [ebp - 0x158], 0
je 0x45d272
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
jmp 0x452cec
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4584fb
cmp esi, dword [ecx + 0x84]
jbe 0x4584fb
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x4584fb
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x118]
jmp 0x458501
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 0x4586af
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 0x4586af
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 0
mov ecx, edi
jmp 0x4586a5
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 1
mov ecx, edi
jmp 0x4586a5
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 0x4586af
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 0x4586af
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 + 0x67f8a4]
movsx eax, byte [eax + 0x67f898]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x130], eax
test eax, eax
jne 0x4586af
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 0x4586d0
cmp edx, 0xf
je 0x4586d0
or eax, 0xffffffff
jmp 0x4586f6
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 0x458989
test eax, eax
js 0x4597d4
cmp eax, 0xa
ja case.default.0x45578c
jmp dword [eax*4 + 0x46115c]
cmp dword [ebp - 0x160], 0
jne case.default.0x45503a
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45aaf4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
nop dword [eax + eax]
cmp esi, edx
jae 0x45e29b
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
je 0x458791
cmp eax, 0xc0
jb 0x458791
test al, 0x20
jne 0x458773
inc esi
jmp 0x458791
test al, 0x10
jne 0x45877c
add esi, 2
jmp 0x458791
test al, 8
jne 0x458785
add esi, 3
jmp 0x458791
test al, 4
jne 0x45878e
add esi, 4
jmp 0x458791
add esi, 5
inc ecx
cmp ecx, ebx
jle 0x458750
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov edi, dword [ebp - 0x120]
mov ecx, 1
mov dword [ebp - 0x13c], ecx
cmp edi, ecx
jl 0x45aaf4
nop dword [eax]
nop word [eax + eax]
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dad5
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x458926
cmp edx, 0xc0
jb 0x458926
mov al, byte [esi]
test dl, 0x20
jne 0x45881f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x458926
lea ecx, [esi + 1]
test dl, 0x10
jne 0x458845
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 0x45891b
test dl, 8
jne 0x45887a
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 0x45891b
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x4588ba
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 0x458915
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp eax, 9
je 0x45895d
cmp eax, 5
je 0x45895d
cmp eax, 8
je 0x45895d
xor eax, eax
jmp 0x458962
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45503a
inc ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
jle 0x4587d0
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x134]
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x130]
cmp ecx, edi
je 0x452ce0
cmp dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x150]
jne 0x45e85b
mov ebx, esi
mov dword [ebp - 0x124], ebx
test eax, eax
js 0x45b9ea
cmp eax, 0xa
ja case.default.0x45578c
jmp dword [eax*4 + 0x461188]
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x458989
nop
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x458b2e
cmp edx, 0xc0
jb 0x458b2e
mov al, byte [esi]
test dl, 0x20
jne 0x458a2f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x458b2e
lea ecx, [esi + 1]
test dl, 0x10
jne 0x458a53
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 0x458b29
test dl, 8
jne 0x458a88
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 0x458b29
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x458ac8
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 0x458b23
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 + 0x680880]
shl eax, 7
add eax, ebx
mov ebx, dword [ebp - 0x154]
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp dword [eax*4 + 0x67fdc0], ebx
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x4589e0
jmp 0x458983
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x458989
nop dword [eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x13c], edx
je 0x458cec
cmp edx, 0xc0
jb 0x458cec
mov al, byte [esi]
movzx eax, al
test dl, 0x20
jne 0x458bea
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x458ce7
and eax, 0x3f
lea ecx, [esi + 1]
test dl, 0x10
jne 0x458c0d
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x458ce7
test dl, 8
jne 0x458c3c
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 0x458ce7
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x458c76
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 0x458ce1
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x458ba0
jmp 0x458983
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x458989
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x458ea8
cmp edx, 0xc0
jb 0x458ea8
mov al, byte [esi]
test dl, 0x20
jne 0x458daf
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x458ea8
lea ecx, [esi + 1]
test dl, 0x10
jne 0x458dd3
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 0x458ea3
test dl, 8
jne 0x458e08
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 0x458ea3
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x458e48
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 0x458e9d
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a80]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x458d60
jmp 0x458983
mov edi, dword [ebp - 0x120]
mov ecx, 1
mov dword [ebp - 0x13c], ecx
cmp edi, ecx
jl 0x45aaf4
nop word [eax + eax]
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dad5
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45908a
cmp edx, 0xc0
jb 0x45908a
mov al, byte [esi]
test dl, 0x20
jne 0x458f6f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45908a
lea ecx, [esi + 1]
test dl, 0x10
jne 0x458f93
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 0x45907f
test dl, 8
jne 0x458fc8
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 0x45907f
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x459008
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 0x459079
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x4590c3
cmp eax, 3
je 0x4590c3
xor eax, eax
jmp 0x4590c8
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45503a
inc ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
jle 0x458f20
jmp 0x45897d
mov edi, 1
cmp ecx, edi
jl 0x458989
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
nop
cmp esi, ebx
jae 0x45dacf
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ecx, edx
je 0x4591ed
cmp edx, 0xc0
jb 0x4591ed
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x459144
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x4591eb
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x459165
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4591eb
test dl, 8
jne 0x459188
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 0x4591eb
test dl, 4
jne 0x4591b7
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 0x4591eb
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 0x459207
je case.0x4592b1.8193
add edx, 0xfffffff7
cmp edx, 4
ja case.0x4592b1.8203
jmp dword [edx*4 + 0x4611b4]
cmp edx, 0x2000
ja 0x459295
je case.0x4592b1.8193
cmp edx, 0x1680
ja 0x45928d
je case.0x4592b1.8193
sub edx, 0x85
je case.0x4592b1.8193
sub edx, 0x1b
je case.0x4592b1.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x680880]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp dword [eax*4 + 0x67fdc0], 6
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edi
cmp edi, ecx
jle 0x459100
jmp 0x458983
cmp edx, 0x180e
jmp 0x459236
cmp edx, 0x3000
ja case.0x4592b1.8203
je case.0x4592b1.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4592b1.8203
movzx eax, byte [edx + 0x4611d0]
jmp dword [eax*4 + 0x4611c8]
cmp dword [ebp - 0x160], 0
jne case.default.0x45503a
jmp 0x459279
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x458989
nop word [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x13c], edx
je 0x45942c
cmp edx, 0xc0
jb 0x45942c
mov al, byte [esi]
movzx eax, al
test dl, 0x20
jne 0x45932a
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x459427
and eax, 0x3f
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45934d
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x459427
test dl, 8
jne 0x45937c
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 0x459427
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x4593b6
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 0x459421
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 + 0x680880]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x45946c
cmp eax, 3
je 0x45946c
cmp ebx, 0x5f
je 0x45946c
xor eax, eax
jmp 0x459471
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x4592e0
jmp 0x458983
mov ebx, 1
cmp ecx, ebx
jl 0x458989
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edi, ecx
je 0x4595b8
cmp ecx, 0xc0
jb 0x4595b8
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x4594f7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x4595b6
test cl, 0x10
jne 0x459518
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 0x4595b6
test cl, 8
jne 0x459545
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 0x4595b6
test cl, 4
jne 0x45957b
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 0x4595b6
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 + 0x684100]
lea eax, [eax*4 + 0x684100]
cmp edi, edx
jb 0x4595dd
lea eax, [eax + 4]
cmp ecx, edx
je 0x4595fe
mov edx, dword [eax]
cmp ecx, edx
jae 0x4595d0
cmp dword [ebp - 0x160], 0
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc ebx
cmp ebx, ecx
jle 0x4594b0
jmp 0x458983
cmp dword [ebp - 0x160], 0
jne case.default.0x45503a
jmp 0x4595ea
mov edi, dword [ebp - 0x120]
mov ecx, 1
mov dword [ebp - 0x13c], ecx
cmp edi, ecx
jl 0x45aaf4
nop word [eax + eax]
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dad5
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x459784
cmp edx, 0xc0
jb 0x459784
test dl, 0x20
jne 0x45967d
movzx ebx, byte [esi]
and edx, 0x1f
and ebx, 0x3f
shl edx, 6
or ebx, edx
inc esi
jmp 0x459784
mov al, byte [esi]
lea ecx, [esi + 1]
test dl, 0x10
jne 0x4596a3
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 0x459779
test dl, 8
jne 0x4596d8
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 0x459779
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x459718
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 0x459773
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 0x4597af
cmp ebx, 0x40
je 0x4597af
cmp ebx, 0x60
je 0x4597af
cmp ebx, 0xa0
jb 0x4597a3
cmp ebx, 0xd7ff
jbe 0x4597af
cmp ebx, 0xe000
jae 0x4597af
xor eax, eax
jmp 0x4597b4
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45503a
inc ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
jle 0x459630
jmp 0x45897d
cmp edx, 0x16
jne 0x459b1c
mov ebx, dword [ebp - 0x118]
mov dword [ebp - 0x14c], 1
cmp ecx, 1
jl 0x45898f
nop word [eax + eax]
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x164], eax
cmp esi, eax
jae 0x45d90a
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 0x45995c
mov dword [ebp - 0x128], esi
cmp edx, 0xc0
jb 0x45995c
mov al, byte [esi]
test dl, 0x20
jne 0x45985d
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x459956
lea ecx, [esi + 1]
test dl, 0x10
jne 0x459881
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 0x459951
test dl, 8
jne 0x4598b6
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 0x459951
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x4598f6
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 0x459951
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx ebx, byte [eax*8 + 0x682a82]
cmp dword [ebp - 0x128], ecx
jae 0x459ac6
nop dword [eax]
nop word [eax + eax]
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x459a77
cmp edx, 0xc0
jb 0x459a77
test dl, 0x20
jne 0x4599d7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x459a6f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4599f9
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x459a6f
and eax, 0x3f
test dl, 8
jne 0x459a19
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x459a6f
test dl, 4
jne 0x459a42
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 0x459a6f
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 + 0x680880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x684240]
movzx ecx, byte [eax*8 + 0x682a82]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x6803e0], eax
je 0x459ac0
mov ebx, ecx
add esi, edi
mov ecx, dword [ebp - 0x164]
cmp esi, ecx
jb 0x4599a0
jmp 0x459ac6
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x459af2
cmp esi, ecx
jb 0x459af2
cmp esi, dword [ebx + 0x84]
jbe 0x459af2
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45daff
mov ecx, dword [ebp - 0x14c]
inc ecx
mov dword [ebp - 0x14c], ecx
cmp ecx, dword [ebp - 0x120]
jle 0x459800
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x134]
jmp 0x45898f
cmp dword [ebp - 0x12c], 0
lea eax, [edx - 6]
je 0x45a68b
cmp eax, 0xf
ja case.default.0x45578c
jmp dword [eax*4 + 0x461230]
mov ebx, 1
cmp ecx, ebx
jl 0x458989
nop dword [eax]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x45e1d6
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x459b8d
push dword [ebp - 0x12c]
lea edi, [ecx + 0x1c]
mov ecx, esi
push edi
push eax
call fcn.004631b0
add esp, 0xc
test eax, eax
jne case.default.0x45503a
mov edx, dword [ebp - 0x118]
jmp 0x459bb7
mov edx, ecx
mov ecx, dword [edx + 0x1c]
sub eax, ecx
lea edi, [edx + 0x1c]
cmp esi, eax
ja 0x459bb7
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x459bb7
cmp ecx, 1
je case.default.0x45503a
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.default.0x45503a
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x459beb
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x459beb
cmp dword [edx + 0x18], 0
jne 0x459beb
cmp dword [edi], 2
jne 0x459beb
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x459beb
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45daff
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x459c06
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x459c06
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x459bf5
mov ecx, dword [ebp - 0x120]
inc ebx
cmp ebx, ecx
jle 0x459b50
jmp 0x458983
mov edi, 1
cmp ecx, edi
jl 0x458989
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x45dad5
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x459c59
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x459c53
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x459c42
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x118]
inc edi
cmp edi, ecx
jle 0x459c30
jmp 0x458983
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x78]
sub eax, ecx
cmp esi, eax
ja case.default.0x45503a
add esi, ecx
jmp 0x45898f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
mov eax, esi
cmp ecx, 0xc0
jb 0x459d94
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x459cd3
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x459d92
test cl, 0x10
jne 0x459cf4
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 0x459d92
test cl, 8
jne 0x459d21
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 0x459d92
test cl, 4
jne 0x459d57
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 0x459d92
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 0x459dbf
je case.0x459daa.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45503a
jmp dword [ecx*4 + 0x461270]
cmp eax, edi
jae case.0x459daa.10
cmp byte [esi], 0xa
jne case.0x459daa.10
lea esi, [eax + 1]
jmp case.0x459daa.10
sub ecx, 0x2028
je case.0x459daa.11
sub ecx, 1
jne case.default.0x45503a
cmp dword [ebx + 0x68], 0
jne case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x459ca0
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov edi, 1
cmp ecx, edi
jl 0x458989
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, ebx
jae 0x45dacf
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x459ef4
test dl, 0x20
jne 0x459e41
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x459ef4
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x459e68
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x459eee
test dl, 8
jne 0x459e8b
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 0x459eee
test dl, 4
jne 0x459eba
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 0x459eee
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 0x459f4a
je case.default.0x45503a
cmp edx, 0xa0
ja 0x459f30
je case.default.0x45503a
cmp edx, 9
je case.default.0x45503a
cmp edx, 0x20
je case.default.0x45503a
inc edi
cmp edi, ecx
jle 0x459e10
jmp 0x458983
cmp edx, 0x1680
je case.default.0x45503a
cmp edx, 0x180e
je case.default.0x45503a
jmp case.0x459f6a.8203
cmp edx, 0x3000
ja case.0x459f6a.8203
je case.default.0x45503a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x459f6a.8203
movzx eax, byte [edx + 0x461288]
jmp dword [eax*4 + 0x461280]
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x45a077
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x459fb8
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45a077
test cl, 0x10
jne 0x459fd9
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 0x45a077
test cl, 8
jne 0x45a006
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 0x45a077
test cl, 4
jne 0x45a03c
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 0x45a077
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 0x45a0c9
je case.0x45a0ed.8193
cmp ecx, 0xa0
ja 0x45a0b3
je case.0x45a0ed.8193
cmp ecx, 9
je case.0x45a0ed.8193
cmp ecx, 0x20
jne case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x459f87
mov edx, dword [ebp - 0x134]
jmp 0x45898f
cmp ecx, 0x1680
je case.0x45a0ed.8193
cmp ecx, 0x180e
jne case.default.0x45503a
jmp case.0x45a0ed.8193
cmp ecx, 0x3000
ja case.default.0x45503a
je case.0x45a0ed.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x45503a
movzx eax, byte [ecx + 0x4612f0]
jmp dword [eax*4 + 0x4612e8]
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x45a1fd
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45a141
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45a1fd
test cl, 0x10
jne 0x45a162
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 0x45a1fd
test cl, 8
jne 0x45a18c
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 0x45a1fd
test cl, 4
jne 0x45a1c2
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 0x45a1fd
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 0x45a21a
je case.default.0x45503a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45a213
jmp dword [ecx*4 + 0x461350]
sub ecx, 0x2028
je case.default.0x45503a
sub ecx, 1
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x45a110
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
nop
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x45a34d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45a291
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45a34d
test cl, 0x10
jne 0x45a2b2
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 0x45a34d
test cl, 8
jne 0x45a2dc
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 0x45a34d
test cl, 4
jne 0x45a312
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 0x45a34d
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 0x45a36a
je case.0x45a363.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45503a
jmp dword [ecx*4 + 0x461360]
sub ecx, 0x2028
je case.0x45a363.10
sub ecx, 1
jne case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x45a260
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov edi, 1
cmp ecx, edi
jl 0x458989
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, ebx
jae 0x45dacf
movzx edx, byte [esi]
inc esi
mov eax, edx
cmp edx, 0xc0
jb 0x45a494
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x45a3e5
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x45a48c
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x45a406
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x45a48c
test dl, 8
jne 0x45a429
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 0x45a48c
test dl, 4
jne 0x45a458
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 0x45a48c
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 0x45a4ae
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne case.default.0x45503a
inc edi
cmp edi, ecx
jle 0x45a3b0
jmp 0x458983
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.default.0x45503a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45a4d2
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov edi, 1
cmp ecx, edi
jl 0x458989
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x45dad5
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x45a543
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x45503a
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45a561
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45a561
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45a550
mov ecx, dword [ebp - 0x120]
inc edi
mov edx, dword [ebp - 0x118]
cmp edi, ecx
jle 0x45a523
jmp 0x458983
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.default.0x45503a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45a590
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov edi, 1
cmp ecx, edi
jl 0x458989
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x45dad5
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x45a601
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x45503a
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45a621
mov ecx, esi
nop dword [eax + eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45a621
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45a610
mov ecx, dword [ebp - 0x120]
inc edi
mov edx, dword [ebp - 0x118]
cmp edi, ecx
jle 0x45a5e1
jmp 0x458983
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.default.0x45503a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45a650
mov edx, dword [ebp - 0x134]
jmp 0x45898f
cmp eax, 0xf
ja case.default.0x45578c
jmp dword [eax*4 + 0x461370]
mov ebx, 1
cmp ecx, ebx
jl 0x458989
mov edx, dword [ebp - 0x118]
nop
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x45dad5
mov edx, dword [edx + 0x18]
test edx, edx
je 0x45a6e9
mov edi, dword [ebp - 0x118]
mov ecx, esi
push 0
add edi, 0x1c
push edi
push eax
call fcn.004631b0
add esp, 0xc
test eax, eax
jne case.default.0x45503a
mov edx, dword [ebp - 0x118]
jmp 0x45a717
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x45a717
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45a717
cmp ecx, 1
je case.default.0x45503a
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.default.0x45503a
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45a74b
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45a74b
cmp dword [edx + 0x18], 0
jne 0x45a74b
cmp dword [edi], 2
jne 0x45a74b
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45a74b
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45daff
mov ecx, dword [ebp - 0x120]
inc ebx
inc esi
cmp ebx, ecx
jle 0x45a6b0
jmp 0x458983
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x78]
sub eax, ecx
cmp esi, eax
ja 0x45d90a
add esi, ecx
jmp 0x45898f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45aaf4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45e29b
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.default.0x45503a
movzx eax, byte [eax + 0x4613c0]
jmp dword [eax*4 + 0x4613b0]
cmp esi, edx
jae case.0x45a7b7.10
cmp byte [esi], 0xa
jne case.0x45a7b7.10
inc esi
jmp case.0x45a7b7.10
cmp dword [edi + 0x68], 0
jne case.default.0x45503a
inc ecx
cmp ecx, ebx
jle 0x45a796
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45aaf4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45e29b
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.default.0x45503a
cmp eax, 0x20
je case.default.0x45503a
cmp eax, 0xa0
je case.default.0x45503a
inc ecx
cmp ecx, ebx
jle 0x45a808
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45aaf4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45e29b
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x45a886
cmp eax, 0x20
je 0x45a886
cmp eax, 0xa0
jne case.default.0x45503a
inc ecx
cmp ecx, ebx
jle 0x45a865
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45aaf4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x45e29b
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x45a8dd.14
movzx eax, byte [eax + 0x461444]
jmp dword [eax*4 + 0x46143c]
inc ecx
cmp ecx, ebx
jle 0x45a8c0
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45aaf4
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45e29b
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.default.0x45503a
movzx eax, byte [eax + 0x4614c8]
jmp dword [eax*4 + 0x4614c0]
inc ecx
cmp ecx, ebx
jle 0x45a918
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
jne case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45a970
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45a9b1
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45a9f2
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45aa37
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45aa80
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45a994
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45d90a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x45503a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45aac5
mov edx, dword [ebp - 0x134]
jmp 0x45898f
mov ecx, dword [ebp - 0x120]
jmp 0x458989
cmp ecx, edi
jge 0x45b493
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45ab88
cmp dword [ebp - 0x12c], 0
mov eax, 1
movzx ecx, byte [esi]
je 0x45ab63
cmp ecx, 0xc0
jb 0x45ab63
test cl, 0x20
jne 0x45ab3d
mov eax, 2
jmp 0x45ab63
test cl, 0x10
jne 0x45ab49
mov eax, 3
jmp 0x45ab63
test cl, 8
jne 0x45ab55
mov eax, 4
jmp 0x45ab63
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [ebp - 0x160], 0
jne 0x45b493
mov ecx, dword [ebp - 0x120]
add esi, eax
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, edi
jl 0x45ab10
jmp 0x45b493
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45b499
cmp esi, dword [ecx + 0x84]
jbe 0x45b499
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp 0x45b499
cmp ecx, edi
jge 0x45b493
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop
mov edx, 1
cmp esi, edi
jae 0x45ad26
cmp dword [ebp - 0x12c], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x45acbe
cmp eax, 0xc0
jb 0x45acbe
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45ac15
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45acbc
test al, 0x10
jne 0x45ac2f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45acb6
test al, 8
jne 0x45ac52
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 0x45acb6
test al, 4
jne 0x45ac81
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 0x45acb6
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 + 0x680880]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp eax, 9
je 0x45acf5
cmp eax, 5
je 0x45acf5
cmp eax, 8
je 0x45acf5
xor eax, eax
jmp 0x45acfa
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45b493
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45abd0
jmp 0x45b493
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45b499
cmp esi, dword [ecx + 0x84]
jbe 0x45b499
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x45daff
jmp 0x45b499
cmp ecx, edi
jge 0x45b493
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45ab88
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45ae56
cmp eax, 0xc0
jb 0x45ae56
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45adad
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45ae54
test al, 0x10
jne 0x45adc7
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45ae4e
test al, 8
jne 0x45adea
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 0x45ae4e
test al, 4
jne 0x45ae19
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 0x45ae4e
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 + 0x680880]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp dword [eax*4 + 0x67fdc0], ebx
mov ebx, dword [ebp - 0x124]
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45b493
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45ad68
jmp 0x45b493
cmp ecx, edi
jge 0x45b493
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x45ab88
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45afbe
cmp eax, 0xc0
jb 0x45afbe
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45af15
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45afbc
test al, 0x10
jne 0x45af2f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45afb6
test al, 8
jne 0x45af52
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 0x45afb6
test al, 4
jne 0x45af81
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 0x45afb6
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 + 0x680880]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45b493
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45aed0
jmp 0x45b493
cmp ecx, edi
jge 0x45b493
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45ab88
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45b11e
cmp eax, 0xc0
jb 0x45b11e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45b075
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45b11c
test al, 0x10
jne 0x45b08f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45b116
test al, 8
jne 0x45b0b2
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 0x45b116
test al, 4
jne 0x45b0e1
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 0x45b116
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 + 0x680880]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a80]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45b493
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b030
jmp 0x45b493
cmp ecx, edi
jge 0x45b493
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45ab88
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45b27e
cmp eax, 0xc0
jb 0x45b27e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45b1d5
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45b27c
test al, 0x10
jne 0x45b1ef
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45b276
test al, 8
jne 0x45b212
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 0x45b276
test al, 4
jne 0x45b241
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 0x45b276
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 + 0x680880]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x45b2b7
cmp eax, 3
je 0x45b2b7
xor eax, eax
jmp 0x45b2bc
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45b493
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b190
jmp 0x45b493
cmp ecx, edi
jge 0x45b493
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x45b55c
cmp dword [ebp - 0x12c], 0
movzx edx, byte [esi]
mov ecx, edx
je 0x45b3e6
cmp edx, 0xc0
jb 0x45b3e6
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45b34b
mov eax, edx
mov edi, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x45b3e2
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45b366
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45b3dc
and eax, 0x3f
test dl, 8
jne 0x45b386
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45b3dc
test dl, 4
jne 0x45b3af
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 0x45b3dc
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 0x45b400
je case.0x45b543.8193
add edx, 0xfffffff7
cmp edx, 4
ja case.0x45b543.8203
jmp dword [edx*4 + 0x461544]
cmp edx, 0x2000
ja 0x45b51f
je case.0x45b543.8193
cmp edx, 0x1680
ja 0x45b514
je case.0x45b543.8193
sub edx, 0x85
je case.0x45b543.8193
sub edx, 0x1b
je case.0x45b543.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x680880]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp dword [eax*4 + 0x67fdc0], 6
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45b48d
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b300
mov ebx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452cda
cmp esi, ebx
jbe 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
dec esi
cmp dword [ebp - 0x12c], eax
je 0x45b4fd
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45b4fd
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x45b4f3
mov ecx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x45b4b0
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45754a
cmp edx, 0x180e
jmp 0x45b433
cmp edx, 0x3000
ja case.0x45b543.8203
je case.0x45b543.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45b543.8203
movzx eax, byte [edx + 0x461560]
jmp dword [eax*4 + 0x461558]
cmp dword [ebp - 0x160], 0
jne 0x45b48d
jmp 0x45b472
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45b580
cmp esi, dword [ecx + 0x84]
jbe 0x45b580
mov dword [ecx + 0x64], edi
cmp eax, 1
jg 0x45daff
mov ebx, dword [ebp - 0x124]
jmp 0x45b499
cmp ecx, edi
jge 0x45b493
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x45b55c
cmp dword [ebp - 0x12c], 0
movzx eax, byte [esi]
mov edx, eax
je 0x45b68a
cmp eax, 0xc0
jb 0x45b68a
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x45b5e1
and eax, 0x1f
mov edi, 2
shl eax, 6
jmp 0x45b688
test al, 0x10
jne 0x45b5fb
and eax, 0xf
mov edi, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x45b682
test al, 8
jne 0x45b61e
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 0x45b682
test al, 4
jne 0x45b64d
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 0x45b682
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 + 0x680880]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x45b6ca
cmp eax, 3
je 0x45b6ca
cmp edx, 0x5f
je 0x45b6ca
xor eax, eax
jmp 0x45b6cf
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45b48d
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b5a0
jmp 0x45b48d
cmp ecx, edi
jge 0x45b493
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [ebp - 0x118]
mov ebx, 1
cmp esi, dword [ecx + 0x78]
jae 0x45b85e
cmp dword [ebp - 0x12c], 0
movzx edx, byte [esi]
mov edi, edx
je 0x45b7fd
cmp edx, 0xc0
jb 0x45b7fd
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45b762
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x45b7f9
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45b77d
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x45b7f3
and eax, 0x3f
test dl, 8
jne 0x45b79d
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45b7f3
test dl, 4
jne 0x45b7c6
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 0x45b7f3
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 + 0x684100]
lea eax, [eax*4 + 0x684100]
cmp edi, ecx
jb 0x45b822
lea eax, [eax + 4]
cmp edx, ecx
je 0x45b84f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x45b815
cmp dword [ebp - 0x160], 0
je 0x45b48d
mov eax, dword [ebp - 0x120]
add esi, ebx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b710
jmp 0x45b48d
cmp dword [ebp - 0x160], 0
jne 0x45b48d
jmp 0x45b82f
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45b580
cmp esi, dword [ecx + 0x84]
jbe 0x45b580
mov dword [ecx + 0x64], ebx
cmp eax, 1
jg 0x45daff
mov ebx, dword [ebp - 0x124]
jmp 0x45b499
cmp ecx, edi
jge 0x45b493
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
mov edx, 1
cmp esi, edi
jae 0x45ad26
cmp dword [ebp - 0x12c], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x45b98e
cmp eax, 0xc0
jb 0x45b98e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45b8e5
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45b98c
test al, 0x10
jne 0x45b8ff
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45b986
test al, 8
jne 0x45b922
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 0x45b986
test al, 4
jne 0x45b951
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 0x45b986
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 0x45b9b9
cmp ecx, 0x40
je 0x45b9b9
cmp ecx, 0x60
je 0x45b9b9
cmp ecx, 0xa0
jb 0x45b9ad
cmp ecx, 0xd7ff
jbe 0x45b9b9
cmp ecx, 0xe000
jae 0x45b9b9
xor eax, eax
jmp 0x45b9be
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45b493
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b8a0
jmp 0x45b493
cmp edx, 0x16
jne 0x45bd89
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge 0x45bd25
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x13c], eax
cmp esi, eax
jae 0x45bcfd
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x164], edx
je 0x45bb53
cmp edx, 0xc0
jb 0x45bb53
mov al, byte [esi]
test dl, 0x20
jne 0x45ba4d
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x45bb4e
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45ba71
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 0x45bb4e
movzx eax, al
and eax, 0x3f
test dl, 8
jne 0x45baa6
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 0x45bb4e
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45bae3
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 0x45bb4e
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx ebx, byte [eax*8 + 0x682a82]
cmp edi, ecx
jae 0x45bcb6
nop word [eax + eax]
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x45bc67
cmp edx, 0xc0
jb 0x45bc67
test dl, 0x20
jne 0x45bbc7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45bc5f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45bbe9
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45bc5f
and eax, 0x3f
test dl, 8
jne 0x45bc09
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45bc5f
test dl, 4
jne 0x45bc32
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 0x45bc5f
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 + 0x680880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x684240]
movzx ecx, byte [eax*8 + 0x682a82]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x6803e0], eax
je 0x45bcb0
mov ebx, ecx
add esi, edi
mov ecx, dword [ebp - 0x13c]
cmp esi, ecx
jb 0x45bb90
jmp 0x45bcb6
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45bce2
cmp esi, ecx
jb 0x45bce2
cmp esi, dword [edx + 0x84]
jbe 0x45bce2
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45ba01
jmp 0x45bd1f
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45bd1f
cmp esi, dword [edx + 0x84]
jbe 0x45bd1f
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
mov ebx, dword [ebp - 0x124]
cmp dword [ebp - 0x158], 0
jne 0x452cda
cmp esi, ebx
jbe 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ecx, dword [ebp - 0x12c]
dec esi
test ecx, ecx
jne 0x45d2ca
movzx edx, byte [esi]
jmp 0x45d38c
cmp dword [ebp - 0x12c], 0
lea eax, [edx - 6]
je 0x45cc14
cmp eax, 0xf
ja case.default.0x45578c
jmp dword [eax*4 + 0x4615c0]
cmp ecx, edi
jge 0x45c28b
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x45be8f
mov edx, dword [edx + 0x18]
test edx, edx
je 0x45bdf4
mov edi, dword [ebp - 0x118]
mov ecx, esi
push dword [ebp - 0x12c]
add edi, 0x1c
push edi
push eax
call fcn.004631b0
add esp, 0xc
test eax, eax
jne 0x45c28b
mov edx, dword [ebp - 0x118]
jmp 0x45be22
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x45be22
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45be22
cmp ecx, 1
je 0x45c28b
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x45c28b
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45be56
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45be56
cmp dword [edx + 0x18], 0
jne 0x45be56
cmp dword [edi], 2
jne 0x45be56
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45be56
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45daff
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45be71
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45be71
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45be60
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45bdb1
jmp 0x45c28b
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c28b
cmp esi, dword [edx + 0x84]
jbe 0x45c28b
jmp 0x45bf30
mov edx, dword [ebp - 0x118]
cmp edi, 0x7fffffff
jge 0x45bf13
cmp ecx, edi
jge 0x45c291
mov edi, dword [edx + 0x78]
mov eax, dword [ebp - 0x130]
nop dword [eax]
cmp esi, edi
jae 0x45bf16
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45befd
mov ecx, esi
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45bef1
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45bee0
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 0x45bed0
jmp 0x45c291
mov esi, dword [edx + 0x78]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c291
cmp esi, dword [edx + 0x84]
jbe 0x45c291
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp 0x45c291
mov edx, dword [ebp - 0x118]
sub edi, ecx
mov ecx, dword [edx + 0x78]
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x45bf70
mov eax, dword [edx + 0x88]
mov esi, ecx
test eax, eax
je 0x45c291
cmp ecx, dword [edx + 0x84]
jmp 0x45bf2a
add esi, edi
jmp 0x45c291
cmp ecx, edi
jge 0x45c28b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45c106
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x45c095
test dl, 0x20
jne 0x45bfc2
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45c095
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45bfec
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 0x45c08f
test dl, 8
jne 0x45c01b
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 0x45c08f
test dl, 4
jne 0x45c053
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 0x45c08f
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 0x45c0ab
inc esi
cmp esi, edi
jae 0x45c28b
cmp byte [esi], 0xa
jne 0x45c0ee
inc esi
jmp 0x45c0ee
cmp edx, 0xa
je 0x45c0ec
mov ebx, dword [ebp - 0x118]
cmp dword [ebx + 0x68], 0
mov ebx, dword [ebp - 0x124]
jne 0x45c28b
cmp edx, 0xb
je 0x45c0ec
cmp edx, 0xc
je 0x45c0ec
cmp edx, 0x85
je 0x45c0ec
cmp edx, 0x2028
je 0x45c0ec
cmp edx, 0x2029
jne 0x45c28b
add esi, eax
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, dword [ebp - 0x130]
jl 0x45bf88
jmp 0x45c28b
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c291
cmp esi, dword [edx + 0x84]
jbe 0x45c291
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp 0x45c291
cmp ecx, edi
jge 0x45c28b
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x45c36a
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x45c222
test dl, 0x20
jne 0x45c182
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45c21a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45c1a4
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45c21a
and eax, 0x3f
test dl, 8
jne 0x45c1c4
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c21a
test dl, 4
jne 0x45c1ed
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 0x45c21a
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 0x45c335
je case.0x45c359.8193
cmp edx, 0xa0
ja 0x45c322
je case.0x45c359.8193
cmp edx, 9
je case.0x45c359.8193
cmp edx, 0x20
je case.0x45c359.8193
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x134], 0x12
sete al
cmp ecx, eax
je 0x45c285
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c150
mov ebx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452cda
cmp esi, ebx
jbe 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
jne 0x45c2f0
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
je 0x45c2e4
cmp dword [ebp - 0x134], 0x11
jne 0x45c30b
cmp ecx, ebx
jbe 0x45c30b
cmp byte [esi], 0xa
jne 0x45c30b
cmp byte [esi - 1], 0xd
jne 0x45c30b
lea esi, [ecx - 1]
mov edx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x45c2a6
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45754a
cmp edx, 0x1680
je case.0x45c359.8193
cmp edx, 0x180e
jmp 0x45c252
cmp edx, 0x3000
ja case.0x45c359.8203
je case.0x45c359.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45c359.8203
movzx eax, byte [edx + 0x461608]
jmp dword [eax*4 + 0x461600]
mov ecx, 1
jmp 0x45c25a
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c38e
cmp esi, dword [edx + 0x84]
jbe 0x45c38e
mov dword [edx + 0x64], edi
cmp eax, 1
jg 0x45daff
mov ebx, dword [ebp - 0x124]
jmp 0x45c291
cmp ecx, edi
jge 0x45c28b
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, ebx
jae 0x45c4e5
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x45c482
test dl, 0x20
jne 0x45c3e2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45c47a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45c404
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45c47a
and eax, 0x3f
test dl, 8
jne 0x45c424
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c47a
test dl, 4
jne 0x45c44d
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 0x45c47a
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 0x45c49b
je case.0x45c494.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x45c494
jmp dword [edx*4 + 0x461668]
sub edx, 0x2028
je case.0x45c494.10
sub edx, 1
je case.0x45c494.10
xor ecx, ecx
jmp 0x45c4b1
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x134], 0x14
sete al
cmp ecx, eax
je 0x45c285
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c3b0
jmp 0x45c285
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45c38e
cmp esi, dword [edx + 0x84]
jbe 0x45c38e
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
mov ebx, dword [ebp - 0x124]
jmp 0x45c291
cmp ecx, edi
jge 0x45c28b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45c106
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45c609
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45c56d
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45c605
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45c588
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c5ff
and eax, 0x3f
test dl, 8
jne 0x45c5a8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c5ff
test dl, 4
jne 0x45c5d1
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 0x45c5ff
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 0x45c623
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne 0x45c28b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c531
jmp 0x45c28b
cmp ecx, edi
jge 0x45c28b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45c106
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45c72c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45c690
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45c728
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45c6ab
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c722
and eax, 0x3f
test dl, 8
jne 0x45c6cb
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c722
test dl, 4
jne 0x45c6f4
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 0x45c722
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 0x45c28b
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je 0x45c28b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c654
jmp 0x45c28b
cmp ecx, edi
jge 0x45c28b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x45c106
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45c858
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45c7bc
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45c854
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45c7d7
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c84e
and eax, 0x3f
test dl, 8
jne 0x45c7f7
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c84e
test dl, 4
jne 0x45c820
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 0x45c84e
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 0x45c872
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne 0x45c28b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c780
jmp 0x45c28b
cmp ecx, edi
jge 0x45c28b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45c106
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45c97b
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45c8df
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45c977
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45c8fa
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c971
and eax, 0x3f
test dl, 8
jne 0x45c91a
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c971
test dl, 4
jne 0x45c943
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 0x45c971
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 0x45c28b
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je 0x45c28b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c8a3
jmp 0x45c28b
cmp ecx, edi
jge 0x45c28b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45c106
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45caa8
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45ca0c
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45caa4
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45ca27
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45ca9e
and eax, 0x3f
test dl, 8
jne 0x45ca47
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45ca9e
test dl, 4
jne 0x45ca70
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 0x45ca9e
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 0x45cac2
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne 0x45c28b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c9d0
jmp 0x45c28b
cmp ecx, edi
jge 0x45c28b
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45cc09
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45cbcb
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45cb2f
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45cbc7
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45cb4a
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45cbc1
and eax, 0x3f
test dl, 8
jne 0x45cb6a
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45cbc1
test dl, 4
jne 0x45cb93
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 0x45cbc1
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 0x45c28b
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x45c28b
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45caf3
jmp 0x45c28b
mov edx, dword [ebp - 0x118]
jmp 0x45bf16
cmp eax, 0xf
ja case.default.0x45578c
jmp dword [eax*4 + 0x461678]
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45ceec.10
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x45cd63
mov edx, dword [edx + 0x18]
test edx, edx
je 0x45cc6b
mov edi, dword [ebp - 0x118]
mov ecx, esi
push 0
add edi, 0x1c
push edi
push eax
call fcn.004631b0
add esp, 0xc
test eax, eax
jne 0x45ccdf
mov edx, dword [ebp - 0x118]
jmp 0x45cc91
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x45cc91
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45cc91
cmp ecx, 1
je 0x45ccdf
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x45ccdf
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45ccc5
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45ccc5
cmp dword [edx + 0x18], 0
jne 0x45ccc5
cmp dword [edi], 2
jne 0x45ccc5
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45ccc5
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45daff
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45cc32
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x452cda
cmp esi, ebx
je 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
dec esi
cmp dword [ebp - 0x134], 0x11
jne 0x45cd4c
cmp esi, ebx
jbe 0x45cd4e
cmp byte [esi], 0xa
jne 0x45cd4c
cmp byte [esi - 1], 0xd
jne 0x45cd4c
dec esi
cmp esi, ebx
mov edx, dword [ebp - 0x118]
jne 0x45cd00
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45754a
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45ccdf
cmp esi, dword [edx + 0x84]
jbe 0x45ccdf
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp 0x45ccdf
mov edx, dword [ebp - 0x118]
sub edi, ecx
mov ecx, dword [edx + 0x78]
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x45cdc0
mov eax, dword [edx + 0x88]
mov esi, ecx
test eax, eax
je case.0x45ceec.10
cmp ecx, dword [edx + 0x84]
jmp 0x45cfbd
add esi, edi
jmp case.0x45ceec.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45ceec.10
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x45cfa9
mov al, byte [esi]
cmp al, 0xd
jne 0x45cdf6
inc esi
cmp esi, ecx
jae case.0x45ceec.10
cmp byte [esi], 0xa
jne 0x45ce15
jmp 0x45ce14
cmp al, 0xa
je 0x45ce14
cmp dword [edx + 0x68], 0
jne case.0x45ceec.10
cmp al, 0xb
je 0x45ce14
cmp al, 0xc
je 0x45ce14
cmp al, 0x85
jne case.0x45ceec.10
inc esi
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45cdd8
jmp case.0x45ceec.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45ceec.10
mov ecx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x45cfa9
mov al, byte [esi]
cmp al, 9
je case.0x45ceec.10
cmp al, 0x20
je case.0x45ceec.10
cmp al, 0xa0
je case.0x45ceec.10
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45ce40
jmp case.0x45ceec.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45ceec.10
mov ecx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, ecx
jae 0x45cfa9
mov al, byte [esi]
cmp al, 9
je 0x45ceaa
cmp al, 0x20
je 0x45ceaa
cmp al, 0xa0
jne case.0x45ceec.10
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45ce90
jmp case.0x45ceec.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45ceec.10
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x45cfa9
movzx eax, byte [esi]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x45ceec.14
movzx eax, byte [eax + 0x4616c0]
jmp dword [eax*4 + 0x4616b8]
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45ced2
jmp case.0x45ceec.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45ceec.10
mov ecx, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, ecx
jae 0x45cfa9
movzx eax, byte [esi]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x45ceec.10
movzx eax, byte [eax + 0x461744]
jmp dword [eax*4 + 0x46173c]
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45cf20
jmp case.0x45ceec.10
cmp ecx, edi
jge 0x45ccdf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45cfa3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne 0x45ccdf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45cf70
mov edx, eax
jmp case.0x45ceec.10
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je case.0x45ceec.10
cmp esi, dword [edx + 0x84]
jbe case.0x45ceec.10
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45daff
jmp case.0x45ceec.10
cmp ecx, edi
jge 0x45ccdf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45cfa3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je 0x45ccdf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45cff0
mov edx, eax
jmp case.0x45ceec.10
cmp ecx, edi
jge 0x45ccdf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45cfa3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne 0x45ccdf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d034
mov edx, eax
jmp case.0x45ceec.10
cmp ecx, edi
jge 0x45ccdf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45cfa3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je 0x45ccdf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d080
mov edx, eax
jmp case.0x45ceec.10
cmp ecx, edi
jge 0x45ccdf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45cfa3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne 0x45ccdf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d0c8
mov edx, eax
jmp case.0x45ceec.10
cmp ecx, edi
jge 0x45ccdf
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45cfa3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x45ccdf
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45d110
mov edx, eax
jmp case.0x45ceec.10
mov eax, dword [ebp + 0x18]
inc eax
cmp byte [edi], 0x7a
push eax
push dword [ebp - 0x148]
jne 0x45d189
push dword [ebp - 0x118]
push ecx
push edx
lea edx, [edi + 3]
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ebx, dword [ebp - 0x128]
mov edi, ebx
mov dword [ebp - 0x11c], edi
jmp 0x457544
mov ebx, dword [ebp - 0x118]
push ebx
push ecx
push edx
mov edx, dword [ebp - 0x128]
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov edi, dword [ebp - 0x11c]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x45754a
cmp al, 0x7a
mov eax, dword [ebp + 0x18]
jne 0x45d20d
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov al, byte [ebx]
cmp al, 0x81
je 0x45d7d0
cmp al, 0x88
jae 0x45d796
mov edi, ebx
mov dword [ebp - 0x11c], edi
jmp 0x457544
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push edx
push dword [ebp - 0x140]
mov edx, ebx
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1b
jne 0x45d247
mov ecx, dword [ebp - 0x118]
cmp dword [ecx + 0xb4], ebx
jne case.default.0x4535db
jmp 0x45d255
test edi, edi
jne case.default.0x4535db
mov ecx, dword [ebp - 0x118]
cmp byte [ebx], 0x81
je 0x45d814
mov edi, dword [ebp - 0x11c]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x457544
cmp esi, ebx
je 0x45753e
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ecx, dword [ebp - 0x118]
dec esi
cmp esi, ebx
jne 0x45d280
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45754a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45d2dc
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x45d2d2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x45d38c
test dl, 0x20
jne 0x45d2fc
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x45d384
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45d316
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x45d37e
and eax, 0x3f
test dl, 8
jne 0x45d331
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45d37e
test dl, 4
jne 0x45d355
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 0x45d37e
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 + 0x680880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x684240]
movzx ebx, byte [eax*8 + 0x682a82]
cmp esi, dword [ebp - 0x124]
jbe 0x45753e
lea edi, [esi - 1]
test ecx, ecx
jne 0x45d3cb
movzx edx, byte [edi]
jmp 0x45d48a
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x45d3dd
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x45d3d3
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45d48a
test dl, 0x20
jne 0x45d3fd
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x45d482
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45d41a
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x45d482
and eax, 0x3f
test dl, 8
jne 0x45d435
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45d482
test dl, 4
jne 0x45d459
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 0x45d482
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 + 0x680880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x684240]
movzx edx, byte [eax*8 + 0x682a82]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [edx*4 + 0x6803e0], eax
je 0x45d4d0
mov ecx, dword [ebp - 0x12c]
mov esi, edi
mov ebx, edx
jmp 0x45d3b0
mov edx, dword [ebp - 0x118]
jmp 0x45bd40
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 0x460736
cmp edi, 0x88
jae 0x45d54c
cmp edi, 0x81
je 0x45d54c
cmp dword [ebx + 0x6c], 0
mov edi, dword [ebp - 0x11c]
jne 0x45d55c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edi], 0x77
je 0x45d55c
movzx eax, byte [edi]
movzx eax, byte [eax + 0x6802c0]
add edi, eax
mov dword [ebp - 0x11c], edi
jmp 0x45754a
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 + 0x6802c0]
push dword [ebp - 0x140]
add edx, edi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc20
jne 0x45d5e0
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.0x4535db
cmp byte [edx], 0x77
je 0x45d5ee
cmp byte [eax], 0x77
jne case.default.0x4535db
jmp 0x45d5ee
test edi, edi
jne 0x4608c5
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.0x45503a
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x124]
mov dword [ebx + 0x90], eax
jmp case.0x452d1e.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 + 0x6802c0]
push dword [ebp - 0x140]
add eax, ecx
mov ecx, esi
add edx, eax
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
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.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, edi
sub eax, 1
je case.default.0x45503a
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc19
je case.default.0x45503a
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00626a7a
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.0x45503a
push eax
call fcn.00448ad0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je case.default.0x4535db
push eax
call fcn.00448ad0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00626a7a
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.00626a7a
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.00452bb0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4540cc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4540cc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00626a7a
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.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x88]
test ecx, ecx
je case.default.0x45503a
mov edx, dword [ebp - 0x118]
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb case.default.0x45503a
cmp dword [edx + 0x18], 0
jne case.default.0x45503a
cmp dword [edx + 0x1c], 2
jne case.default.0x45503a
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne case.default.0x45503a
cmp ecx, 1
jmp 0x45daf2
mov eax, dword [ebx + 0x88]
test eax, eax
je case.default.0x45503a
cmp esi, dword [ebx + 0x84]
jbe case.default.0x45503a
mov dword [ebx + 0x64], 1
cmp eax, 1
jmp 0x45daf9
mov ecx, dword [ebp - 0x118]
cmp eax, 0xfffffffe
jne 0x45d941
mov esi, dword [ecx + 0x78]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45503a
cmp esi, dword [ecx + 0x78]
jb case.default.0x45503a
cmp esi, dword [ecx + 0x84]
jbe case.default.0x45503a
mov dword [ecx + 0x64], 1
cmp eax, 1
jmp 0x45daf9
cmp eax, 0xfffffffe
jne 0x45d97b
mov esi, dword [edi + 0x78]
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x45503a
cmp esi, dword [edi + 0x78]
jb case.default.0x45503a
cmp esi, dword [edi + 0x84]
jbe case.default.0x45503a
mov dword [edi + 0x64], 1
cmp eax, 1
jmp 0x45daf9
mov dword [ebp - 0x14c], esi
cmp ebx, eax
jge 0x45da30
nop dword [eax + eax]
push dword [ebp - 0x13c]
mov ecx, edi
push dword [ebp - 0x118]
push edx
mov edx, esi
call fcn.00452890
add esp, 0xc
test eax, eax
js 0x45d9f0
mov edx, dword [ebp - 0x144]
inc ebx
add esi, eax
cmp ebx, dword [ebp - 0x128]
jl 0x45d9c0
jmp 0x45da20
cmp eax, 0xfffffffe
jne 0x45da20
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45da20
mov eax, dword [edx + 0x78]
cmp eax, dword [edx + 0x84]
jbe 0x45da20
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45daff
mov ebx, dword [ebp - 0x14c]
cmp esi, ebx
jb case.default.0x45503a
jmp 0x45da40
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
sub esi, dword [ebp - 0x144]
cmp esi, ebx
jae 0x45da40
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x118]
cmp eax, 0xfffffffe
jne 0x45daa0
mov esi, dword [ecx + 0x78]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45503a
cmp esi, dword [ecx + 0x78]
jb case.default.0x45503a
cmp esi, dword [ecx + 0x84]
jbe case.default.0x45503a
mov dword [ecx + 0x64], 1
cmp eax, 1
jmp 0x45daf9
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je case.default.0x45503a
cmp esi, dword [edx + 0x84]
jbe case.default.0x45503a
cmp eax, 1
mov dword [edx + 0x64], 1
jle case.default.0x45503a
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
cmp esi, ebx
jb case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ecx, dword [ebp - 0x118]
dec esi
cmp esi, ebx
jae 0x45db20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 0x45dd74
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x11c]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov edx, dword [ebp - 0x130]
cmp edx, dword [ebp - 0x134]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x13c], ebx
cmp ebx, 0xc0
jb 0x45dcf4
test bl, 0x20
jne 0x45dc01
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 0x45dcf4
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x45dc2c
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 0x45dcee
lea edx, [esi + 2]
test bl, 8
jne 0x45dc60
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 0x45dcee
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x45dc9c
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 0x45dcee
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 0x45dd05
cmp dword [ebp - 0x124], 0x6e
jmp 0x45dd1e
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.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45dbb3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x118]
mov edx, ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ebx, dword [ebp - 0x130]
cmp ebx, dword [ebp - 0x134]
jge case.default.0x45503a
mov edi, dword [ebp - 0x118]
cmp esi, dword [edi + 0x78]
jae 0x45de1a
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.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45dda0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x45503a
jmp 0x45d992
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45503a
jmp 0x45d958
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop dword [eax + eax]
mov edi, dword [ebp - 0x128]
cmp edi, dword [ebp - 0x124]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx ebx, byte [esi]
inc esi
mov edx, dword [ebp - 0x12c]
test edx, edx
je 0x45df7f
cmp ebx, 0xc0
jb 0x45df7f
test bl, 0x20
jne 0x45ded2
movzx eax, byte [esi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
inc esi
jmp 0x45df7f
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45def9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add esi, 2
jmp 0x45df7f
test bl, 8
jne 0x45df1c
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 0x45df7f
test bl, 4
jne 0x45df4b
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 0x45df7f
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.00462a60
add esp, 4
test eax, eax
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45de80
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x88]
test eax, eax
je case.default.0x45503a
cmp esi, edi
jb case.default.0x45503a
jmp 0x45d918
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45503a
cmp esi, dword [ecx + 0x78]
jb case.default.0x45503a
cmp esi, dword [ecx + 0x84]
jbe case.default.0x45503a
mov dword [ecx + 0x64], 1
cmp eax, 1
jmp 0x45daf9
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x124], eax
jge case.default.0x45503a
mov ebx, dword [ebx + 0x78]
mov eax, ebx
mov edi, dword [ebp - 0x134]
sub eax, edi
cmp esi, eax
ja 0x45e0f1
mov edx, dword [ebp - 0x164]
mov ecx, esi
sub edi, 4
jb 0x45e0b4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45e0b9
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45e0a3
cmp edi, 0xfffffffc
je 0x45e0e6
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45e0f1
cmp edi, 0xfffffffd
je 0x45e0e6
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45e0f1
cmp edi, 0xfffffffe
je 0x45e0e6
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45e0f1
cmp edi, 0xffffffff
je 0x45e0e6
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45e0f1
add esi, dword [ebp - 0x134]
jmp 0x45e166
mov edi, dword [ebp - 0x128]
test edi, edi
jle 0x45e1b5
mov eax, ebx
sub eax, edi
cmp esi, eax
ja 0x45e1b5
lea edx, [ebp - 0x10]
mov ecx, esi
sub edi, 4
jb 0x45e126
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45e12b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45e115
cmp edi, 0xfffffffc
je 0x45e160
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45e1b5
cmp edi, 0xfffffffd
je 0x45e160
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45e1b5
cmp edi, 0xfffffffe
je 0x45e160
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45e1b5
cmp edi, 0xffffffff
je 0x45e160
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45e1b5
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e073
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45503a
cmp esi, ebx
jmp 0x45e01a
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x45503a
jmp 0x45e020
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop dword [eax + eax]
mov ecx, dword [ebp - 0x124]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45503a
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dad5
movzx eax, byte [esi]
cmp ebx, eax
je 0x45e254
cmp dword [ebp - 0x14c], eax
jne case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e220
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x45503a
cmp esi, dword [edi + 0x84]
jbe case.default.0x45503a
mov dword [edi + 0x64], 1
cmp eax, 1
jmp 0x45daf9
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop dword [eax + eax]
mov ecx, dword [ebp - 0x124]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45503a
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45dad5
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e300
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x12c], 0
je 0x45e572
test edi, edi
jne case.default.0x4535db
nop word [eax + eax]
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x120]
jge case.default.0x45503a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x45e510
test bl, 0x20
jne 0x45e414
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 0x45e504
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x45e43a
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 0x45e4ff
lea edx, [esi + 2]
test bl, 8
jne 0x45e469
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 0x45e4ff
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x45e4a0
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 0x45e4ff
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.0x45503a
cmp dword [ebp - 0x13c], ebx
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e3c0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
test edi, edi
jne case.default.0x4535db
mov ebx, dword [ebp - 0x130]
cmp ebx, dword [ebp - 0x120]
jge case.default.0x45503a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx eax, byte [esi]
cmp dword [ebp - 0x134], eax
je case.default.0x45503a
cmp dword [ebp - 0x13c], eax
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e580
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x12c], 0
je 0x45e7da
test edi, edi
jne case.default.0x4535db
nop word [eax + eax]
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x120]
jge case.default.0x45503a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x45e784
test bl, 0x20
jne 0x45e694
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 0x45e778
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x45e6ba
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45e773
lea edx, [esi + 2]
test bl, 8
jne 0x45e6e3
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 0x45e773
lea edi, [esi + 3]
test bl, 4
jne 0x45e714
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 0x45e773
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.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e640
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
test edi, edi
jne case.default.0x4535db
mov ebx, dword [ebp - 0x130]
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x120]
jge case.default.0x45503a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x134], eax
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e7f0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
test eax, eax
js 0x45fcb0
cmp eax, 0xa
ja case.default.0x45578c
jmp dword [eax*4 + 0x4617c0]
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop word [eax + eax]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
je 0x45e904
cmp eax, 0xc0
jb 0x45e904
test al, 0x20
jne 0x45e8e6
inc esi
jmp 0x45e904
test al, 0x10
jne 0x45e8ef
add esi, 2
jmp 0x45e904
test al, 8
jne 0x45e8f8
add esi, 3
jmp 0x45e904
test al, 4
jne 0x45e901
add esi, 4
jmp 0x45e904
add esi, 5
cmp dword [ebp - 0x160], 0
jne case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e8b0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop dword [eax]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45eae5
cmp edx, 0xc0
jb 0x45eae5
mov al, byte [esi]
test dl, 0x20
jne 0x45e9e6
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x45eae0
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45ea0a
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 0x45eada
test dl, 8
jne 0x45ea3f
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 0x45eada
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45ea7f
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 0x45eada
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp eax, 9
je 0x45eb1c
cmp eax, 5
je 0x45eb1c
cmp eax, 8
je 0x45eb1c
xor eax, eax
jmp 0x45eb21
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e990
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45ed23
cmp edx, 0xc0
jb 0x45ed23
mov al, byte [esi]
test dl, 0x20
jne 0x45ec0b
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45ed23
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45ec2f
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 0x45ed1e
test dl, 8
jne 0x45ec64
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 0x45ed1e
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45eca7
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 0x45ed18
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp dword [eax*4 + 0x67fdc0], edx
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45ebb0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop word [eax + eax]
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45ef60
cmp edx, 0xc0
jb 0x45ef60
mov al, byte [esi]
test dl, 0x20
jne 0x45ee4b
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45ef60
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45ee6f
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 0x45ef5b
test dl, 8
jne 0x45eea4
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 0x45ef5b
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45eee4
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 0x45ef55
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45edf0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop dword [eax]
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45f174
cmp edx, 0xc0
jb 0x45f174
mov al, byte [esi]
test dl, 0x20
jne 0x45f07b
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45f174
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45f09f
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 0x45f16f
test dl, 8
jne 0x45f0d4
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 0x45f16f
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x45f114
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 0x45f169
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a80]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f020
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45f391
cmp edx, 0xc0
jb 0x45f391
mov al, byte [esi]
test dl, 0x20
jne 0x45f28c
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45f391
movzx eax, al
lea ecx, [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x45f2b2
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45f386
test dl, 8
jne 0x45f2e1
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 0x45f386
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45f31b
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 0x45f386
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x45f3ca
cmp eax, 3
je 0x45f3ca
xor eax, eax
jmp 0x45f3cf
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f231
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ebx, dword [ebp - 0x120]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x45503a
mov edi, dword [ebp - 0x118]
cmp esi, dword [edi + 0x78]
jae 0x45e29b
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edx, ecx
je 0x45f574
cmp ecx, 0xc0
jb 0x45f574
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45f4b6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45f572
test cl, 0x10
jne 0x45f4d7
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 0x45f572
test cl, 8
jne 0x45f501
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 0x45f572
test cl, 4
jne 0x45f537
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 0x45f572
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 0x45f58e
je case.0x45f677.8193
add ecx, 0xfffffff7
cmp ecx, 4
ja case.0x45f677.8203
jmp dword [ecx*4 + 0x4617ec]
cmp ecx, 0x2000
ja 0x45f653
je case.0x45f677.8193
cmp ecx, 0x1680
ja 0x45f648
je case.0x45f677.8193
sub ecx, 0x85
je case.0x45f677.8193
sub ecx, 0x1b
je case.0x45f677.8193
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x680880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
cmp dword [eax*4 + 0x67fdc0], 6
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f463
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
cmp ecx, 0x180e
jmp 0x45f5c1
cmp ecx, 0x3000
ja case.0x45f677.8203
je case.0x45f677.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x45f677.8203
movzx eax, byte [ecx + 0x461808]
jmp dword [eax*4 + 0x461800]
cmp dword [ebp - 0x160], 0
jne case.default.0x45503a
jmp 0x45f604
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45f811
cmp edx, 0xc0
jb 0x45f811
mov al, byte [esi]
test dl, 0x20
jne 0x45f718
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x45f80c
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45f73c
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 0x45f80c
test dl, 8
jne 0x45f771
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 0x45f80c
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x45f7b1
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 0x45f806
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 + 0x680880]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x684240]
movzx eax, byte [eax*8 + 0x682a81]
mov eax, dword [eax*4 + 0x67fdc0]
cmp eax, 1
je 0x45f851
cmp eax, 3
je 0x45f851
cmp ebx, 0x5f
je 0x45f851
xor eax, eax
jmp 0x45f856
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f6c2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ebx, dword [ebp - 0x120]
nop word [eax + eax]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x45503a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45e1d6
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edi, ecx
je 0x45fa01
cmp ecx, 0xc0
jb 0x45fa01
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45f943
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45f9ff
test cl, 0x10
jne 0x45f964
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 0x45f9ff
test cl, 8
jne 0x45f98e
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 0x45f9ff
test cl, 4
jne 0x45f9c4
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 0x45f9ff
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 + 0x684100]
lea eax, [eax*4 + 0x684100]
cmp edi, edx
jb 0x45fa2d
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x45fa83
mov edx, dword [eax]
cmp ecx, edx
jae 0x45fa20
cmp dword [ebp - 0x160], 0
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f8f0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x160], 0
jne case.default.0x45503a
jmp 0x45fa3a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x45503a
cmp esi, dword [ebx + 0x78]
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45fc24
cmp edx, 0xc0
jb 0x45fc24
test dl, 0x20
jne 0x45fb1d
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x45fc24
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test dl, 0x10
jne 0x45fb45
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45fc19
test dl, 8
jne 0x45fb74
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 0x45fc19
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45fbae
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 0x45fc19
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 0x45fc4f
cmp ebx, 0x40
je 0x45fc4f
cmp ebx, 0x60
je 0x45fc4f
cmp ebx, 0xa0
jb 0x45fc43
cmp ebx, 0xd7ff
jbe 0x45fc4f
cmp ebx, 0xe000
jae 0x45fc4f
xor eax, eax
jmp 0x45fc54
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45fac4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 0x460010
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
nop dword [eax + eax]
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x120], eax
jge case.default.0x45503a
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x164], eax
cmp esi, eax
jae 0x45d90a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
mov ecx, esi
je 0x45fe4e
cmp edx, 0xc0
jb 0x45fe4e
mov al, byte [esi]
movzx eax, al
test dl, 0x20
jne 0x45fd50
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x45fe47
and eax, 0x3f
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45fd73
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45fe47
test dl, 8
jne 0x45fda2
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 0x45fe47
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45fddc
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 0x45fe47
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 + 0x680880]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x684240]
movzx ebx, byte [eax*8 + 0x682a82]
mov eax, dword [ebp - 0x164]
cmp ecx, eax
jae 0x45ff9b
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x45ff54
cmp edx, 0xc0
jb 0x45ff54
test dl, 0x20
jne 0x45feb7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45ff4c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45fed6
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45ff4c
and eax, 0x3f
test dl, 8
jne 0x45fef6
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45ff4c
test dl, 4
jne 0x45ff1f
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 0x45ff4c
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 + 0x680880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x684240]
movzx ecx, byte [eax*8 + 0x682a82]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x6803e0], eax
mov eax, dword [ebp - 0x164]
je 0x45ff9b
add esi, edi
mov ebx, ecx
cmp esi, eax
jb 0x45fe80
mov ebx, dword [ebp - 0x118]
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je 0x45ffc7
cmp esi, eax
jb 0x45ffc7
cmp esi, dword [ebx + 0x84]
jbe 0x45ffc7
mov dword [ebx + 0x64], 1
cmp ecx, 1
jg 0x45daff
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45fcf0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
call fcn.00452bb0
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x12c], 0
je 0x4604d2
test edi, edi
jne case.default.0x4535db
mov ebx, dword [ebp - 0x120]
nop word [eax + eax]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x45503a
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4604b9
mov edi, dword [ebp - 0x134]
cmp edi, 0xc
jne 0x4600b9
mov edx, dword [eax + 0x18]
test edx, edx
je 0x46008e
push dword [ebp - 0x12c]
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004631b0
add esp, 0xc
test eax, eax
jne case.default.0x45503a
jmp 0x4600b9
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x4600b9
mov ecx, dword [ebp - 0x118]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x4600b9
cmp edx, 1
je case.default.0x45503a
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.default.0x45503a
movzx edx, byte [esi]
inc esi
mov ecx, esi
mov eax, edx
cmp edx, 0xc0
jb 0x460193
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4600e8
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x46018f
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x460109
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x46018f
test dl, 8
jne 0x46012c
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 0x46018f
test dl, 4
jne 0x46015b
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 0x46018f
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.0x45578c
jmp dword [edi*4 + 0x461868]
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x88]
test edi, edi
je case.0x46019f.13
cmp ecx, dword [eax + 0x78]
jb case.0x46019f.13
cmp dword [eax + 0x18], 0
jne case.0x46019f.13
cmp dword [eax + 0x1c], 2
jne case.0x46019f.13
movzx eax, byte [eax + 0x34]
cmp edx, eax
jne case.0x46019f.13
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x64], 1
cmp edi, 1
jg 0x45daff
jmp case.0x46019f.13
cmp edx, 0x85
ja 0x46023b
je case.0x460214.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x45503a
jmp dword [edx*4 + 0x4618a8]
mov eax, dword [ebp - 0x118]
cmp ecx, dword [eax + 0x78]
jae case.0x46019f.13
cmp byte [esi], 0xa
jne case.0x46019f.13
lea esi, [ecx + 1]
jmp case.0x46019f.13
sub edx, 0x2028
je case.0x460214.11
sub edx, 1
jne case.default.0x45503a
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x68], 0
jne case.default.0x45503a
jmp case.0x46019f.13
cmp edx, 0x2000
ja 0x4602a5
je case.default.0x45503a
cmp edx, 0xa0
ja 0x46028e
je case.default.0x45503a
cmp edx, 9
je case.default.0x45503a
cmp edx, 0x20
jmp 0x46046a
cmp edx, 0x1680
je case.default.0x45503a
cmp edx, 0x180e
jmp 0x46046a
cmp edx, 0x3000
ja case.0x46019f.13
je case.default.0x45503a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x46019f.13
movzx eax, byte [edx + 0x4618c0]
jmp dword [eax*4 + 0x4618b8]
cmp edx, 0x2000
ja 0x460324
je case.0x46019f.13
cmp edx, 0xa0
ja 0x460307
je case.0x46019f.13
cmp edx, 9
je case.0x46019f.13
cmp edx, 0x20
jne case.default.0x45503a
jmp case.0x46019f.13
cmp edx, 0x1680
je case.0x46019f.13
cmp edx, 0x180e
jne case.default.0x45503a
jmp case.0x46019f.13
cmp edx, 0x3000
ja case.default.0x45503a
je case.0x46019f.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x45503a
movzx eax, byte [edx + 0x461928]
jmp dword [eax*4 + 0x461920]
cmp edx, 0x85
ja 0x460374
je case.default.0x45503a
add edx, 0xfffffff6
cmp edx, 3
ja case.0x46019f.13
jmp dword [edx*4 + 0x461988]
sub edx, 0x2028
je case.default.0x45503a
sub edx, 1
jmp 0x46046a
cmp edx, 0x85
ja 0x4603a9
je case.0x46019f.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x45503a
jmp dword [edx*4 + 0x461998]
sub edx, 0x2028
je case.0x46019f.13
sub edx, 1
jne case.default.0x45503a
jmp case.0x46019f.13
cmp eax, 0x100
jae case.0x46019f.13
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne case.default.0x45503a
jmp case.0x46019f.13
cmp eax, 0x100
jae case.default.0x45503a
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jmp 0x46046a
cmp eax, 0x100
jae case.0x46019f.13
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne case.default.0x45503a
jmp case.0x46019f.13
cmp eax, 0x100
jae case.default.0x45503a
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jmp 0x46046a
cmp eax, 0x100
jae case.0x46019f.13
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne case.default.0x45503a
jmp case.0x46019f.13
cmp eax, 0x100
jae case.default.0x45503a
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460040
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x88]
test eax, eax
je case.default.0x45503a
mov ecx, dword [ebp - 0x118]
jmp 0x45e020
test edi, edi
jne case.default.0x4535db
mov ebx, dword [ebp - 0x120]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x45503a
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x45dad5
mov edi, dword [ebp - 0x134]
cmp edi, 0xc
jne 0x46056b
mov edx, dword [edx + 0x18]
mov eax, dword [ebp - 0x118]
test edx, edx
je 0x460536
push 0
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004631b0
add esp, 0xc
test eax, eax
jne case.default.0x45503a
mov edx, dword [ebp - 0x118]
jmp 0x46056b
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x460569
mov ecx, dword [ebp - 0x118]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x460565
cmp edx, 1
je case.default.0x45503a
mov al, byte [esi + 1]
mov edx, ecx
cmp al, byte [edx + 0x35]
je case.default.0x45503a
jmp 0x46056b
mov edx, ecx
jmp 0x46056b
mov edx, eax
movzx ecx, byte [esi]
lea eax, [edi - 6]
inc esi
cmp eax, 0xf
ja case.default.0x45578c
jmp dword [eax*4 + 0x4619a8]
mov edx, dword [edx + 0x88]
test edx, edx
je case.0x46057b.13
mov eax, dword [ebp - 0x118]
cmp esi, dword [eax + 0x78]
jb case.0x46057b.13
cmp dword [eax + 0x18], 0
jne case.0x46057b.13
cmp dword [eax + 0x1c], 2
jne case.0x46057b.13
movzx eax, byte [eax + 0x34]
cmp ecx, eax
jne case.0x46057b.13
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x64], 1
cmp edx, 1
jg 0x45daff
jmp case.0x46057b.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x45503a
movzx eax, byte [ecx + 0x4619f8]
jmp dword [eax*4 + 0x4619e8]
cmp esi, dword [edx + 0x78]
jae case.0x46057b.13
cmp byte [esi], 0xa
jne case.0x46057b.13
inc esi
jmp case.0x46057b.13
cmp dword [edx + 0x68], 0
jne case.default.0x45503a
jmp case.0x46057b.13
cmp ecx, 9
je case.default.0x45503a
cmp ecx, 0x20
je case.default.0x45503a
cmp ecx, 0xa0
jmp 0x4606d1
cmp ecx, 9
je case.0x46057b.13
cmp ecx, 0x20
je case.0x46057b.13
cmp ecx, 0xa0
jne case.default.0x45503a
jmp case.0x46057b.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46057b.13
movzx eax, byte [ecx + 0x461a7c]
jmp dword [eax*4 + 0x461a74]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x45503a
movzx eax, byte [ecx + 0x461b00]
jmp dword [eax*4 + 0x461af8]
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jne case.default.0x45503a
jmp case.0x46057b.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jmp 0x4606d1
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x45503a
jmp case.0x46057b.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jmp 0x4606d1
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x45503a
jmp case.0x46057b.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x45503a
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.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4604e0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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.00626a7a
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 0x460796
mov edi, dword [ebp - 0x124]
cmp edi, 0x88
jb 0x4607a8
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 + 0x6802c0]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1b
je 0x460872
cmp edi, 0xfffffc20
jne 0x460828
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.0x4535db
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx], 0x77
je 0x460824
cmp byte [eax], 0x77
jne case.default.0x4535db
xor edi, edi
jmp 0x460836
test edi, edi
jne case.default.0x4535db
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 0x460790
jmp 0x460878
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.00626a7a
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc1b
jne case.default.0x4535db
mov edx, dword [ebp - 0x11c]
mov al, byte [edx]
cmp al, 0x81
je 0x460903
cmp al, 0x77
jne 0x4608f4
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 0x4608e0
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.0x4535db
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 + 0x6802c0]
push dword [ebp - 0x140]
add eax, edi
add edx, eax
call fcn.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x460990
cmp edi, 0xfffffc19
je 0x460990
cmp edi, 0xfffffc1a
jne 0x4609b8
mov edx, dword [ebp - 0x118]
cmp dword [edx + 0xac], 0
jne 0x4609be
mov dword [edx + 0xac], ebx
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x118]
cmp edi, 0xfffffc1f
jne case.default.0x4535db
mov eax, dword [edx + 0x7c]
nop dword [eax]
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x4609f0
test cl, cl
je 0x4609ec
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x4609f0
add ebx, 2
add eax, 2
test cl, cl
jne 0x4609d0
xor eax, eax
jmp 0x4609f5
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4535db
mov dword [edx + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 + 0x6802c0]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 + 0x6802c0]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460b38
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 + 0x6802c0]
push dword [ebp - 0x140]
add eax, edi
add edx, eax
call fcn.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x460b1b
cmp edi, 0xfffffc19
jne 0x460b30
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xac], 0
jne 0x460b30
mov dword [eax + 0xac], ebx
test edi, edi
jne case.default.0x4535db
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 + 0x6802c0]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4535db
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 + 0x6802c0]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.00452bb0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460c79
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00626a7a
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 + 0x6802c0]
push dword [ebp - 0x140]
add eax, edi
add edx, eax
call fcn.00452bb0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x460c56
cmp edi, 0xfffffc19
jne 0x460c6b
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xac], 0
jne 0x460c6b
mov dword [eax + 0xac], ebx
test edi, edi
jne case.default.0x4535db
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.00626a7a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x140]
cmp esi, ecx
jne 0x460cd4
cmp edi, 0x9f
je 0x460cd4
cmp dword [ebx + 0xa4], 0
jne 0x460cd4
cmp dword [ebx + 0x5c], 0
jne case.default.0x45503a
cmp dword [ebx + 0x60], 0
je 0x460cd4
mov eax, dword [ebx + 0x94]
add eax, dword [ebx + 0x74]
cmp ecx, eax
je case.default.0x45503a
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.00626a7a
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.00626a7a
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.00626a7a
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.00626a7a
mov esp, ebp
pop ebp
ret