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

Disassembly:
sub esp, 0x15c
mov eax, dword [0x8a3940]
xor eax, esp
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x168]
mov edx, dword [esp + 0x174]
push ebx
mov ebx, dword [esp + 0x170]
push esi
mov esi, dword [esp + 0x168]
push edi
mov edi, dword [esp + 0x170]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x28], edx
test edi, edi
jne 0x58cbf2
lea eax, [esp + 0x184]
cmp dword [esp + 0x184], edi
jne 0x58cbd1
push 1
push edi
push edi
push edi
push edi
push edi
push eax
call fcn.0058cb40
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x158]
xor ecx, esp
call fcn.0059bb21
add esp, 0x15c
ret
sub eax, esi
cdq
xor eax, edx
pop edi
sub eax, edx
pop esi
neg eax
pop ebx
mov ecx, dword [esp + 0x158]
xor ecx, esp
call fcn.0059bb21
add esp, 0x15c
ret
mov ecx, dword [esp + 0xc]
push ebp
mov ebp, dword [eax + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0x54], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x18], ebp
cmp eax, dword [ecx + 4]
jae 0x59939b
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x50], 1
mov dword [esp + 0x5c], SysReAllocStringLen
inc eax
mov dword [ecx], eax
mov eax, dword [esp + 0x188]
cmp eax, dword [ecx + 8]
jae 0x599394
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x98], 2
jne 0x58cc6b
lea ecx, [esp + 0x78]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x2c], ecx
mov dword [eax + 0x98], 0
mov edx, eax
jmp 0x58cc90
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
jmp 0x58cc90
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
nop dword [eax]
mov cl, byte [edi]
movzx edi, cl
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x24], edi
cmp edi, 0xa1
ja case.0x58ccbc.98
movzx eax, byte [edi + 0x599508]
jmp dword [eax*4 + 0x5993bc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
inc dword [eax + 0x28]
mov eax, dword [eax + 0x28]
cmp eax, dword [edx + 0x2c]
ja 0x596632
mov ebx, dword [esp + 0x14]
movzx eax, byte [ebx]
movzx edi, byte [ebx + 1]
add edi, ebx
movzx ecx, byte [eax + 0x78b198]
add edi, ecx
mov dword [esp + 0x14], edi
jmp 0x58cc89
mov eax, dword [esp + 0x10]
mov ebp, esi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x30], edi
mov ebx, dword [eax + 0xac]
nop word [eax + eax]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
lea eax, [edi + 3]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x58ce0b
cmp edi, 0xfffffc20
jne 0x58cd77
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x10]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x599020
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x77
je 0x58cd7f
cmp byte [eax], 0x77
jmp 0x58cd79
test edi, edi
jne 0x599020
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x10]
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [eax + 0xac], ebx
cmp byte [edi], 0x77
je 0x58cd10
mov edx, dword [esp + 0x28]
mov al, byte [edi]
cmp al, 0x82
je 0x58cdc0
cmp al, 0x77
jne case.0x598dc1.14
nop dword [eax + 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 0x58cdc0
cmp byte [edi], 0x78
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edi
mov ebx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov dword [esp + 0x1c], ebx
je 0x58cdf9
cmp esi, ebp
jne 0x596153
mov ebp, dword [esp + 0x18]
add edi, 3
mov dword [esp + 0x14], edi
mov edx, eax
jmp 0x58cc90
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x28], edx
jmp 0x58cdad
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], 0
jmp 0x58d970
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
add edi, 3
shl ecx, 8
mov ebp, edi
or ecx, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], ecx
cmp byte [edi], 0x76
jne 0x58cf5c
mov edi, dword [0x8a93fc]
test edi, edi
je 0x58cf43
mov dword [esp + 0x80], 2
mov ebx, ebp
movzx eax, byte [ebx + 1]
mov dword [esp + 0x84], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [edx + 0x74]
mov dword [esp + 0x8c], eax
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x74]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x28]
sub eax, dword [edx + 0x74]
mov dword [esp + 0x94], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov dword [esp + 0x98], eax
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0xa8], ecx
movzx ecx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x1c]
cdq
sub eax, edx
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x10]
sar eax, 1
mov dword [esp + 0x9c], eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff
cmove eax, dword [esp + 0x58]
mov dword [esp + 0xa0], eax
mov eax, dword [ecx + 0xa8]
mov dword [esp + 0xa4], eax
mov eax, dword [ecx + 0xb0]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x80]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.0x598dc1.14
js 0x599020
mov ecx, dword [esp + 0x20]
movzx eax, byte [0x78b20e]
mov edi, dword [esp + 0x14]
add edi, eax
sub ecx, eax
mov dword [esp + 0x14], edi
mov ebp, edi
mov dword [esp + 0x20], ecx
movzx eax, byte [edi]
xor ebx, ebx
mov dword [esp + 0x30], eax
add eax, 0xffffff73
cmp eax, 4
ja case.default.0x58cf73
jmp dword [eax*4 + 0x5995ac]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xa4]
test edx, edx
je 0x58d1fe
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x58cfaa
cmp ecx, dword [edx + 4]
jne 0x58d1d1
mov ecx, dword [esp + 0x30]
mov ebx, 1
mov ebp, dword [esp + 0x10]
movzx ecx, byte [ecx + 0x78b198]
jmp 0x58d1d9
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa4], ebx
je 0x58d1fe
mov edx, dword [esp + 0x14]
movzx edi, byte [edi + 3]
shl edi, 8
movzx eax, byte [edx + 4]
movzx ecx, byte [edx + 1]
or edi, eax
movzx edx, byte [edx + 2]
mov eax, dword [esp + 0x10]
shl ecx, 8
or edx, ecx
imul edx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add edx, eax
test edi, edi
je 0x58d1d1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
mov eax, dword [eax + 0xa4]
mov ebp, dword [eax + 4]
movzx eax, byte [edx]
xor ebx, ebx
movzx ecx, byte [edx + 1]
dec edi
shl eax, 8
or ecx, eax
cmp ecx, ebp
sete bl
je 0x58d072
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 0x24]
add edx, eax
mov dword [esp + 0x3c], edx
test edi, edi
jg 0x58d017
jmp 0x58d072
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esp + 0x4c], ecx
cmp ecx, dword [esp + 0x1c]
jge 0x58d070
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x58d070
mov ebx, 1
jmp 0x58d072
xor ebx, ebx
mov ebp, dword [esp + 0x10]
test ebx, ebx
je 0x58d0ef
mov ecx, dword [esp + 0x30]
movzx ecx, byte [ecx + 0x78b198]
jmp 0x58d1d9
movzx edx, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 1]
mov ebp, dword [esp + 0x10]
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [edi + 2]
or ecx, eax
mov eax, dword [esp + 0x10]
imul ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add eax, ecx
test edx, edx
je 0x58d0ef
mov edi, eax
nop dword [eax + eax]
movzx ecx, byte [eax]
dec edx
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esp + 0x4c], ecx
cmp ecx, dword [esp + 0x1c]
jge 0x58d0e2
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x58d0f8
mov eax, dword [ebp + 0x24]
xor ebx, ebx
add eax, edi
mov edi, eax
test edx, edx
jg 0x58d0c0
mov ecx, dword [esp + 0x20]
jmp 0x58d1d9
mov ecx, dword [esp + 0x30]
mov ebx, 1
movzx ecx, byte [ecx + 0x78b198]
jmp 0x58d1d9
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x98], 1
mov eax, dword [esp + 0x188]
inc eax
push eax
push 0
push ecx
push dword [esp + 0x28]
push dword [esp + 0x38]
push edi
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 1
jne 0x58d1c1
mov eax, dword [esp + 0x10]
mov ebx, edi
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], ebx
mov eax, dword [eax + 0x8c]
cmp eax, ecx
cmovg ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
movzx edi, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edi, 8
or edi, eax
add edi, ebp
mov edx, edi
cmp byte [edx], 0x77
jne 0x58d1a0
nop dword [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 [esp + 0x14], ebx
cmp byte [edx], 0x77
je 0x58d180
mov ebx, dword [esp + 0x3c]
mov edi, edx
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x10]
movzx eax, byte [ecx + 0x78b198]
movzx ecx, byte [ecx + 0x78b198]
sub edi, eax
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x58d1d9
test edi, edi
je 0x58d1d1
cmp edi, 0xfffffc20
jne 0x599020
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add edi, ecx
mov dword [esp + 0x14], edi
test ebx, ebx
jne 0x5961b8
cmp byte [edi - 3], 0x77
je 0x5961b8
mov edx, dword [esp + 0x10]
jmp 0x58cc85
mov ebp, eax
jmp 0x58d1d9
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
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 ebp, [edx + edx]
mov dword [esp + 0x4c], ebp
cmp ebp, dword [ecx + 0x14]
jl 0x58d253
mov ebp, dword [esp + 0x18]
mov edx, ecx
or eax, 0x10000
add edi, 3
mov dword [esp + 0x14], edi
mov dword [edx + 0x90], eax
jmp 0x58cc90
mov eax, ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebp*4], eax
mov ecx, esi
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebp*4 + 4], ecx
cmp ebx, ebp
jg 0x58f74f
lea ebx, [ebp + 2]
add edi, 3
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x58d2ba
mov dword [eax + 0x98], 0
mov ebp, 1
jmp 0x58d2bc
xor ebp, ebp
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x188]
inc eax
push eax
push 0
push dword [esp + 0x18]
lea eax, [edi + 3]
push dword [esp + 0x28]
push dword [esp + 0x38]
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x58d359
cmp edi, 0xfffffc19
je 0x58d359
mov eax, dword [esp + 0x10]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jne 0x58d32f
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x10]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x599020
cmp byte [edx], 0x77
je 0x58d337
cmp byte [eax], 0x77
jmp 0x58d331
test edi, edi
jne 0x599020
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x14], edi
cmp byte [edi], 0x77
je 0x58d2c0
jmp 0x58d368
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x28], eax
cmp byte [edi], 0x78
je case.0x598dc1.14
test ebp, ebp
jne 0x59678a
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 0x58d380
mov eax, dword [esp + 0x10]
add edi, 3
mov ebp, dword [esp + 0x18]
mov edx, eax
mov dword [esp + 0x14], edi
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x1c], ebx
jmp 0x58cc90
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x58d3d8
mov dword [eax + 0x98], 0
mov ebp, 1
jmp 0x58d3da
xor ebp, ebp
mov edi, dword [esp + 0x14]
mov edx, eax
mov eax, dword [esp + 0x188]
inc eax
push eax
push 0
push edx
push dword [esp + 0x28]
lea eax, [edi + 3]
push dword [esp + 0x38]
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
mov eax, dword [esp + 0x10]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jg 0x58d43f
jne 0x58d470
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or eax, ecx
add eax, edi
cmp dword [edx + 0x7c], eax
jae 0x58d493
cmp byte [edi], 0x77
je 0x58d452
cmp byte [eax], 0x77
jne 0x58d493
jmp 0x58d452
mov eax, edi
sub eax, 0
jne 0x596683
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x14], edi
cmp byte [edi], 0x77
je 0x58d3e0
jmp 0x58d4a7
cmp edi, 0xfffffc19
je case.0x598dc1.14
lea eax, [edi + 0x3e4]
cmp eax, 3
ja 0x599020
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x58d493
test ebp, ebp
jne 0x59678a
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
test ebp, ebp
je 0x58d506
or ecx, eax
mov eax, dword [esp + 0x10]
jbe 0x58d517
mov edx, dword [eax + 0x74]
nop dword [eax]
dec esi
dec ecx
cmp esi, edx
jb case.0x598dc1.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x58d4fc
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x58d4f2
test ecx, ecx
jg 0x58d4e0
mov eax, dword [esp + 0x10]
jmp 0x58d517
or ecx, eax
mov eax, dword [esp + 0x10]
sub esi, ecx
cmp esi, dword [eax + 0x74]
jb case.0x598dc1.14
mov edx, dword [esp + 0x10]
cmp esi, dword [eax + 0x84]
jae 0x58f74f
mov ebp, dword [esp + 0x18]
add edi, 3
mov dword [eax + 0x84], esi
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov edi, dword [0x8a93fc]
test edi, edi
je 0x58d62c
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb4], 2
movzx eax, byte [ebx + 1]
mov dword [esp + 0xb8], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0xbc], eax
mov eax, dword [edx + 0x74]
mov dword [esp + 0xc0], eax
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x74]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x28]
sub eax, dword [edx + 0x74]
mov dword [esp + 0xc8], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov dword [esp + 0xcc], eax
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0xdc], ecx
movzx ecx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
mov ebx, dword [esp + 0x1c]
shl ecx, 8
or ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x10]
sar eax, 1
mov dword [esp + 0xd0], eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff
cmove eax, dword [esp + 0x58]
mov dword [esp + 0xd4], eax
mov eax, dword [ecx + 0xa8]
mov dword [esp + 0xd8], eax
mov eax, dword [ecx + 0xb0]
mov dword [esp + 0xe4], eax
lea eax, [esp + 0xb4]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.0x598dc1.14
js 0x599020
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add edi, 6
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov edi, dword [esp + 0x14]
mov edx, dword [edx + 0x70]
movzx ebx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
cmp ebx, edx
jne 0x58d65e
xor ecx, ecx
jmp 0x58d66b
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xa4]
mov eax, edx
test edx, edx
je 0x58d694
nop dword [eax + eax]
cmp ecx, dword [eax + 4]
jne 0x58d68e
cmp esi, dword [eax + 0x14]
je 0x596693
mov eax, dword [eax]
test eax, eax
jne 0x58d680
mov eax, dword [esp + 0x10]
add edi, 3
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x14], edi
mov eax, dword [eax + 0x90]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], esi
mov dword [esp + 0x60], edx
mov dword [eax + 0xa4], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x6c], ecx
cmp ecx, 0x1e
jg 0x58d6dc
lea eax, [esp + 0xe8]
mov dword [esp + 0x68], eax
jmp 0x58d6fd
lea eax, [ecx*4]
push eax
call dword [0x8a3924]
add esp, 4
mov dword [esp + 0x68], eax
test eax, eax
je 0x5966c1
mov ecx, dword [esp + 0x6c]
shl ecx, 2
push ecx
mov ecx, dword [esp + 0x14]
push dword [ecx + 0xc]
push eax
call fcn.0059ce60
add esp, 0xc
cmp byte [ebx], 0x88
sbb ebp, ebp
inc ebp
test ebp, ebp
je 0x58d729
mov eax, dword [esp + 0x10]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ebx]
push dword [esp + 0x18]
push dword [esp + 0x28]
movzx eax, byte [eax + 0x78b198]
push dword [esp + 0x38]
add eax, ebx
push eax
push esi
call fcn.0058cb40
mov edi, eax
mov eax, dword [esp + 0x88]
shl eax, 2
push eax
mov eax, dword [esp + 0x30]
push dword [esp + 0x88]
push dword [eax + 0xc]
call fcn.0059ce60
mov ecx, dword [esp + 0x38]
add esp, 0x28
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x90], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 0xa4], eax
cmp edi, 1
je 0x58d809
cmp edi, 0xfffffc19
je 0x58d809
cmp edi, 0xfffffc1c
jl 0x58d7ad
cmp edi, 0xfffffc20
jle case.0x598dc1.14
test edi, edi
jne 0x59669d
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x60]
mov dword [eax + 0xa4], ecx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x58d717
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
mov dword [ecx + 0xa4], eax
lea ecx, [esp + 0xe8]
mov eax, dword [esp + 0x68]
cmp eax, ecx
je case.0x598dc1.14
push eax
call dword [0x8a3928]
add esp, 4
xor eax, eax
jmp 0x5993a3
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0xe8]
cmp eax, ecx
je 0x58d822
push eax
call dword [0x8a3928]
add esp, 4
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x28], eax
jmp 0x58cc7d
mov edi, dword [esp + 0x14]
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 0x58d840
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebx
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x58d890
lea edi, [ebx + 3]
mov dword [esp + 0x14], edi
nop dword [eax + eax]
mov edx, dword [esp + 0x10]
jmp 0x58cc89
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
mov edx, 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 0x58d8c4
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
lea eax, [edx + 3]
push dword [esp + 0x18]
push ebx
push dword [esp + 0x38]
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x58cc90
mov edx, dword [esp + 0x14]
inc edx
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 0x58d920
lea edi, [edx + 3]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x14], ecx
movzx edi, byte [ecx]
mov dword [esp + 0x24], edi
cmp edi, 0x86
je 0x58d970
cmp edi, 0x8b
jne 0x58db5d
movzx ebp, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl ebp, 8
or ebp, eax
mov eax, dword [esp + 0x10]
lea ebx, [ebp*2]
mov dword [esp + 0x4c], ebx
cmp ebx, dword [eax + 0x14]
jge 0x58db55
mov eax, ecx
xor edx, edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
sub eax, dword [ecx + 0x70]
mov dword [esp + 0x20], eax
mov eax, ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + ebx*4]
mov dword [esp + 0x48], eax
mov eax, dword [ecx + ebx*4 + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
sub eax, ebp
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x90]
jmp 0x58d9e4
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov edx, esi
sub edx, dword [eax + 0x74]
sub ecx, ebp
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x58da0a
mov eax, dword [esp + 0x10]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
movzx eax, byte [ecx]
push dword [esp + 0x28]
push dword [esp + 0x38]
movzx eax, byte [eax + 0x78b198]
add eax, ecx
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1a
jne 0x58da84
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x3c], 1
mov ecx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov ebx, dword [eax + 0x90]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 0x70]
add ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
jmp 0x58d9e0
cmp edi, 0xfffffc20
jne 0x58dabc
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x10]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x599020
cmp byte [edx], 0x77
je 0x58dac8
cmp byte [eax], 0x77
jne 0x599020
jmp 0x58dac8
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov dword [eax + 0x90], ebx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esp + 0x14], edx
cmp byte [edx], 0x77
je 0x58d9e0
mov edx, dword [esp + 0x3c]
test edx, edx
jne 0x58db2e
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
sub ecx, ebp
mov dword [eax + ecx*4], edi
cmp dword [esp + 0x30], 0
jne 0x58db3d
test edx, edx
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x10]
mov ebx, ecx
xor ebp, ebp
sub ebx, dword [eax + 0x70]
mov eax, dword [eax + 0x90]
mov dword [esp + 0x3c], eax
cmp edi, 0x88
jb 0x58db88
mov eax, dword [esp + 0x10]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push dword [esp + 0x18]
push dword [esp + 0x28]
movzx eax, byte [eax + 0x78b198]
push dword [esp + 0x38]
add eax, ecx
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1a
jne 0x58dbf0
mov eax, dword [esp + 0x10]
mov ebp, 1
mov edi, dword [esp + 0x24]
mov ecx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x7c]
add ecx, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
jmp 0x58db72
cmp edi, 0xfffffc20
jne 0x58dc2c
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x7c], eax
jae 0x599020
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x77
je 0x58dc38
cmp byte [eax], 0x77
jne 0x599020
jmp 0x58dc38
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x14], edi
cmp byte [edi], 0x77
jne 0x58dc6b
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0x90], eax
jmp 0x58db72
test ebp, ebp
jne 0x58dc79
cmp dword [esp + 0x30], ebp
je case.0x598dc1.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov edi, dword [esp + 0x14]
mov ebp, edi
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
sub ebp, ecx
mov dword [esp + 0x30], ebp
mov cl, byte [ebp]
cmp cl, 0x88
jae 0x58dcaf
cmp cl, 0x81
je 0x58dcaf
xor ebx, ebx
jmp 0x58dcbe
mov ebx, dword [esp + 0x2c]
lea eax, [ebx + 4]
mov ebx, dword [ebx]
mov dword [esp + 0x2c], ebx
mov ebx, dword [eax]
cmp cl, 0x7d
jb 0x58dccc
cmp cl, 0x80
jbe 0x596773
cmp cl, 0x82
je 0x596773
cmp cl, 0x85
je 0x58dce9
cmp cl, 0x8a
je 0x58dce9
cmp cl, 0x86
je 0x58dce9
cmp cl, 0x8b
jne 0x58dd49
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
shl edx, 8
or edx, eax
lea eax, [edx + edx]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x58dd14
cmp dword [eax + 4], edx
je 0x5966cb
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x4c]
mov eax, dword [eax + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [ecx + 0x90], eax
cmp ebp, dword [ecx + 0x14]
mov ebp, dword [esp + 0x30]
jl 0x58dda2
mov edx, ecx
or eax, 0x10000
mov dword [edx + 0x90], eax
mov ecx, dword [esp + 0x1c]
cmp byte [edi], 0x78
je 0x58dd5a
cmp esi, ebx
jne 0x5961f5
cmp byte [ebp], 0x81
jne 0x58f74b
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
lea eax, [edi + 3]
push edx
push ecx
push dword [esp + 0x38]
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov eax, dword [esp + 0x10]
mov dword [eax + 0xb4], ebp
mov eax, 0xfffffc1b
jmp 0x5993a3
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x4c], ecx
jle 0x58ddd2
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
mov ecx, dword [esp + 0x4c]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x58ddce
mov eax, dword [esp + 0x58]
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, esi
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, edx
jg 0x58de07
lea ecx, [edx + 2]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x10]
jmp 0x58dd4d
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], 0
je 0x58de29
cmp esi, dword [eax + 0x74]
je case.0x598dc1.14
jmp 0x58de29
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x74]
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], 0
je 0x58de57
cmp esi, dword [eax + 0x74]
je case.0x598dc1.14
mov ecx, dword [eax + 0x74]
cmp esi, ecx
je 0x58f9b9
cmp esi, dword [eax + 0x78]
je case.0x598dc1.14
mov edx, dword [eax + 0x18]
test edx, edx
je 0x58dea4
cmp esi, ecx
jbe case.0x598dc1.14
push ebp
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.0059adb0
add esp, 0x14
test eax, eax
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov edx, dword [eax + 0x1c]
lea eax, [edx + ecx]
cmp esi, eax
jb case.0x598dc1.14
mov ebx, dword [esp + 0x10]
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + 0x34]
jne case.0x598dc1.14
cmp edx, 1
mov edx, ebx
je 0x58f9bb
mov al, byte [ecx + 1]
cmp al, byte [edx + 0x35]
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x94]
add eax, dword [edx + 0x74]
cmp esi, eax
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x58df95
mov edx, dword [eax + 0x18]
test edx, edx
je 0x58df5f
push ebp
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.0059ac50
add esp, 0x14
test eax, eax
je 0x596793
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x596797
mov ecx, dword [esp + 0x10]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x58df8e
cmp edx, 1
mov edx, ecx
je 0x58f9bb
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x58f9bb
mov eax, ecx
jmp 0x596797
cmp dword [eax + 0x48], 0
jne case.0x598dc1.14
jmp 0x58e06d
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x48], 0
jne case.0x598dc1.14
cmp dword [eax + 0x58], 0
je 0x58dfd0
jmp 0x58dfbe
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jb case.0x598dc1.14
jmp 0x58e06d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
cmp esi, eax
jae 0x58e069
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test ecx, ecx
je 0x58e042
push ebp
push edi
push eax
push ecx
push esi
call fcn.0059ac50
add esp, 0x14
test eax, eax
jne 0x58e05e
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.0x598dc1.14
lea eax, [esi + 1]
cmp eax, dword [ebx + 0x78]
jb case.0x598dc1.14
cmp dword [ebx + 0x18], 0
jne case.0x598dc1.14
cmp dword [ebx + 0x1c], 2
jne case.0x598dc1.14
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.0x598dc1.14
mov dword [ebx + 0x64], 1
cmp ecx, 1
jmp 0x598f12
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x58dffa
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x58dffa
cmp ecx, 1
je 0x58e05e
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
jne 0x58dffa
mov eax, ebx
mov eax, dword [eax + 0x78]
sub eax, dword [edi]
cmp esi, eax
jne 0x58dffa
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x88]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x58f9bb
cmp esi, dword [edx + 0x84]
jbe 0x58f9bb
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
test ebp, ebp
je 0x58e36a
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x74]
je 0x58e1fe
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x58e0dc
nop dword [eax]
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x58e0d0
mov ebp, dword [esp + 0x10]
cmp ecx, dword [ebp + 0x84]
jae 0x58e0ee
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov ecx, ebx
cmp ebx, 0xc0
jb 0x58e19f
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x58e11a
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x58e19b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x58e12d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x58e195
and eax, 0x3f
test bl, 8
jne 0x58e148
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x58e195
test bl, 4
jne 0x58e16c
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 0x58e195
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 [ebp + 0x54], 0
je 0x58e1e6
cmp ecx, 0x5f
je 0x58e1df
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x58e1df
cmp eax, 3
jne 0x58e200
mov edi, 1
jmp 0x58e202
cmp ecx, 0x100
jae 0x58e200
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x58e200
mov edi, 1
jmp 0x58e202
mov ebp, eax
xor edi, edi
cmp esi, dword [ebp + 0x78]
jb 0x58e238
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x58e229
cmp esi, dword [ebp + 0x84]
jbe 0x58e229
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x598f18
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov ebp, dword [esp + 0x18]
jmp 0x58e417
movzx edx, byte [esi]
mov ecx, edx
cmp edx, 0xc0
jb 0x58e2e9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x58e264
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x58e2e5
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x58e277
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x58e2df
and eax, 0x3f
test dl, 8
jne 0x58e292
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x58e2df
test dl, 4
jne 0x58e2b6
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 0x58e2df
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 [ebp + 0x54], 0
je 0x58e33f
cmp ecx, 0x5f
je 0x58e32d
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x58e32d
cmp eax, 3
jne 0x58e229
mov edx, dword [esp + 0x10]
mov ecx, 1
mov ebp, dword [esp + 0x18]
jmp 0x58e417
cmp ecx, 0x100
jae 0x58e229
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x58e229
mov edx, dword [esp + 0x10]
mov ecx, 1
mov ebp, dword [esp + 0x18]
jmp 0x58e417
cmp esi, dword [edx + 0x74]
je 0x58e3ec
cmp esi, dword [edx + 0x84]
ja 0x58e380
lea eax, [esi - 1]
mov dword [edx + 0x84], eax
cmp dword [edx + 0x54], 0
movzx ecx, byte [esi - 1]
je 0x58e3dc
cmp ecx, 0x5f
je 0x58e3d5
mov eax, ecx
test eax, eax
jns 0x58e398
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
and ecx, 0x8000007f
jns 0x58e3b2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x58e3d5
cmp eax, 3
jne 0x58e3ec
mov edi, 1
jmp 0x58e3ee
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je 0x58e3ec
mov edi, 1
jmp 0x58e3ee
xor edi, edi
cmp esi, dword [edx + 0x78]
jb 0x58e42f
mov eax, dword [edx + 0x88]
test eax, eax
je 0x58e415
cmp esi, dword [edx + 0x84]
jbe 0x58e415
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
xor ecx, ecx
mov ebx, dword [esp + 0x14]
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x14], ebx
cmp al, 5
jne 0x58e49d
xor eax, eax
cmp ecx, edi
sete al
jmp 0x58e4a4
cmp dword [edx + 0x54], 0
movzx ecx, byte [esi]
je 0x58e48a
cmp ecx, 0x5f
je 0x58e483
mov eax, ecx
test eax, eax
jns 0x58e446
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
and ecx, 0x8000007f
jns 0x58e460
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x58e483
cmp eax, 3
jne 0x58e415
mov ecx, 1
jmp 0x58e417
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je 0x58e415
mov ecx, 1
jmp 0x58e417
xor eax, eax
cmp ecx, edi
setne al
test eax, eax
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
jmp 0x58cc89
mov edx, dword [edx + 0x18]
test edx, edx
je 0x58e4e5
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x58e513
push ebp
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.0059ac50
add esp, 0x14
test eax, eax
jne case.0x598dc1.14
mov edx, dword [esp + 0x10]
jmp 0x58e515
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x78]
mov ecx, dword [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x58e515
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x58e515
cmp ecx, 1
je case.0x598dc1.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x598dc1.14
jmp 0x58e515
mov edx, eax
mov ecx, dword [edx + 0x88]
test ecx, ecx
je case.0x58ccbc.13
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb case.0x58ccbc.13
cmp dword [edx + 0x18], 0
jne case.0x58ccbc.13
cmp dword [edx + 0x1c], 2
jne case.0x58ccbc.13
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne case.0x58ccbc.13
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x598f18
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x5967e3
inc esi
test ebp, ebp
je 0x58e7ca
cmp esi, edx
jae 0x58e7ca
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x58e7ca
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x58e568
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
mov edi, dword [esp + 0x14]
inc esi
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc90
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x58e6a1
cmp ecx, 0xc0
jb 0x58e6a1
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x58e5e3
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x58e69f
test cl, 0x10
jne 0x58e604
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 0x58e69f
test cl, 8
jne 0x58e62e
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 0x58e69f
test cl, 4
jne 0x58e664
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 0x58e69f
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 0x58f9bb
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x58e7ae
cmp edx, 0xc0
jb 0x58e7ae
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x58e705
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x58e7ac
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x58e726
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x58e7ac
test dl, 8
jne 0x58e749
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 0x58e7ac
test dl, 4
jne 0x58e778
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 0x58e7ac
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.0x598dc1.14
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x58e8d6
cmp ecx, 0xc0
jb 0x58e8d6
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x58e818
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x58e8d4
test cl, 0x10
jne 0x58e839
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 0x58e8d4
test cl, 8
jne 0x58e863
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 0x58e8d4
test cl, 4
jne 0x58e899
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 0x58e8d4
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 0x58f9bb
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x58e9f6
cmp ecx, 0xc0
jb 0x58e9f6
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x58e938
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x58e9f4
test cl, 0x10
jne 0x58e959
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 0x58e9f4
test cl, 8
jne 0x58e983
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 0x58e9f4
test cl, 4
jne 0x58e9b9
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 0x58e9f4
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.0x598dc1.14
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x58eb16
cmp ecx, 0xc0
jb 0x58eb16
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x58ea58
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x58eb14
test cl, 0x10
jne 0x58ea79
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 0x58eb14
test cl, 8
jne 0x58eaa3
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 0x58eb14
test cl, 4
jne 0x58ead9
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 0x58eb14
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 0x58f9bb
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x58ec36
cmp ecx, 0xc0
jb 0x58ec36
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x58eb78
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x58ec34
test cl, 0x10
jne 0x58eb99
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 0x58ec34
test cl, 8
jne 0x58ebc3
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 0x58ec34
test cl, 4
jne 0x58ebf9
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 0x58ec34
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.0x598dc1.14
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x59680d
movzx edx, byte [esi]
inc esi
mov eax, esi
test ebp, ebp
je 0x58ed49
cmp edx, 0xc0
jb 0x58ed49
test dl, 0x20
jne 0x58ec9a
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x58ed47
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x58ecc1
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x58ed47
test dl, 8
jne 0x58ece4
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 0x58ed47
test dl, 4
jne 0x58ed13
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 0x58ed47
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, esi
cmp edx, 0xd
ja 0x58edbe
je 0x58ed64
cmp edx, 0xa
je 0x58e7ca
jbe case.0x598dc1.14
cmp edx, 0xc
jmp 0x58edcf
mov edx, dword [esp + 0x10]
cmp eax, edi
jb 0x58eda4
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x58f9bb
cmp eax, dword [edx + 0x84]
jbe 0x58f9bb
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x598f18
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp byte [esi], 0xa
jne 0x58f9bb
mov edi, dword [esp + 0x14]
lea esi, [eax + 1]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp edx, 0x85
je 0x58edd5
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x598dc1.14
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x68], 0
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ecx, byte [esi]
inc esi
test ebp, ebp
je 0x58eee7
cmp ecx, 0xc0
jb 0x58eee7
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x58ee2b
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x58eee7
test cl, 0x10
jne 0x58ee4c
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 0x58eee7
test cl, 8
jne 0x58ee76
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 0x58eee7
test cl, 4
jne 0x58eeac
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 0x58eee7
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, 0x180e
ja 0x58ef3d
je case.0x598dc1.14
cmp ecx, 0xa0
ja 0x58ef23
je case.0x598dc1.14
cmp ecx, 9
je case.0x598dc1.14
cmp ecx, 0x20
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp ecx, 0x1680
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp ecx, 0x205f
ja 0x58ef7d
je case.0x598dc1.14
cmp ecx, 0x2000
jb 0x58f9bb
cmp ecx, 0x200a
jbe case.0x598dc1.14
cmp ecx, 0x202f
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp ecx, 0x3000
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ecx, byte [esi]
inc esi
test ebp, ebp
je 0x58f08d
cmp ecx, 0xc0
jb 0x58f08d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x58efd1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x58f08d
test cl, 0x10
jne 0x58eff2
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 0x58f08d
test cl, 8
jne 0x58f01c
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 0x58f08d
test cl, 4
jne 0x58f052
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 0x58f08d
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, 0x180e
ja 0x58f0e3
je 0x58f9bb
cmp ecx, 0xa0
ja 0x58f0c9
je 0x58f9bb
cmp ecx, 9
je 0x58f9bb
cmp ecx, 0x20
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp ecx, 0x1680
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp ecx, 0x205f
ja 0x58f123
je 0x58f9bb
cmp ecx, 0x2000
jb case.0x598dc1.14
cmp ecx, 0x200a
jbe 0x58f9bb
cmp ecx, 0x202f
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp ecx, 0x3000
jne case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ecx, byte [esi]
inc esi
test ebp, ebp
je 0x58f233
cmp ecx, 0xc0
jb 0x58f233
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x58f177
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x58f233
test cl, 0x10
jne 0x58f198
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 0x58f233
test cl, 8
jne 0x58f1c2
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 0x58f233
test cl, 4
jne 0x58f1f8
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 0x58f233
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 0x58f261
je case.0x598dc1.14
cmp ecx, 0xa
jb 0x58f9bb
cmp ecx, 0xd
jbe case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp ecx, 0x2028
jb 0x58f9bb
cmp ecx, 0x2029
jbe case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ecx, byte [esi]
inc esi
test ebp, ebp
je 0x58f37d
cmp ecx, 0xc0
jb 0x58f37d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x58f2c1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x58f37d
test cl, 0x10
jne 0x58f2e2
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 0x58f37d
test cl, 8
jne 0x58f30c
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 0x58f37d
test cl, 4
jne 0x58f342
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 0x58f37d
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 0x58f3a5
je 0x58f9bb
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x598dc1.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx edx, byte [esi]
inc esi
mov edi, edx
test ebp, ebp
je 0x58f4bc
cmp edx, 0xc0
jb 0x58f4bc
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x58f3fe
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x58f4ba
test dl, 0x10
jne 0x58f41f
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 0x58f4ba
test dl, 8
jne 0x58f449
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 0x58f4ba
test dl, 4
jne 0x58f47f
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 0x58f4ba
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 + 0x78cc78]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ebx, word [ecx*2 + 0x78ee78]
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 1]
cmp eax, 0xa
ja case.default.0x58f4eb
jmp dword [eax*4 + 0x5995c0]
cmp dword [esp + 0x24], 0xf
jmp 0x58f73d
mov al, byte [ebx*8 + 0x78b8e1]
cmp al, 9
je 0x58f72c
cmp al, 5
je 0x58f72c
cmp al, 8
je 0x58f72c
xor ecx, ecx
jmp 0x58f731
mov edi, dword [esp + 0x14]
xor edx, edx
movzx ecx, byte [ebx*8 + 0x78b8e1]
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x78b2b0]
setne dl
xor eax, eax
cmp dword [esp + 0x24], 0x10
sete al
cmp edx, eax
je case.0x598dc1.14
mov edx, dword [esp + 0x10]
add edi, 3
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x78b8e1]
setne cl
xor eax, eax
cmp dword [esp + 0x24], 0x10
sete al
cmp ecx, eax
je case.0x598dc1.14
mov edx, dword [esp + 0x10]
add edi, 3
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x78b8e0]
setne cl
xor eax, eax
cmp dword [esp + 0x24], 0x10
sete al
cmp ecx, eax
je case.0x598dc1.14
mov edx, dword [esp + 0x10]
add edi, 3
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x14], edi
jmp 0x58cc90
movzx eax, byte [ebx*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x58f72c
cmp eax, 3
je 0x58f72c
xor ecx, ecx
jmp 0x58f731
cmp edx, 0x180e
ja 0x58f64d
je case.0x58f4eb.0
cmp edx, 0x85
ja 0x58f639
je case.0x58f4eb.0
cmp edx, 9
jb case.0x58f66d.8203
cmp edx, 0xd
jbe case.0x58f4eb.0
cmp edx, 0x20
jmp 0x58f686
cmp edx, 0xa0
je case.0x58f4eb.0
cmp edx, 0x1680
jmp 0x58f686
cmp edx, 0x202f
ja 0x58f674
je case.0x58f4eb.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x58f66d.8203
movzx eax, byte [edx + 0x5995f4]
jmp dword [eax*4 + 0x5995ec]
cmp edx, 0x205f
je case.0x58f4eb.0
cmp edx, 0x3000
je case.0x58f4eb.0
movzx eax, byte [ebx*8 + 0x78b8e1]
xor ecx, ecx
cmp dword [eax*4 + 0x78b2b0], 6
sete cl
jmp 0x58f731
movzx eax, byte [ebx*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x58f72c
cmp eax, 3
je 0x58f72c
cmp edi, 0x5f
je 0x58f72c
xor ecx, ecx
jmp 0x58f731
movzx eax, byte [ecx + 2]
mov ecx, dword [eax*4 + 0x78b7a0]
lea eax, [eax*4 + 0x78b7a0]
cmp edi, ecx
jb 0x58f6ed
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x58f6f4
mov ecx, dword [eax]
cmp edx, ecx
jae 0x58f6e0
cmp dword [esp + 0x24], 0x10
jmp 0x58f73d
cmp dword [esp + 0x24], 0x10
jne case.0x598dc1.14
jmp 0x58f743
cmp edi, 0x24
je 0x58f72c
cmp edi, 0x40
je 0x58f72c
cmp edi, 0x60
je 0x58f72c
cmp edi, 0xa0
jb 0x58f720
cmp edi, 0xd7ff
jbe 0x58f72c
cmp edi, 0xe000
jae 0x58f72c
xor ecx, ecx
jmp 0x58f731
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x24], 0xf
sete al
cmp ecx, eax
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x58cc90
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
mov ecx, esi
je 0x58f862
cmp ebx, 0xc0
jb 0x58f862
mov al, byte [esi]
test bl, 0x20
jne 0x58f7a6
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x58f860
movzx eax, al
lea ecx, [esi + 1]
and eax, 0x3f
test bl, 0x10
jne 0x58f7c9
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x58f858
lea edx, [esi + 2]
test bl, 8
jne 0x58f7ee
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x58f854
lea edi, [esi + 3]
test bl, 4
jne 0x58f81e
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x58f854
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ecx, esi
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
mov ebp, dword [edx + 0x78]
movzx eax, word [eax*2 + 0x78ee78]
movzx ebx, byte [eax*8 + 0x78b8e2]
cmp ecx, ebp
jae 0x58f9a6
cmp dword [esp + 0x18], 0
mov edi, 1
movzx edx, byte [esi]
je 0x58f963
cmp edx, 0xc0
jb 0x58f963
test dl, 0x20
jne 0x58f8c6
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x58f95b
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x58f8e5
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x58f95b
and eax, 0x3f
test dl, 8
jne 0x58f905
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x58f95b
test dl, 4
jne 0x58f92e
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 0x58f95b
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 + 0x78cc78]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x78ee78]
movzx ecx, byte [eax*8 + 0x78b8e2]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [ebx*4 + 0x78b328], eax
je 0x58f9a2
add esi, edi
mov ebx, ecx
cmp esi, ebp
jb 0x58f891
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x58f9bb
cmp esi, ebp
jb 0x58f9bb
jmp 0x58e07f
mov edx, eax
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x58cc85
mov ebp, dword [esp + 0x10]
xor ebx, ebx
cmp edi, 0x74
mov edi, dword [esp + 0x14]
sete bl
mov dword [esp + 0x30], ebx
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 [esp + 0x14], edi
imul ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x30]
add eax, ecx
test edx, edx
je 0x58fa3f
mov edi, eax
nop dword [eax]
movzx ecx, byte [eax]
dec edx
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esp + 0x4c], ecx
cmp ecx, dword [esp + 0x1c]
jge 0x58fa32
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x58fa44
mov eax, dword [ebp + 0x24]
add eax, edi
mov edi, eax
test edx, edx
jg 0x58fa10
jmp 0x58fa43
mov ecx, dword [esp + 0x4c]
dec edx
test edx, edx
jns 0x58fa58
mov ebp, dword [ebp + 0x50]
mov edi, dword [esp + 0x14]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
jmp 0x58fab5
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x14]
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, dword [eax + ecx*4]
jmp 0x58fab5
xor ebx, ebx
cmp edi, 0x72
mov edi, dword [esp + 0x14]
sete bl
mov dword [esp + 0x30], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
add edi, 3
shl ecx, 8
or ecx, eax
mov dword [esp + 0x14], edi
lea ebp, [ecx + ecx]
mov dword [esp + 0x4c], ebp
cmp ebp, dword [esp + 0x1c]
jge 0x58faab
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ebp*4]
test ecx, ecx
js 0x58faab
mov ebp, dword [eax + ebp*4 + 4]
sub ebp, ecx
jmp 0x58fab5
mov ebp, dword [edx + 0x50]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov dl, byte [edi]
movzx ecx, dl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x58facd
movzx eax, byte [eax + 0x599628]
jmp dword [eax*4 + 0x599620]
lea eax, [ecx - 0x62]
inc edi
movsx ebx, byte [eax + 0x78a968]
mov ecx, eax
movsx eax, byte [eax + 0x78a974]
and ecx, 1
test eax, eax
mov dword [esp + 0x3c], ecx
cmove eax, dword [esp + 0x5c]
mov dword [esp + 0x20], eax
jmp 0x58fb2e
movzx ebx, byte [edi + 1]
xor eax, eax
cmp dl, 0x69
movzx edx, byte [edi + 3]
sete al
shl ebx, 8
mov dword [esp + 0x3c], eax
movzx eax, byte [edi + 2]
or ebx, eax
shl edx, 8
movzx eax, byte [edi + 4]
or edx, eax
cmove edx, dword [esp + 0x5c]
add edi, 5
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], edi
mov ecx, ebx
test ebp, ebp
je 0x58d1f5
jns 0x58fb46
test ebx, ebx
je 0x58d1f5
mov edi, 1
cmp ecx, edi
jl 0x58fb75
nop
push dword [esp + 0x30]
push dword [esp + 0x14]
push ebp
push esi
push dword [esp + 0x5c]
call fcn.00599a10
add esp, 0x14
test eax, eax
js 0x596833
inc edi
add esi, eax
cmp edi, ebx
jle 0x58fb50
mov edi, dword [esp + 0x20]
cmp ebx, edi
je 0x58cc7d
cmp dword [esp + 0x3c], 0
je 0x59687c
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop dword [eax]
cmp ebx, dword [esp + 0x20]
jge case.0x598dc1.14
push dword [esp + 0x30]
mov edi, dword [esp + 0x14]
push edi
push ebp
push esi
push dword [esp + 0x5c]
call fcn.00599a10
add esp, 0x14
test eax, eax
js 0x596858
add esi, eax
inc ebx
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edi
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x58fbc0
jmp 0x5993a3
push ebx
mov ebx, dword [esp + 0x14]
push ebx
push ebp
push esi
push dword [esp + 0x5c]
call fcn.00599a10
add esp, 0x14
test eax, eax
js 0x596922
add esi, eax
mov edx, ebx
jmp 0x58cc85
mov ebp, dword [esp + 0x14]
mov cl, byte [ebp + 0x21]
lea ebx, [ebp + 1]
add ebp, 0x21
movzx edx, cl
mov dword [esp + 0x30], ebx
mov dword [esp + 0x14], ebp
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x58fc6a
movzx eax, byte [eax + 0x599638]
jmp dword [eax*4 + 0x599630]
lea eax, [edx - 0x62]
inc ebp
mov dword [esp + 0x14], ebp
cmp eax, 8
jae 0x58fc89
mov ecx, eax
and ecx, 1
mov dword [esp + 0x48], ecx
jmp 0x58fc91
mov dword [esp + 0x44], 1
movsx edx, byte [eax + 0x78a968]
movsx eax, byte [eax + 0x78a974]
mov dword [esp + 0x20], edx
mov dword [esp + 0x38], eax
test eax, eax
jne 0x58fd0a
mov dword [esp + 0x38], SysReAllocStringLen
jmp 0x58fd0a
movzx edx, byte [ebp + 1]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x48], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [ebp + 3]
sete al
shl edx, 8
mov dword [esp + 0x44], eax
movzx eax, byte [ebp + 2]
or edx, eax
shl ecx, 8
movzx eax, byte [ebp + 4]
or ecx, eax
cmove ecx, dword [esp + 0x5c]
add ebp, 5
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], ebp
jmp 0x58fd06
mov dword [esp + 0x38], 1
mov edx, 1
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x18]
mov ebp, 1
mov dword [esp + 0x3c], ebp
test ecx, ecx
je 0x58fe90
cmp edx, ebp
jl 0x58fed0
nop word [eax + eax]
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x34], ebx
cmp ebx, 0xc0
jb 0x58fe55
test bl, 0x20
jne 0x58fd6a
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x58fe55
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x58fd95
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 0x58fe55
lea edx, [esi + 2]
test bl, 8
jne 0x58fdc9
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 0x58fe51
lea edi, [esi + 3]
test bl, 4
jne 0x58fe05
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
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 0x58fe4d
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x34]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
cmp ebx, 0xff
jbe 0x58fe62
cmp edi, 0x6e
jmp 0x58fe77
mov eax, dword [esp + 0x50]
mov ecx, ebx
and ecx, 7
shr ebx, 3
shl eax, cl
mov ecx, dword [esp + 0x30]
test byte [ebx + ecx], al
je case.0x598dc1.14
inc ebp
mov dword [esp + 0x3c], ebp
cmp ebp, edx
jle 0x58fd30
mov ebx, dword [esp + 0x30]
jmp 0x58fecc
cmp edx, 1
jl 0x58fed0
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x5967e3
movzx edx, byte [esi]
inc esi
mov eax, dword [esp + 0x50]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x598dc1.14
mov edx, dword [esp + 0x20]
inc ebp
cmp ebp, edx
jle 0x58fea0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
cmp edx, eax
je 0x58cc7d
cmp dword [esp + 0x48], 0
jne 0x596959
mov ebp, esi
test ecx, ecx
je 0x5900e2
cmp edx, eax
jge 0x58ffea
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
cmp esi, ebx
jae 0x5900af
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x58ffd3
test dl, 0x20
jne 0x58ff32
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x58ffc7
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x58ff51
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x58ffc7
and eax, 0x3f
test dl, 8
jne 0x58ff71
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x58ffc7
test dl, 4
jne 0x58ff9a
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 0x58ffc7
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, dword [esp + 0x38]
cmp edx, 0xff
jbe 0x590078
cmp dword [esp + 0x24], 0x6e
jne 0x590097
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebx
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov eax, esi
dec esi
cmp eax, ebp
je case.0x598dc1.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x59004a
nop word [eax + eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x590040
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebx
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x590027
jmp 0x5993a3
mov eax, dword [esp + 0x50]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x30]
test byte [edx + ecx], al
je 0x58ffea
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
add esi, edi
inc edx
mov dword [esp + 0x20], edx
cmp edx, eax
jl 0x58ff00
jmp 0x58ffea
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x58ffee
cmp esi, dword [edx + 0x84]
jbe 0x58ffee
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x58ffee
cmp edx, eax
jge 0x59011a
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x59016c
movzx edx, byte [esi]
mov eax, dword [esp + 0x50]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je 0x59011a
mov eax, dword [esp + 0x20]
inc esi
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x38]
jl 0x5900f0
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
cmp esi, ebp
jb case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x10]
dec esi
cmp esi, ebp
jae 0x590131
jmp 0x5993a3
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x59011e
cmp esi, dword [edx + 0x84]
jbe 0x59011e
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x59011e
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
lea ebx, [edi + 3]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ebx
add edi, ecx
mov dword [esp + 0x14], edi
mov cl, byte [edi]
movzx edx, cl
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x5901ca
movzx eax, byte [eax + 0x59964c]
jmp dword [eax*4 + 0x599644]
lea eax, [edx - 0x62]
inc edi
mov dword [esp + 0x14], edi
cmp eax, 8
jae 0x5901e9
mov ecx, eax
and ecx, 1
mov dword [esp + 0x48], ecx
jmp 0x5901f1
mov dword [esp + 0x44], 1
movsx ebp, byte [eax + 0x78a968]
movsx eax, byte [eax + 0x78a974]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x590262
mov dword [esp + 0x20], SysReAllocStringLen
jmp 0x590262
movzx ebp, byte [edi + 1]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x48], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edi + 3]
sete al
shl ebp, 8
mov dword [esp + 0x44], eax
movzx eax, byte [edi + 2]
or ebp, eax
shl ecx, 8
movzx eax, byte [edi + 4]
or ecx, eax
cmove ecx, dword [esp + 0x5c]
add edi, 5
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edi
jmp 0x590262
mov dword [esp + 0x20], 1
mov ebp, 1
mov edi, 1
cmp ebp, edi
jl 0x59038a
nop
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ecx, byte [esi]
inc esi
mov edx, dword [esp + 0x18]
test edx, edx
je 0x59036e
cmp ecx, 0xc0
jb 0x59036e
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5902b2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x59036e
test cl, 0x10
jne 0x5902d3
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 0x59036e
test cl, 8
jne 0x5902fd
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 0x59036e
test cl, 4
jne 0x590333
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 0x59036e
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
push ebx
push ecx
call fcn.0059b270
add esp, 0xc
test eax, eax
je case.0x598dc1.14
inc edi
cmp edi, ebp
jle 0x590270
mov eax, dword [esp + 0x20]
cmp ebp, eax
je 0x58cc7d
cmp dword [esp + 0x48], 0
jne 0x596bbd
mov ebx, esi
cmp ebp, eax
jge 0x5904b3
nop dword [eax + eax]
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x590548
mov ecx, dword [esp + 0x18]
mov edi, 1
movzx edx, byte [esi]
test ecx, ecx
je 0x590494
cmp edx, 0xc0
jb 0x590494
test dl, 0x20
jne 0x5903f3
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x59048c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x590412
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x590488
and eax, 0x3f
test dl, 8
jne 0x590432
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x590488
test dl, 4
jne 0x59045b
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 0x590488
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 [esp + 0x18]
and eax, 0x3f
shl edx, 6
or edx, eax
push ecx
push dword [esp + 0x40]
push edx
call fcn.0059b270
add esp, 0xc
test eax, eax
je 0x5904b3
inc ebp
add esi, edi
cmp ebp, dword [esp + 0x20]
jl 0x5903b0
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebp
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov eax, esi
dec esi
cmp eax, ebx
je case.0x598dc1.14
cmp dword [esp + 0x18], 0
je 0x59051a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x59051a
nop word [eax + eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x590510
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebp
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5904f0
jmp 0x5993a3
mov eax, dword [edx + 0x88]
test eax, eax
je 0x5904b7
cmp esi, dword [edx + 0x84]
jbe 0x5904b7
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x5904b7
test ebp, ebp
je 0x5905fe
mov eax, dword [esp + 0x14]
mov edx, 1
inc eax
mov ecx, edx
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x5905c8
test al, 0x20
jne 0x5905a2
lea edx, [ecx + 1]
jmp 0x5905c6
test al, 0x10
jne 0x5905ad
mov edx, 3
jmp 0x5905c6
test al, 8
jne 0x5905b8
mov edx, 4
jmp 0x5905c6
mov edx, 5
test al, 4
je 0x5905c6
mov edx, 6
mov ecx, edx
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x78]
mov eax, edi
sub eax, esi
cmp ecx, eax
jg 0x596d41
mov edi, dword [esp + 0x14]
nop
mov cl, byte [edi]
dec edx
mov al, byte [esi]
inc edi
inc esi
mov dword [esp + 0x14], edi
cmp cl, al
jne case.0x598dc1.14
test edx, edx
jg 0x5905e0
mov edx, ebx
jmp 0x58cc89
mov eax, dword [edx + 0x78]
sub eax, esi
cmp eax, 1
jl 0x59680d
mov edi, dword [esp + 0x14]
mov al, byte [esi]
inc esi
cmp byte [edi + 1], al
jne case.0x598dc1.14
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x58cc90
cmp esi, dword [edx + 0x78]
jae 0x59680d
mov edi, dword [esp + 0x14]
test ebp, ebp
je 0x5908cf
movzx ebx, byte [edi + 1]
inc edi
mov dword [esp + 0x48], 1
mov edx, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], edx
cmp ebx, 0xc0
jb 0x590737
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x590687
mov eax, ebx
mov dword [esp + 0x48], 2
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x59072b
movzx eax, byte [edi + 2]
test bl, 0x10
jne 0x5906a5
and ebx, 0xf
mov dword [esp + 0x48], 3
shl ebx, 6
or ebx, ecx
jmp 0x590725
and eax, 0x3f
test bl, 8
jne 0x5906c8
and ebx, 7
mov dword [esp + 0x48], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x590725
test bl, 4
jne 0x5906f4
and ebx, 3
mov dword [esp + 0x48], 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 0x590725
and ebx, 1
mov dword [esp + 0x48], 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 [esp + 0x38], ebx
mov dword [esp + 0x20], edx
cmp edx, 0x80
jae 0x590764
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov edx, dword [eax + 0x38]
mov al, byte [ebx + edx]
cmp al, byte [ecx + edx]
jne case.0x598dc1.14
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
inc esi
jmp 0x58cc89
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
cmp ebx, 0xc0
jb 0x59087c
test bl, 0x20
jne 0x590791
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x59087c
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5907bc
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 0x59087c
lea edx, [esi + 2]
test bl, 8
jne 0x5907f0
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 0x590878
lea edi, [esi + 3]
test bl, 4
jne 0x59082c
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
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 0x590874
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
add edi, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], edi
cmp eax, ebx
je 0x58d8b0
mov eax, eax
test eax, eax
jns 0x590899
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x78cc78]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x78ee78]
mov eax, dword [eax*8 + 0x78b8e4]
add eax, edx
cmp ebx, eax
jne case.0x598dc1.14
mov edx, dword [esp + 0x10]
jmp 0x58cc89
mov edx, dword [edx + 0x38]
movzx eax, byte [edi + 1]
movzx ecx, byte [esi]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x598dc1.14
mov edx, dword [esp + 0x10]
inc esi
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov eax, dword [esp + 0x14]
movzx ebp, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ebp, 8
or ebp, eax
mov eax, dword [esp + 0x14]
add eax, 3
mov edx, ebp
mov dword [esp + 0x38], edx
mov ecx, eax
mov dword [esp + 0x14], eax
jmp 0x590a06
mov dword [esp + 0x44], 1
mov eax, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x38], edx
movzx ebp, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x34], ebp
cmp cl, 0x28
je 0x590950
mov dword [esp + 0x48], edx
cmp cl, 0x35
jne 0x590958
mov dword [esp + 0x48], 1
mov eax, dword [esp + 0x14]
add eax, 3
mov dword [esp + 0x14], eax
mov ecx, eax
jmp 0x590a0a
mov eax, dword [esp + 0x14]
xor edx, edx
inc eax
mov dword [esp + 0x44], 1
mov dword [esp + 0x38], edx
mov ecx, eax
mov dword [esp + 0x14], eax
jmp 0x590a01
mov eax, dword [esp + 0x14]
mov edx, 1
inc eax
mov dword [esp + 0x44], 1
mov dword [esp + 0x38], edx
mov ecx, eax
mov dword [esp + 0x14], eax
jmp 0x590a01
mov eax, dword [esp + 0x14]
xor edx, edx
inc eax
mov dword [esp + 0x44], 1
mov dword [esp + 0x38], edx
mov ecx, eax
mov dword [esp + 0x14], eax
lea ebp, [edx + 1]
jmp 0x590a06
mov ecx, dword [esp + 0x14]
cmp edi, 0x2e
mov ebx, edi
sbb eax, eax
inc ecx
and eax, 0xfffffff3
mov dword [esp + 0x14], ecx
add eax, 0x2e
sub ebx, eax
mov eax, ebx
and ebx, 1
mov dword [esp + 0x48], ebx
movsx ebp, byte [eax + 0x78a974]
movsx edx, byte [eax + 0x78a968]
mov eax, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebp
test ebp, ebp
jne 0x590a0a
mov ebp, bind
mov dword [esp + 0x34], ebp
cmp dword [esp + 0x18], 0
movzx ebx, byte [eax]
je 0x590e87
mov dword [esp + 0x3c], eax
cmp ebx, 0xc0
jb 0x590e84
movzx edx, byte [eax + 1]
and edx, 0x3f
test bl, 0x20
jne 0x590a50
and ebx, 0x1f
mov dword [esp + 0x20], 2
shl ebx, 6
or edx, ebx
add eax, 2
mov dword [esp + 0x14], eax
jmp 0x590b21
movzx eax, byte [eax + 2]
and eax, 0x3f
test bl, 0x10
jne 0x590a7b
and ebx, 0xf
mov dword [esp + 0x20], 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
add dword [esp + 0x14], 3
jmp 0x590b21
mov ecx, dword [esp + 0x14]
test bl, 8
jne 0x590aaa
and ebx, 7
mov dword [esp + 0x20], 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 0x590b1d
test bl, 4
jne 0x590ae1
and ebx, 3
mov dword [esp + 0x20], 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 0x590b1d
and ebx, 1
mov dword [esp + 0x20], 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 [esp + 0x14], ecx
cmp edi, 0x2e
jb 0x590b64
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x78cc78]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x78ee78]
mov eax, dword [eax*8 + 0x78b8e4]
add eax, edx
cmp eax, edx
je 0x590b64
lea ecx, [esp + 0x160]
push ecx
push eax
call fcn.0059af30
add esp, 8
jmp 0x590b66
xor eax, eax
mov ecx, dword [esp + 0x38]
mov ebx, 1
mov dword [esp + 0x24], eax
cmp ecx, ebx
jl 0x590c82
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov eax, dword [eax + 0x78]
mov ebp, eax
mov dword [esp + 0x30], eax
sub ebp, edi
nop
cmp esi, ebp
ja 0x590bf2
mov edx, dword [esp + 0x3c]
mov ecx, esi
sub edi, 4
jb 0x590bb1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x590bb6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x590ba0
cmp edi, 0xfffffffc
je 0x590be3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x590bee
cmp edi, 0xfffffffd
je 0x590be3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x590bee
cmp edi, 0xfffffffe
je 0x590be3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x590bee
cmp edi, 0xffffffff
je 0x590be3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x590bee
mov edi, dword [esp + 0x20]
add esi, edi
jmp 0x590c71
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
test edi, edi
jle 0x596d56
sub eax, edi
cmp esi, eax
ja 0x596d56
lea edx, [esp + 0x160]
mov ecx, esi
sub edi, 4
jb 0x590c27
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x590c2c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x590c16
cmp edi, 0xfffffffc
je 0x590c69
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x596d56
cmp edi, 0xfffffffd
je 0x590c69
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x596d56
cmp edi, 0xfffffffe
je 0x590c69
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x596d56
cmp edi, 0xffffffff
je 0x590c69
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x596d56
add esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
inc ebx
mov eax, dword [esp + 0x30]
cmp ebx, ecx
jle 0x590b90
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
cmp ecx, ebp
je 0x58cc6f
cmp dword [esp + 0x48], 0
jne 0x596d5f
mov ebx, esi
mov dword [esp + 0x30], ebx
cmp ecx, ebp
jge 0x590dc2
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, ebp
mov eax, dword [esp + 0x20]
sub ebx, eax
nop word [eax + eax]
cmp esi, ebx
ja 0x590d23
mov edx, dword [esp + 0x3c]
mov edi, eax
mov ecx, esi
sub edi, 4
jb 0x590ce6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x590ceb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x590cd1
mov eax, dword [esp + 0x20]
cmp edi, 0xfffffffc
je 0x590d1c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x590d23
cmp edi, 0xfffffffd
je 0x590d18
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x590d23
cmp edi, 0xfffffffe
je 0x590d18
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x590d23
cmp edi, 0xffffffff
je 0x590d18
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x590d23
mov eax, dword [esp + 0x20]
add esi, eax
jmp 0x590dab
mov edi, dword [esp + 0x24]
test edi, edi
jle 0x590e50
mov eax, ebp
sub eax, edi
cmp esi, eax
ja 0x590e50
lea edx, [esp + 0x160]
mov ecx, esi
sub edi, 4
jb 0x590d61
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x590d66
add ecx, 4
add edx, 4
sub edi, 4
jae 0x590d50
cmp edi, 0xfffffffc
je 0x590da3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x590e50
cmp edi, 0xfffffffd
je 0x590da3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x590e50
cmp edi, 0xfffffffe
je 0x590da3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x590e50
cmp edi, 0xffffffff
je 0x590da3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x590e50
add esi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
inc ecx
mov dword [esp + 0x38], ecx
cmp ecx, dword [esp + 0x34]
jl 0x590cc0
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
cmp esi, ebx
je 0x596625
nop dword [eax]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x590e21
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x590e17
mov edx, dword [esp + 0x10]
cmp esi, ebx
jne 0x590de0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ebp, dword [ecx + 0x4c]
mov dword [esp + 0x18], ebp
cmp eax, dword [ecx + 4]
jae 0x59939b
mov edx, dword [esp + 0x2c]
jmp 0x58cc31
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x590e7b
cmp esi, dword [edx + 0x78]
jb 0x590e7b
cmp esi, dword [edx + 0x84]
jbe 0x590e7b
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
mov ebx, dword [esp + 0x30]
jmp 0x590dc6
inc eax
jmp 0x590e8a
lea eax, [ecx + 1]
mov dword [esp + 0x14], eax
mov ecx, 1
cmp edi, 0x2e
jb 0x590f93
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x3c]
movzx ebp, byte [eax + ebx]
cmp edx, 1
jl 0x590edd
mov edx, dword [ecx + 0x78]
mov ecx, 1
mov edi, dword [esp + 0x38]
cmp esi, edx
jae 0x5967e3
movzx eax, byte [esi]
cmp ebx, eax
je 0x590ecf
cmp ebp, eax
jne case.0x598dc1.14
inc ecx
inc esi
cmp ecx, edi
jle 0x590eb8
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
cmp edx, edi
je 0x58cc7d
cmp dword [esp + 0x48], 0
jne 0x596edb
mov dword [esp + 0x3c], esi
cmp edx, edi
jge 0x590f15
mov ecx, dword [ecx + 0x78]
nop
cmp esi, ecx
jae 0x590f6b
movzx eax, byte [esi]
cmp ebx, eax
je 0x590f0f
cmp ebp, eax
jne 0x590f15
inc edx
inc esi
cmp edx, edi
jl 0x590f00
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
mov ebx, dword [esp + 0x3c]
cmp esi, ebx
je 0x590e29
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
dec esi
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x10]
cmp esi, ebx
jne 0x590f30
jmp 0x590e29
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x590f19
cmp esi, dword [edx + 0x84]
jbe 0x590f19
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x590f19
cmp edx, 1
jl 0x590fc0
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x5967e3
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x598dc1.14
inc ecx
cmp ecx, edi
jle 0x590fa3
mov edx, dword [esp + 0x38]
cmp edx, ebp
je 0x58cc7d
cmp dword [esp + 0x48], 0
jne 0x596f6e
mov edi, dword [esp + 0x34]
mov ebp, esi
cmp edx, edi
jge 0x590ff5
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x59104c
movzx eax, byte [esi]
cmp ebx, eax
jne 0x590ff5
inc edx
inc esi
cmp edx, edi
jl 0x590fe4
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
mov ebx, dword [esp + 0x1c]
cmp esi, ebp
je 0x596629
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
dec esi
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x10]
cmp esi, ebp
jne 0x591010
mov edi, dword [esp + 0x14]
jmp 0x590e31
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x590ff9
cmp esi, dword [edx + 0x84]
jbe 0x590ff9
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x590ff9
cmp esi, dword [edx + 0x78]
jae 0x59680d
mov ecx, dword [esp + 0x14]
test ebp, ebp
je 0x5912f9
movzx edx, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
cmp edx, 0xc0
jb 0x591184
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x5910bd
and edx, 0x1f
shl edx, 6
or edx, eax
inc ecx
jmp 0x59117c
test dl, 0x10
jne 0x5910de
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 2
jmp 0x59117c
test dl, 8
jne 0x59110b
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 3
jmp 0x59117c
test dl, 4
jne 0x591141
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 4
jmp 0x59117c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 5
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x30], ebx
cmp ebx, 0xc0
jb 0x591279
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x5911ae
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x591274
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5911cf
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x591274
lea edx, [esi + 2]
test bl, 8
jne 0x5911f8
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 0x591270
lea edi, [esi + 3]
test bl, 4
jne 0x591229
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 0x59126c
mov ebp, dword [esp + 0x30]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x30], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
and eax, 0x3f
or ebx, eax
cmp edi, 0x1f
jne 0x591293
cmp edx, ebx
je case.0x598dc1.14
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x58cc89
cmp edx, 0x7f
jbe 0x5912d1
mov eax, edx
test eax, eax
jns 0x5912a1
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x78cc78]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x5912bc
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x78ee78]
mov eax, dword [eax*8 + 0x78b8e4]
add eax, edx
jmp 0x5912dc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
cmp edx, ebx
je case.0x598dc1.14
cmp eax, ebx
je case.0x598dc1.14
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x58cc89
movzx edx, byte [esi]
inc esi
movzx ecx, byte [ecx + 1]
cmp ecx, edx
je case.0x598dc1.14
cmp edi, 0x20
jne 0x591321
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.0x598dc1.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x58cc90
mov ebx, dword [esp + 0x14]
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov edi, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x34], edi
mov ecx, ebx
jmp 0x591459
mov ebx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x34], edi
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x20], ebp
cmp cl, 0x42
je 0x591383
mov dword [esp + 0x48], edi
cmp cl, 0x4f
jne 0x59138b
mov dword [esp + 0x48], 1
add ebx, 3
mov ecx, ebx
jmp 0x591459
mov ebx, dword [esp + 0x14]
xor edi, edi
inc ebx
mov dword [esp + 0x44], 1
mov dword [esp + 0x34], edi
mov ecx, ebx
jmp 0x591451
mov ebx, dword [esp + 0x14]
mov edi, 1
inc ebx
mov dword [esp + 0x44], 1
mov dword [esp + 0x34], edi
mov ecx, ebx
jmp 0x591451
mov ebx, dword [esp + 0x14]
xor edi, edi
inc ebx
mov dword [esp + 0x44], 1
mov dword [esp + 0x34], edi
mov ecx, ebx
mov dword [esp + 0x20], 1
jmp 0x591459
mov ebx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x44], 1
mov dword [esp + 0x34], edi
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov dword [esp + 0x20], ebp
mov ecx, ebx
jmp 0x591459
mov ebx, dword [esp + 0x14]
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 [esp + 0x48], edx
movsx edi, byte [eax + 0x78a968]
movsx eax, byte [eax + 0x78a974]
mov dword [esp + 0x34], edi
mov dword [esp + 0x20], eax
test eax, eax
jne 0x591459
mov dword [esp + 0x20], SysReAllocStringLen
movzx ebx, byte [ebx]
inc ecx
mov eax, dword [esp + 0x18]
mov edx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x591565
cmp ebx, 0xc0
jb 0x591565
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x591498
and ebx, 0x1f
shl ebx, 6
or ebx, eax
inc ecx
jmp 0x591557
test bl, 0x10
jne 0x5914b9
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 0x591557
test bl, 8
jne 0x5914e6
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 0x591557
test bl, 4
jne 0x59151c
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 0x591557
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 [esp + 0x18]
mov edx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x24], 0x48
jb 0x5919e3
test eax, eax
je 0x5915a6
cmp edx, 0x7f
jbe 0x5915a6
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x78cc78]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x78ee78]
mov ecx, dword [esp + 0x10]
mov ebp, dword [eax*8 + 0x78b8e4]
add ebp, edx
jmp 0x5915b1
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x3c]
movzx ebp, byte [eax + ebx]
cmp dword [esp + 0x18], 0
mov edx, 1
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x30], edx
je 0x59171d
cmp edi, edx
jl 0x591746
mov eax, dword [esp + 0x38]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x24], ebx
cmp ebx, 0xc0
jb 0x5916fa
test bl, 0x20
jne 0x59160b
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x5916f6
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x591636
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 0x5916f2
lea edx, [esi + 2]
test bl, 8
jne 0x59166a
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 0x5916ee
lea edi, [esi + 3]
test bl, 4
jne 0x5916a6
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
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 0x5916ea
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x24]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
cmp eax, ebx
je case.0x598dc1.14
mov ebp, dword [esp + 0x3c]
cmp ebp, ebx
je case.0x598dc1.14
inc edx
mov dword [esp + 0x30], edx
cmp edx, edi
jle 0x5915d5
jmp 0x591746
cmp edi, 1
jl 0x591746
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x5967e3
movzx eax, byte [esi]
cmp ebx, eax
je case.0x598dc1.14
cmp ebp, eax
je case.0x598dc1.14
inc edx
inc esi
cmp edx, edi
jle 0x591725
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
cmp edi, eax
je 0x58cc6f
cmp dword [esp + 0x48], 0
jne 0x596ff8
cmp dword [esp + 0x18], 0
mov ebx, esi
je 0x591939
cmp edi, eax
jge 0x5918a9
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x59190e
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x59188c
test dl, 0x20
jne 0x5917bb
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x59188c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x5917e5
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 0x591888
test dl, 8
jne 0x591814
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 0x591888
test dl, 4
jne 0x59184c
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 0x591888
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 [esp + 0x38]
cmp ecx, edx
je 0x5918a9
cmp ebp, edx
je 0x5918a9
add esi, eax
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x20]
jl 0x591781
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
cmp esi, ebx
je 0x590e29
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x591901
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x5918f7
mov edx, dword [esp + 0x10]
cmp esi, ebx
jne 0x5918c0
jmp 0x590e29
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x5918ad
cmp esi, dword [edx + 0x84]
jbe 0x5918ad
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x5918ad
cmp edi, eax
jge 0x591963
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x5919bb
movzx eax, byte [esi]
cmp edx, eax
je 0x591963
cmp ebp, eax
je 0x591963
inc edi
inc esi
cmp edi, dword [esp + 0x20]
jl 0x591948
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
cmp esi, ebx
je 0x590e29
nop word [eax + eax]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x10]
dec esi
cmp esi, ebx
jne 0x591980
jmp 0x590e29
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x591967
cmp esi, dword [edx + 0x84]
jbe 0x591967
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x591967
mov edx, 1
mov dword [esp + 0x30], edx
test eax, eax
je 0x591b25
mov ebp, dword [esp + 0x38]
cmp edi, edx
jl 0x591b56
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x24], ebx
cmp ebx, 0xc0
jb 0x591b0e
test bl, 0x20
jne 0x591a3a
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x591b0e
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x591a60
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x591b05
lea edx, [esi + 2]
test bl, 8
jne 0x591a89
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 0x591b01
lea edi, [esi + 3]
test bl, 4
jne 0x591aba
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 0x591afd
mov ebp, dword [esp + 0x24]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x24], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
or ebx, eax
cmp ebp, ebx
je case.0x598dc1.14
inc edx
mov dword [esp + 0x30], edx
cmp edx, edi
jle 0x591a04
jmp 0x591b52
cmp edi, 1
jl 0x591bca
mov ebp, dword [esp + 0x10]
mov ecx, dword [ebp + 0x78]
cmp esi, ecx
jae 0x596b1e
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.0x598dc1.14
inc edx
cmp edx, edi
jle 0x591b35
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
cmp edi, ecx
je 0x58cc6f
cmp dword [esp + 0x48], 0
jne 0x59723c
mov ebx, esi
test eax, eax
je 0x591d49
cmp edi, ecx
jge 0x591cb8
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x591d1e
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x591ca1
test dl, 0x20
jne 0x591bd0
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x591ca1
mov ebp, dword [esp + 0x38]
jmp 0x591b56
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x591bfa
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 0x591c9d
test dl, 8
jne 0x591c29
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 0x591c9d
test dl, 4
jne 0x591c61
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 0x591c9d
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 [esp + 0x20]
cmp ebp, edx
je 0x591cb8
add esi, eax
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
cmp eax, ecx
jl 0x591b90
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
cmp esi, ebx
je 0x590e29
nop
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x591d11
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x591d07
mov edx, dword [esp + 0x10]
cmp esi, ebx
jne 0x591cd0
jmp 0x590e29
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x591cbc
cmp esi, dword [edx + 0x84]
jbe 0x591cbc
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x591cbc
mov edx, dword [esp + 0x10]
cmp edi, ecx
jge 0x591d8b
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x591d69
movzx eax, byte [esi]
cmp ebp, eax
je 0x591d8b
inc edi
inc esi
cmp edi, dword [esp + 0x20]
jl 0x591d54
jmp 0x591d8b
mov eax, dword [edx + 0x88]
test eax, eax
je 0x591d8b
cmp esi, dword [edx + 0x84]
jbe 0x591d8b
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
cmp dword [esp + 0x44], 0
jne 0x58cc81
cmp esi, ebx
je 0x590e29
nop
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x10]
dec esi
cmp esi, ebx
jne 0x591da0
jmp 0x590e29
mov edi, dword [esp + 0x14]
mov dword [esp + 0x48], 1
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov ebx, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], ebx
mov ecx, edi
jmp 0x591ef5
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x24], 0
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
cmp cl, 0x5c
mov dword [esp + 0x34], edx
sete bl
add edi, 3
mov dword [esp + 0x48], ebx
mov ecx, edi
xor ebx, ebx
jmp 0x591ef5
mov edi, dword [esp + 0x14]
xor ebx, ebx
inc edi
mov dword [esp + 0x44], 1
mov dword [esp + 0x24], ebx
mov ecx, edi
jmp 0x591eed
mov edi, dword [esp + 0x14]
mov ebx, 1
inc edi
mov dword [esp + 0x44], 1
mov dword [esp + 0x24], ebx
mov ecx, edi
jmp 0x591eed
mov edi, dword [esp + 0x14]
xor ebx, ebx
inc edi
mov dword [esp + 0x44], 1
mov dword [esp + 0x24], ebx
mov ecx, edi
mov dword [esp + 0x34], 1
jmp 0x591ef5
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x44], 1
mov dword [esp + 0x24], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov dword [esp + 0x34], ecx
mov ecx, edi
jmp 0x591ef5
lea ebx, [edi - 0x55]
mov edi, dword [esp + 0x14]
mov eax, ebx
inc edi
and ebx, 1
mov ecx, edi
mov dword [esp + 0x48], ebx
movsx ebx, byte [eax + 0x78a968]
movsx eax, byte [eax + 0x78a974]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], eax
test eax, eax
jne 0x591ef5
mov dword [esp + 0x34], SysReAllocStringLen
movzx ebp, byte [edi]
lea edx, [ecx + 1]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x14], edx
cmp ebp, 0x10
je 0x591f16
cmp ebp, 0xf
je 0x591f16
mov edx, dword [esp + 0x54]
or eax, 0xffffffff
jmp 0x591f36
mov cl, byte [edx]
xor eax, eax
cmp ebp, 0xf
sete al
mov dword [esp + 0x40], eax
lea eax, [edx + 1]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x54], edx
movzx eax, cl
mov dword [esp + 0x3c], eax
test ebx, ebx
jle 0x592141
test eax, eax
js 0x592d65
cmp eax, 0xa
ja case.default.0x58f4eb
jmp dword [eax*4 + 0x599658]
cmp dword [esp + 0x40], 0
jne case.0x598dc1.14
mov ecx, 1
cmp ebx, ecx
jl 0x592141
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x598eee
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
je 0x591fbf
cmp eax, 0xc0
jb 0x591fbf
test al, 0x20
jne 0x591fa1
inc esi
jmp 0x591fbf
test al, 0x10
jne 0x591faa
add esi, 2
jmp 0x591fbf
test al, 8
jne 0x591fb3
add esi, 3
jmp 0x591fbf
test al, 4
jne 0x591fbc
add esi, 4
jmp 0x591fbf
add esi, 5
inc ecx
cmp ecx, ebx
jle 0x591f80
mov edx, edi
jmp 0x5939b0
mov edx, dword [esp + 0x10]
mov ecx, 1
mov dword [esp + 0x30], ecx
cmp ebx, ecx
jl 0x5939b0
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x20], ebx
je 0x5920e6
cmp ebx, 0xc0
jb 0x5920e6
mov al, byte [esi]
test bl, 0x20
jne 0x59201d
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x5920de
lea ecx, [esi + 1]
test bl, 0x10
jne 0x59203e
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x5920da
lea edx, [esi + 2]
test bl, 8
jne 0x59206c
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x5920d6
movzx ebp, al
lea edi, [esi + 3]
and ebp, 0x3f
test bl, 4
jne 0x5920a0
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x5920d6
mov eax, dword [esp + 0x20]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp eax, 9
je 0x59211d
cmp eax, 5
je 0x59211d
cmp eax, 8
je 0x59211d
xor eax, eax
jmp 0x592122
mov eax, 1
cmp eax, dword [esp + 0x40]
je case.0x598dc1.14
mov ebx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, ebx
jle 0x591fe0
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, 1
mov dword [esp + 0x30], edx
cmp ebx, edx
jl 0x592141
nop word [eax + eax]
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x20], ebx
je 0x59225a
cmp ebx, 0xc0
jb 0x59225a
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x5921a9
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x59225a
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5921c4
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x592252
lea edx, [esi + 2]
test bl, 8
jne 0x5921ea
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x59224e
lea edi, [esi + 3]
test bl, 4
jne 0x592218
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x59224e
mov eax, dword [esp + 0x20]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x30]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ebx, dword [esp + 0x54]
mov eax, ebp
shr eax, 7
and ebp, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp dword [eax*4 + 0x78b2b0], ebx
sete cl
cmp ecx, dword [esp + 0x40]
je case.0x598dc1.14
mov ebx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x30], edx
cmp edx, ebx
jle 0x592160
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, 1
mov dword [esp + 0x30], edx
cmp ebx, edx
jl 0x592141
nop word [eax + eax]
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x20], ebx
je 0x5923d6
cmp ebx, 0xc0
jb 0x5923d6
mov al, byte [esi]
test bl, 0x20
jne 0x592311
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x5923ce
lea ecx, [esi + 1]
test bl, 0x10
jne 0x592332
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x5923ce
lea edx, [esi + 2]
test bl, 8
jne 0x59235e
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x5923ca
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x592394
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x5923ca
mov ebp, dword [esp + 0x20]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x30]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x40]
je case.0x598dc1.14
mov ebx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x30], edx
cmp edx, ebx
jle 0x5922d0
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, 1
mov dword [esp + 0x30], edx
cmp ebx, edx
jl 0x592141
nop dword [eax]
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x20], ebx
je 0x59253a
cmp ebx, 0xc0
jb 0x59253a
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x592489
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x59253a
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5924a4
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x592532
lea edx, [esi + 2]
test bl, 8
jne 0x5924ca
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x59252e
lea edi, [esi + 3]
test bl, 4
jne 0x5924f8
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x59252e
mov eax, dword [esp + 0x20]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x30]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e0]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x40]
je case.0x598dc1.14
mov ebx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x30], edx
cmp edx, ebx
jle 0x592440
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, dword [esp + 0x10]
mov ecx, 1
mov dword [esp + 0x30], ecx
cmp ebx, ecx
jl 0x5939b0
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x20], ebx
je 0x5926ae
cmp ebx, 0xc0
jb 0x5926ae
mov al, byte [esi]
test bl, 0x20
jne 0x5925e1
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x5926a6
lea ecx, [esi + 1]
test bl, 0x10
jne 0x592602
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x5926a2
lea edx, [esi + 2]
test bl, 8
jne 0x59262e
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x59269e
lea edi, [esi + 3]
test bl, 4
jne 0x592662
movzx ebp, al
and ebx, 3
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x59269e
mov ebp, dword [esp + 0x20]
lea ebx, [esi + 4]
and ebp, 1
movzx eax, al
and eax, 0x3f
shl ebp, 6
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x5926e7
cmp eax, 3
je 0x5926e7
xor eax, eax
jmp 0x5926ec
mov eax, 1
cmp eax, dword [esp + 0x40]
je case.0x598dc1.14
mov ebx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, ebx
jle 0x5925a4
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edi, 1
cmp ebx, edi
jl 0x592141
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
mov ebx, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x5967e3
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov edx, ecx
je 0x59282f
cmp ecx, 0xc0
jb 0x59282f
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x59276e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x59282d
test cl, 0x10
jne 0x59278f
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 0x59282d
test cl, 8
jne 0x5927bc
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 0x59282d
test cl, 4
jne 0x5927f2
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 0x59282d
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, 0x180e
ja 0x592872
je case.0x592892.8192
cmp ecx, 0x85
ja 0x59285e
je case.0x592892.8192
cmp ecx, 9
jb case.0x592892.8203
cmp ecx, 0xd
jbe case.0x592892.8192
cmp ecx, 0x20
jmp 0x5928a7
cmp ecx, 0xa0
je case.0x592892.8192
cmp ecx, 0x1680
jmp 0x5928a7
cmp ecx, 0x202f
ja 0x592899
je case.0x592892.8192
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x592892.8203
movzx eax, byte [ecx + 0x59968c]
jmp dword [eax*4 + 0x599684]
cmp ecx, 0x205f
je case.0x592892.8192
cmp ecx, 0x3000
je case.0x592892.8192
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp dword [eax*4 + 0x78b2b0], 6
sete cl
cmp ecx, dword [esp + 0x40]
je case.0x598dc1.14
jmp 0x5928f1
cmp dword [esp + 0x40], 0
jne case.0x598dc1.14
inc edi
cmp edi, ebp
jle 0x592730
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, 1
mov dword [esp + 0x30], edx
cmp ebx, edx
jl 0x592141
nop dword [eax]
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x20], ebx
je 0x592a1b
cmp ebx, 0xc0
jb 0x592a1b
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x592961
inc esi
and ebp, 0x1f
jmp 0x592a13
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x592981
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x592a13
lea edx, [esi + 2]
test bl, 8
jne 0x5929a9
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x592a0f
lea edi, [esi + 3]
test bl, 4
jne 0x5929d9
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x592a0f
mov ebp, dword [esp + 0x20]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x30]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x78cc78]
mov eax, ebp
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x592a5b
cmp eax, 3
je 0x592a5b
cmp ebp, 0x5f
je 0x592a5b
xor eax, eax
jmp 0x592a60
mov eax, 1
cmp eax, dword [esp + 0x40]
je case.0x598dc1.14
mov ebx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x30], edx
cmp edx, ebx
jle 0x592920
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov ebx, 1
cmp dword [esp + 0x24], ebx
jl 0x5928fa
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
nop
cmp esi, ebp
jae 0x5967e3
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov edi, ecx
je 0x592b9f
cmp ecx, 0xc0
jb 0x592b9f
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x592ade
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x592b9d
test cl, 0x10
jne 0x592aff
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 0x592b9d
test cl, 8
jne 0x592b2c
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 0x592b9d
test cl, 4
jne 0x592b62
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 0x592b9d
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
lea eax, [edx*4 + 0x78b7a0]
mov edx, dword [eax]
cmp edi, edx
jb 0x592bbd
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x592be8
mov edx, dword [eax]
cmp ecx, edx
jae 0x592bb0
cmp dword [esp + 0x40], 0
je case.0x598dc1.14
mov edx, dword [esp + 0x54]
inc ebx
cmp ebx, dword [esp + 0x24]
jle 0x592aa0
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
cmp dword [esp + 0x40], 0
jne case.0x598dc1.14
jmp 0x592bc8
mov edx, dword [esp + 0x10]
mov ecx, 1
mov dword [esp + 0x30], ecx
cmp ebx, ecx
jl 0x5939b0
nop word [eax + eax]
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x20], ebx
je 0x592d0d
cmp ebx, 0xc0
jb 0x592d0d
test bl, 0x20
jne 0x592c53
movzx eax, byte [esi]
and ebp, 0x1f
shl ebp, 6
and eax, 0x3f
or ebp, eax
inc esi
jmp 0x592d0d
mov al, byte [esi]
lea ecx, [esi + 1]
movzx ebp, al
and ebp, 0x3f
test bl, 0x10
jne 0x592c76
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x592d01
lea edx, [esi + 2]
test bl, 8
jne 0x592c99
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x592cfd
lea edi, [esi + 3]
test bl, 4
jne 0x592cc7
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x592cfd
mov eax, dword [esp + 0x20]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
and eax, 0x3f
shl ebp, 6
or ebp, eax
cmp ebp, 0x24
je 0x592d38
cmp ebp, 0x40
je 0x592d38
cmp ebp, 0x60
je 0x592d38
cmp ebp, 0xa0
jb 0x592d2c
cmp ebp, 0xd7ff
jbe 0x592d38
cmp ebp, 0xe000
jae 0x592d38
xor eax, eax
jmp 0x592d3d
mov eax, 1
cmp eax, dword [esp + 0x40]
je case.0x598dc1.14
mov ebx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, ebx
jle 0x592c10
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
cmp ebp, 0x16
jne 0x59300d
mov edx, dword [esp + 0x10]
mov dword [esp + 0x30], 1
cmp ebx, 1
jl 0x5939b0
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ebx, byte [esi]
inc esi
mov ecx, dword [esp + 0x18]
mov ebp, ebx
mov dword [esp + 0x20], ebx
test ecx, ecx
je 0x592e7e
cmp ebx, 0xc0
jb 0x592e7e
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x592dc9
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x592e7e
lea ecx, [esi + 1]
test bl, 0x10
jne 0x592de4
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x592e72
lea edx, [esi + 2]
test bl, 8
jne 0x592e0a
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x592e6e
lea edi, [esi + 3]
test bl, 4
jne 0x592e38
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x592e6e
mov eax, dword [esp + 0x20]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
mov edi, esi
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
mov ebp, dword [edx + 0x78]
movzx eax, word [eax*2 + 0x78ee78]
movzx ebx, byte [eax*8 + 0x78b8e2]
cmp edi, ebp
jae 0x592fc9
nop
movzx edx, byte [esi]
mov edi, 1
test ecx, ecx
je 0x592f82
cmp edx, 0xc0
jb 0x592f82
test dl, 0x20
jne 0x592ee2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x592f7a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x592f04
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x592f7a
and eax, 0x3f
test dl, 8
jne 0x592f24
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x592f7a
test dl, 4
jne 0x592f4d
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 0x592f7a
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 + 0x78cc78]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x78ee78]
movzx ecx, byte [eax*8 + 0x78b8e2]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [ebx*4 + 0x78b328], eax
je 0x592fc5
add esi, edi
mov ebx, ecx
mov ecx, dword [esp + 0x18]
cmp esi, ebp
jb 0x592eb0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x592fef
cmp esi, ebp
jb 0x592fef
cmp esi, dword [edx + 0x84]
jbe 0x592fef
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x30], eax
cmp eax, ebx
jle 0x592d83
mov ebp, dword [esp + 0x38]
jmp 0x5939b0
mov ecx, dword [esp + 0x18]
lea eax, [ebp - 6]
test ecx, ecx
je 0x593b53
cmp eax, 0xf
ja case.default.0x58f4eb
jmp dword [eax*4 + 0x5996b8]
mov ebp, dword [esp + 0x24]
mov ebx, 1
cmp ebp, ebx
jl 0x593f54
nop dword [eax]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x59680d
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x593077
push dword [esp + 0x18]
push edi
push eax
push ecx
push esi
call fcn.0059ac50
add esp, 0x14
test eax, eax
jne case.0x598dc1.14
mov edx, dword [esp + 0x10]
jmp 0x59309b
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x59309b
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x59309b
cmp ecx, 1
je case.0x598dc1.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x598dc1.14
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x5930cf
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x5930cf
cmp dword [edx + 0x18], 0
jne 0x5930cf
cmp dword [edi], 2
jne 0x5930cf
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x5930cf
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x598f18
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x5930f1
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5930f1
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x5930e0
inc ebx
cmp ebx, ebp
jle 0x593040
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edi, 1
cmp ebx, edi
jl 0x593f4b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov ebx, dword [ecx + 0x78]
cmp esi, ebx
jae 0x5967e7
mov edx, dword [ecx + 0x78]
inc esi
cmp esi, edx
jae 0x59314e
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x593146
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x593135
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
inc edi
cmp edi, eax
jle 0x593123
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x598dc1.14
add esi, ebx
jmp 0x5939b4
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x5967e7
movzx ecx, byte [esi]
inc esi
mov eax, esi
cmp ecx, 0xc0
jb 0x593284
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5931c3
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x593282
test cl, 0x10
jne 0x5931e4
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 0x593282
test cl, 8
jne 0x593211
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 0x593282
test cl, 4
jne 0x593247
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 0x593282
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, 0xd
ja 0x5932a7
je 0x593295
cmp ecx, 0xa
je 0x5932ce
lea eax, [ecx - 0xb]
jmp 0x5932b5
cmp eax, edi
jae 0x5932ce
cmp byte [esi], 0xa
mov ecx, dword [esp + 0x10]
jne 0x5932d2
lea esi, [eax + 1]
jmp 0x5932d2
cmp ecx, 0x85
je 0x5932be
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x598dc1.14
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x68], 0
jne case.0x598dc1.14
jmp 0x5932d2
mov ecx, dword [esp + 0x10]
inc edx
cmp edx, ebx
jle 0x593190
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edi, 1
cmp ebx, edi
jl 0x593f4b
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
cmp esi, ebx
jae 0x5967e3
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x5933d6
test dl, 0x20
jne 0x593329
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x5933d6
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x593350
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x5933d6
test dl, 8
jne 0x593373
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 0x5933d6
test dl, 4
jne 0x5933a2
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 0x5933d6
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, 0x180e
ja 0x593408
je case.0x598dc1.14
cmp edx, 0xa0
ja 0x593400
je case.0x598dc1.14
cmp edx, 9
je case.0x598dc1.14
cmp edx, 0x20
jmp 0x593438
cmp edx, 0x1680
jmp 0x593438
cmp edx, 0x205f
ja 0x593432
je case.0x598dc1.14
cmp edx, 0x2000
jb 0x59343e
cmp edx, 0x200a
jbe case.0x598dc1.14
cmp edx, 0x202f
jmp 0x593438
cmp edx, 0x3000
je case.0x598dc1.14
inc edi
cmp edi, dword [esp + 0x24]
jle 0x5932f8
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x5967e3
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x59355d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5934a1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x59355d
test cl, 0x10
jne 0x5934c2
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 0x59355d
test cl, 8
jne 0x5934ec
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 0x59355d
test cl, 4
jne 0x593522
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 0x59355d
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, 0x180e
ja 0x593583
je 0x5935b5
cmp ecx, 0xa0
ja 0x59357b
je 0x5935b5
cmp ecx, 9
je 0x5935b5
cmp ecx, 0x20
jmp 0x5935af
cmp ecx, 0x1680
jmp 0x5935af
cmp ecx, 0x205f
ja 0x5935a9
je 0x5935b5
cmp ecx, 0x2000
jb case.0x598dc1.14
cmp ecx, 0x200a
jbe 0x5935b5
cmp ecx, 0x202f
jmp 0x5935af
cmp ecx, 0x3000
jne case.0x598dc1.14
inc edx
cmp edx, ebx
jle 0x593470
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x5967e3
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x5936cd
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x593611
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5936cd
test cl, 0x10
jne 0x593632
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 0x5936cd
test cl, 8
jne 0x59365c
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 0x5936cd
test cl, 4
jne 0x593692
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 0x5936cd
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 0x5936e5
je case.0x598dc1.14
cmp ecx, 0xa
jb 0x5936f9
cmp ecx, 0xd
jmp 0x5936f3
cmp ecx, 0x2028
jb 0x5936f9
cmp ecx, 0x2029
jbe case.0x598dc1.14
inc edx
cmp edx, ebx
jle 0x5935e0
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
nop
cmp esi, edi
jae 0x5967e3
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x59380d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x593751
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x59380d
test cl, 0x10
jne 0x593772
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 0x59380d
test cl, 8
jne 0x59379c
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 0x59380d
test cl, 4
jne 0x5937d2
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 0x59380d
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 0x59381f
je 0x59382e
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x593828
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x598dc1.14
inc edx
cmp edx, ebx
jle 0x593720
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
cmp esi, edi
jae 0x5967e3
movzx ecx, byte [esi]
inc esi
mov eax, ecx
cmp ecx, 0xc0
jb 0x593945
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x593887
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x593943
test cl, 0x10
jne 0x5938a8
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 0x593943
test cl, 8
jne 0x5938d2
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 0x593943
test cl, 4
jne 0x593908
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 0x593943
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, 0x80
jae 0x59395d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x598dc1.14
inc edx
cmp edx, ebx
jle 0x593854
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x597462
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x598dc1.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x598dc1.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x593980
mov edx, eax
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
cmp ebx, edi
je 0x58cc81
cmp dword [esp + 0x48], 0
mov eax, dword [esp + 0x3c]
jne 0x597479
mov ebp, esi
mov dword [esp + 0x20], ebp
test eax, eax
js 0x594ce8
cmp eax, 0xa
ja case.default.0x58f4eb
jmp dword [eax*4 + 0x5996f8]
mov edx, dword [esp + 0x10]
mov edi, 1
cmp ebx, edi
jl 0x5939b4
mov ebx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x59680d
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x593a20
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x598dc1.14
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x593a41
mov ecx, esi
nop word [eax + eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x593a41
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x593a30
mov edx, dword [esp + 0x10]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x593a00
mov ebx, dword [esp + 0x24]
jmp 0x5939b0
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x597462
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x598dc1.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x598dc1.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x593a70
jmp 0x5939ae
mov edx, dword [esp + 0x10]
mov edi, 1
cmp ebx, edi
jl 0x5939b4
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x59680d
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x593ad7
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x598dc1.14
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x593af2
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x593af2
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x593ae1
mov edx, dword [esp + 0x10]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x593ab7
mov ebx, dword [esp + 0x24]
jmp 0x5939b0
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x597462
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x598dc1.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x598dc1.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x593b20
jmp 0x5939ae
cmp eax, 0xf
ja case.default.0x58f4eb
jmp dword [eax*4 + 0x599724]
mov edx, dword [esp + 0x24]
mov ebx, 1
cmp edx, ebx
jl 0x593f47
mov edi, dword [esp + 0x10]
nop dword [eax + eax]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x598eee
mov ecx, dword [edi + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x593bb1
push 0
push edi
push eax
push ecx
push esi
call fcn.0059ac50
add esp, 0x14
test eax, eax
jne case.0x598dc1.14
mov edx, dword [esp + 0x24]
jmp 0x593be1
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x593be1
mov ebp, dword [esp + 0x10]
mov al, byte [esi]
cmp al, byte [ebp + 0x34]
mov ebp, dword [esp + 0x38]
jne 0x593be1
cmp ecx, 1
je case.0x598dc1.14
mov ecx, dword [esp + 0x10]
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.0x598dc1.14
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x88]
test ecx, ecx
je 0x593c31
mov ebp, dword [esp + 0x10]
lea eax, [esi + 1]
cmp eax, dword [ebp + 0x78]
mov ebp, dword [esp + 0x38]
jb 0x593c2b
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x18], 0
jne 0x593c31
cmp dword [edi], 2
jne 0x593c31
mov edi, dword [esp + 0x10]
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x593c33
mov dword [edi + 0x64], 1
cmp ecx, 1
jg 0x598f18
jmp 0x593c33
mov edi, dword [esp + 0x10]
jmp 0x593c33
mov edi, eax
inc ebx
inc esi
cmp ebx, edx
jle 0x593b80
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
jmp 0x5939b0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja 0x59680d
add esi, ebx
jmp 0x5939b4
mov ecx, 1
cmp ebx, ecx
jl 0x592141
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x598eee
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x598dc1.14
movzx eax, byte [eax + 0x599774]
jmp dword [eax*4 + 0x599764]
cmp esi, edx
jae case.0x593c97.10
cmp byte [esi], 0xa
jne case.0x593c97.10
inc esi
jmp case.0x593c97.10
cmp dword [edi + 0x68], 0
jne case.0x598dc1.14
inc ecx
cmp ecx, ebx
jle 0x593c76
mov edx, edi
jmp 0x5939b0
mov ecx, 1
cmp ebx, ecx
jl 0x592141
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x598eee
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x598dc1.14
cmp eax, 0x20
je case.0x598dc1.14
cmp eax, 0xa0
je case.0x598dc1.14
inc ecx
cmp ecx, ebx
jle 0x593cd4
mov edx, edi
jmp 0x5939b0
mov ecx, 1
cmp ebx, ecx
jl 0x592141
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x598eee
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x593d41
cmp eax, 0x20
je 0x593d41
cmp eax, 0xa0
jne case.0x598dc1.14
inc ecx
cmp ecx, ebx
jle 0x593d20
mov edx, edi
jmp 0x5939b0
mov ecx, 1
cmp ebx, ecx
jl 0x592141
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x598eee
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jb 0x593d86
cmp eax, 0xd
jbe case.0x598dc1.14
cmp eax, 0x85
je case.0x598dc1.14
inc ecx
cmp ecx, ebx
jle 0x593d61
mov edx, edi
jmp 0x5939b0
mov ecx, 1
cmp ebx, ecx
jl 0x592141
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x598eee
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jb case.0x598dc1.14
cmp eax, 0xd
jbe 0x593dcb
cmp eax, 0x85
jne case.0x598dc1.14
inc ecx
cmp ecx, ebx
jle 0x593da6
mov edx, edi
jmp 0x5939b0
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x597462
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x598dc1.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x593df0
jmp 0x5939ae
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x597462
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x598dc1.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x593e30
jmp 0x5939ae
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x597462
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x598dc1.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x593e70
jmp 0x5939ae
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x597462
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x598dc1.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x593eb0
jmp 0x5939ae
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x597462
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x598dc1.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x593ee7
jmp 0x5939ae
mov edx, 1
cmp ebx, edx
jl 0x593f4b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x597462
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x598dc1.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x593f20
jmp 0x5939ae
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
jmp 0x5939b4
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
jmp 0x5939b4
cmp ebx, edi
jge 0x594afd
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x593fd4
cmp dword [esp + 0x18], 0
mov eax, 1
movzx ecx, byte [esi]
je 0x593fbd
cmp ecx, 0xc0
jb 0x593fbd
test cl, 0x20
jne 0x593f97
mov eax, 2
jmp 0x593fbd
test cl, 0x10
jne 0x593fa3
mov eax, 3
jmp 0x593fbd
test cl, 8
jne 0x593faf
mov eax, 4
jmp 0x593fbd
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esp + 0x40], 0
jne 0x594af9
inc ebx
add esi, eax
cmp ebx, edi
jl 0x593f70
jmp 0x594af9
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x594afd
cmp esi, dword [edx + 0x84]
jbe 0x594afd
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x594afd
cmp ebx, edi
jge 0x594afd
mov edi, dword [edx + 0x78]
mov edx, 1
cmp esi, edi
jae 0x593fd4
cmp dword [esp + 0x18], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x5940fa
cmp eax, 0xc0
jb 0x5940fa
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x594051
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x5940f8
test al, 0x10
jne 0x59406b
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x5940f2
test al, 8
jne 0x59408e
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 0x5940f2
test al, 4
jne 0x5940bd
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 0x5940f2
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 + 0x78cc78]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp eax, 9
je 0x594131
cmp eax, 5
je 0x594131
cmp eax, 8
je 0x594131
xor eax, eax
jmp 0x594136
mov eax, 1
cmp eax, dword [esp + 0x40]
je 0x594af9
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x34]
jl 0x594012
jmp 0x594af9
cmp ebx, edi
jge 0x594afd
mov edi, dword [edx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x593fd4
cmp dword [esp + 0x18], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x59424c
cmp eax, 0xc0
jb 0x59424c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5941a3
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x59424a
test al, 0x10
jne 0x5941bd
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x594244
test al, 8
jne 0x5941e0
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 0x594244
test al, 4
jne 0x59420f
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 0x594244
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 ebp, dword [esp + 0x54]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp dword [eax*4 + 0x78b2b0], ebp
mov ebp, dword [esp + 0x20]
sete cl
cmp ecx, dword [esp + 0x40]
je 0x594af9
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x34]
jl 0x594160
jmp 0x594af9
cmp ebx, edi
jge 0x594afd
mov edi, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x593fd4
cmp dword [esp + 0x18], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x59439c
cmp eax, 0xc0
jb 0x59439c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5942f3
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x59439a
test al, 0x10
jne 0x59430d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x594394
test al, 8
jne 0x594330
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 0x594394
test al, 4
jne 0x59435f
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 0x594394
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 + 0x78cc78]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x40]
je 0x594af9
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x34]
jl 0x5942b0
jmp 0x594af9
cmp ebx, edi
jge 0x594afd
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x593fd4
cmp dword [esp + 0x18], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x5944dc
cmp eax, 0xc0
jb 0x5944dc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x594433
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x5944da
test al, 0x10
jne 0x59444d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x5944d4
test al, 8
jne 0x594470
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 0x5944d4
test al, 4
jne 0x59449f
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 0x5944d4
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 + 0x78cc78]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e0]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x40]
je 0x594af9
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x34]
jl 0x5943f0
jmp 0x594af9
cmp ebx, edi
jge 0x594afd
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x593fd4
cmp dword [esp + 0x18], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x59461c
cmp eax, 0xc0
jb 0x59461c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x594573
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x59461a
test al, 0x10
jne 0x59458d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x594614
test al, 8
jne 0x5945b0
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 0x594614
test al, 4
jne 0x5945df
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 0x594614
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 + 0x78cc78]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x594655
cmp eax, 3
je 0x594655
xor eax, eax
jmp 0x59465a
mov eax, 1
cmp eax, dword [esp + 0x40]
je 0x594af9
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x34]
jl 0x594530
jmp 0x594af9
cmp ebx, edi
jge 0x594afd
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x594836
cmp dword [esp + 0x18], 0
movzx edx, byte [esi]
mov ecx, edx
je 0x594762
cmp edx, 0xc0
jb 0x594762
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x5946ca
mov eax, edx
mov edi, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x59475e
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x5946e2
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x594758
and eax, 0x3f
test dl, 8
jne 0x594702
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x594758
test dl, 4
jne 0x59472b
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 0x594758
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, 0x180e
ja 0x5947a1
je case.0x5947bd.8192
cmp edx, 0x85
ja 0x594791
je case.0x5947bd.8192
cmp edx, 9
jb case.0x5947bd.8203
cmp edx, 0xd
jbe case.0x5947bd.8192
cmp edx, 0x20
jmp 0x5947d2
cmp edx, 0xa0
je case.0x5947bd.8192
cmp edx, 0x1680
jmp 0x5947d2
cmp edx, 0x202f
ja 0x5947c4
je case.0x5947bd.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x5947bd.8203
movzx eax, byte [edx + 0x5997f8]
jmp dword [eax*4 + 0x5997f0]
cmp edx, 0x205f
je case.0x5947bd.8192
cmp edx, 0x3000
je case.0x5947bd.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp dword [eax*4 + 0x78b2b0], 6
sete cl
cmp ecx, dword [esp + 0x40]
je 0x594af9
jmp 0x59481c
cmp dword [esp + 0x40], 0
jne 0x594af9
mov eax, dword [esp + 0x24]
add esi, edi
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x34]
jl 0x594681
jmp 0x594af9
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x594afd
cmp esi, dword [edx + 0x84]
jbe 0x594afd
mov dword [edx + 0x64], edi
cmp eax, 1
jg 0x598f18
jmp 0x594afd
cmp ebx, edi
jge 0x594afd
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x594836
movzx eax, byte [esi]
mov edx, eax
test ecx, ecx
je 0x594955
cmp eax, 0xc0
jb 0x594955
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x5948ac
and eax, 0x1f
mov edi, 2
shl eax, 6
jmp 0x594953
test al, 0x10
jne 0x5948c6
and eax, 0xf
mov edi, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x59494d
test al, 8
jne 0x5948e9
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 0x59494d
test al, 4
jne 0x594918
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 0x59494d
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 + 0x78cc78]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x594995
cmp eax, 3
je 0x594995
cmp edx, 0x5f
je 0x594995
xor eax, eax
jmp 0x59499a
mov eax, 1
cmp eax, dword [esp + 0x40]
je 0x594af9
mov eax, dword [esp + 0x24]
add esi, edi
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x34]
jl 0x594870
jmp 0x594af9
cmp ebx, edi
jge 0x594afd
mov ebp, dword [edx + 0x78]
nop dword [eax]
mov ebx, 1
cmp esi, ebp
jae 0x594b77
movzx edx, byte [esi]
mov edi, edx
test ecx, ecx
je 0x594aae
cmp edx, 0xc0
jb 0x594aae
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x594a16
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x594aaa
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x594a2e
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x594aa4
and eax, 0x3f
test dl, 8
jne 0x594a4e
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x594aa4
test dl, 4
jne 0x594a77
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 0x594aa4
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 [esp + 0x54]
mov ecx, dword [eax*4 + 0x78b7a0]
lea eax, [eax*4 + 0x78b7a0]
cmp edi, ecx
jb 0x594ad5
lea eax, [eax + 4]
cmp edx, ecx
je 0x594b6b
mov ecx, dword [eax]
cmp edx, ecx
jae 0x594ac4
cmp dword [esp + 0x40], 0
je 0x594af5
mov eax, dword [esp + 0x24]
add esi, ebx
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x34]
jl 0x5949d0
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
mov ebx, dword [esp + 0x1c]
cmp esi, ebp
je 0x596629
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
dec esi
cmp dword [esp + 0x18], eax
je 0x594b5a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x594b5a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x594b50
mov edx, dword [esp + 0x10]
cmp esi, ebp
jne 0x594b14
mov edi, dword [esp + 0x14]
jmp 0x590e31
cmp dword [esp + 0x40], 0
jne 0x594af5
jmp 0x594adc
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x594b99
cmp esi, dword [edx + 0x84]
jbe 0x594b99
mov dword [edx + 0x64], ebx
cmp eax, 1
jg 0x598f18
mov ebp, dword [esp + 0x20]
jmp 0x594afd
cmp ebx, edi
jge 0x594afd
mov edi, dword [edx + 0x78]
nop dword [eax]
mov edx, 1
cmp esi, edi
jae 0x593fd4
cmp dword [esp + 0x18], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x594c9c
cmp eax, 0xc0
jb 0x594c9c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x594bf3
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x594c9a
test al, 0x10
jne 0x594c0d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x594c94
test al, 8
jne 0x594c30
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 0x594c94
test al, 4
jne 0x594c5f
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 0x594c94
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 0x594cc7
cmp ecx, 0x40
je 0x594cc7
cmp ecx, 0x60
je 0x594cc7
cmp ecx, 0xa0
jb 0x594cbb
cmp ecx, 0xd7ff
jbe 0x594cc7
cmp ecx, 0xe000
jae 0x594cc7
xor eax, eax
jmp 0x594ccc
mov eax, 1
cmp eax, dword [esp + 0x40]
je 0x594af9
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x34]
jl 0x594bb0
jmp 0x594af9
mov eax, dword [esp + 0x38]
cmp eax, 0x16
jne 0x595008
cmp ebx, edi
jge 0x594fb3
nop dword [eax]
cmp esi, dword [edx + 0x78]
jae 0x594f8d
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
mov ebp, ebx
test ecx, ecx
je 0x594e04
cmp ebx, 0xc0
jb 0x594e04
mov al, byte [esi]
test bl, 0x20
jne 0x594d42
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x594e04
lea ecx, [esi + 1]
test bl, 0x10
jne 0x594d63
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x594df8
movzx eax, al
lea edx, [esi + 2]
and eax, 0x3f
test bl, 8
jne 0x594d8e
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x594df4
lea edi, [esi + 3]
test bl, 4
jne 0x594dbe
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x594df4
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
mov edi, esi
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
mov ebp, dword [edx + 0x78]
movzx eax, word [eax*2 + 0x78ee78]
movzx ebx, byte [eax*8 + 0x78b8e2]
cmp edi, ebp
jae 0x594f4e
movzx edx, byte [esi]
mov edi, 1
test ecx, ecx
je 0x594f07
cmp edx, 0xc0
jb 0x594f07
test dl, 0x20
jne 0x594e67
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x594eff
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x594e89
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x594eff
and eax, 0x3f
test dl, 8
jne 0x594ea9
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x594eff
test dl, 4
jne 0x594ed2
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 0x594eff
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 + 0x78cc78]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x78ee78]
movzx ecx, byte [eax*8 + 0x78b8e2]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [ebx*4 + 0x78b328], eax
je 0x594f4a
add esi, edi
mov ebx, ecx
mov ecx, dword [esp + 0x18]
cmp esi, ebp
jb 0x594e35
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x594f74
cmp esi, ebp
jb 0x594f74
cmp esi, dword [edx + 0x84]
jbe 0x594f74
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x34]
jl 0x594d00
jmp 0x594faf
mov eax, dword [edx + 0x88]
test eax, eax
je 0x594faf
cmp esi, dword [edx + 0x84]
jbe 0x594faf
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
mov ebp, dword [esp + 0x20]
cmp dword [esp + 0x44], 0
jne 0x58cc81
cmp esi, ebp
je 0x590e29
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov ecx, dword [esp + 0x18]
dec esi
test ecx, ecx
jne 0x5962a7
movzx edx, byte [esi]
jmp 0x596368
add eax, 0xfffffffa
test ecx, ecx
je 0x595da6
cmp eax, 0xf
ja case.default.0x58f4eb
jmp dword [eax*4 + 0x599824]
cmp edi, 0x7fffffff
jge 0x5950fa
cmp ebx, edi
jge 0x595d19
nop word [eax + eax]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x595209
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x595073
push dword [esp + 0x18]
push edi
push eax
push ecx
push esi
call fcn.0059ac50
add esp, 0x14
test eax, eax
jne 0x595d19
mov edx, dword [esp + 0x10]
jmp 0x595097
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x595097
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x595097
cmp ecx, 1
je 0x595d19
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x595d19
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x5950cb
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x5950cb
cmp dword [edx + 0x18], 0
jne 0x5950cb
cmp dword [edi], 2
jne 0x5950cb
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x5950cb
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x598f18
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x5950e6
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5950e6
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x5950d5
inc ebx
cmp ebx, dword [esp + 0x34]
jge 0x595d19
mov edx, dword [esp + 0x10]
jmp 0x595040
cmp ebx, edi
jge 0x595d19
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x595209
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x595135
push dword [esp + 0x18]
push edi
push eax
push ecx
push esi
call fcn.0059ac50
add esp, 0x14
test eax, eax
jne 0x595d19
mov edx, dword [esp + 0x10]
jmp 0x595159
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x595159
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x595159
cmp ecx, 1
je 0x595d19
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x595d19
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x59518d
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x59518d
cmp dword [edx + 0x18], 0
jne 0x59518d
cmp dword [edi], 2
jne 0x59518d
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x59518d
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x598f18
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x5951a8
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5951a8
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x595197
inc ebx
cmp ebx, dword [esp + 0x34]
jge 0x595d19
mov edx, dword [esp + 0x10]
jmp 0x595102
cmp edi, 0x7fffffff
jge 0x595206
cmp ebx, edi
jge 0x595d19
mov edi, dword [edx + 0x78]
mov eax, dword [esp + 0x34]
cmp esi, edi
jae 0x595209
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x5951f6
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5951f2
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x5951e1
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
inc ebx
cmp ebx, eax
jl 0x5951d3
mov ecx, edx
jmp 0x595d1d
mov esi, dword [edx + 0x78]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x595d19
cmp esi, dword [edx + 0x84]
jbe 0x595d19
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x595d19
mov ecx, dword [edx + 0x78]
sub edi, ebx
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x59525d
mov eax, dword [edx + 0x88]
mov esi, ecx
test eax, eax
je 0x595d19
cmp ecx, dword [edx + 0x84]
jmp 0x59521d
add esi, edi
jmp 0x595d19
cmp ebx, edi
jge 0x595d19
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x5953d8
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x595377
test dl, 0x20
jne 0x5952aa
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x595377
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x5952d4
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 0x595377
test dl, 8
jne 0x595303
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 0x595377
test dl, 4
jne 0x59533b
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 0x595377
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
cmp edx, 0xd
jne 0x59538d
inc esi
cmp esi, edi
jae 0x595d19
cmp byte [esi], 0xa
jne 0x5953c8
inc esi
jmp 0x5953c8
cmp edx, 0xa
je 0x5953c6
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x68], 0
jne 0x595d1d
cmp edx, 0xb
je 0x5953c6
cmp edx, 0xc
je 0x5953c6
cmp edx, 0x85
je 0x5953c6
cmp edx, 0x2028
je 0x5953c6
cmp edx, 0x2029
jne 0x595d1d
add esi, eax
inc ebx
cmp ebx, dword [esp + 0x34]
jl 0x595270
jmp 0x595d19
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x5953fe
cmp esi, dword [edx + 0x84]
jbe 0x5953fe
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
mov ecx, edx
jmp 0x595d1d
cmp ebx, edi
jge 0x595d19
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x595567
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x5954e2
test dl, 0x20
jne 0x595442
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x5954da
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x595464
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x5954da
and eax, 0x3f
test dl, 8
jne 0x595484
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5954da
test dl, 4
jne 0x5954ad
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 0x5954da
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, 0x180e
ja 0x595508
je 0x595536
cmp edx, 0xa0
ja 0x595500
je 0x595536
cmp edx, 9
je 0x595536
cmp edx, 0x20
jmp 0x595530
cmp edx, 0x1680
jmp 0x595530
cmp edx, 0x205f
ja 0x59552a
je 0x595536
cmp edx, 0x2000
jb 0x595532
cmp edx, 0x200a
jbe 0x595536
cmp edx, 0x202f
jmp 0x595530
cmp edx, 0x3000
je 0x595536
xor ecx, ecx
jmp 0x59553b
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x38], 0x12
sete al
cmp ecx, eax
je 0x595d19
mov eax, dword [esp + 0x24]
add esi, edi
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x34]
jl 0x595410
jmp 0x595d19
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x5953fe
cmp esi, dword [edx + 0x84]
jbe 0x5953fe
mov dword [edx + 0x64], edi
cmp eax, 1
jg 0x598f18
mov ecx, edx
jmp 0x595d1d
cmp ebx, edi
jge 0x595d19
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x5953d8
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x595675
test dl, 0x20
jne 0x5955d5
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x59566d
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5955f7
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x59566d
and eax, 0x3f
test dl, 8
jne 0x595617
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x59566d
test dl, 4
jne 0x595640
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 0x59566d
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 0x5956b7
je 0x5956c2
cmp edx, 0xa
jb 0x595689
cmp edx, 0xd
jbe 0x5956c2
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x38], 0x14
sete al
cmp ecx, eax
je 0x595d19
mov eax, dword [esp + 0x24]
add esi, edi
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x34]
jl 0x5955a3
jmp 0x595d19
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x595689
mov ecx, 1
jmp 0x59568b
cmp ebx, edi
jge 0x595d19
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x5953d8
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x5957ac
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x595710
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x5957a8
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x59572b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5957a2
and eax, 0x3f
test dl, 8
jne 0x59574b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5957a2
test dl, 4
jne 0x595774
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 0x5957a2
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 0x5957c4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne 0x595d19
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x34]
jl 0x5956d4
jmp 0x595d19
cmp ebx, edi
jge 0x595d19
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x5953d8
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x5958b9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x59581d
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x5958b5
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x595838
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5958af
and eax, 0x3f
test dl, 8
jne 0x595858
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5958af
test dl, 4
jne 0x595881
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 0x5958af
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 0x595d19
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je 0x595d19
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x34]
jl 0x5957e1
jmp 0x595d19
cmp ebx, edi
jge 0x595d19
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x5953d8
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x5959ca
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x59592e
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x5959c6
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x595949
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5959c0
and eax, 0x3f
test dl, 8
jne 0x595969
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5959c0
test dl, 4
jne 0x595992
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 0x5959c0
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 0x5959e2
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne 0x595d19
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x34]
jl 0x5958f2
jmp 0x595d19
cmp ebx, edi
jge 0x595d19
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x5953d8
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x595ad8
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x595a3c
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x595ad4
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x595a57
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x595ace
and eax, 0x3f
test dl, 8
jne 0x595a77
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x595ace
test dl, 4
jne 0x595aa0
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 0x595ace
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 0x595d19
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je 0x595d19
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x34]
jl 0x595a00
jmp 0x595d19
cmp ebx, edi
jge 0x595d19
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x5953d8
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x595be9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x595b4d
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x595be5
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x595b68
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x595bdf
and eax, 0x3f
test dl, 8
jne 0x595b88
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x595bdf
test dl, 4
jne 0x595bb1
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 0x595bdf
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 0x595c01
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne 0x595d19
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x34]
jl 0x595b11
jmp 0x595d19
cmp ebx, edi
jge 0x595d19
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x5953d8
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x595cf8
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x595c5c
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x595cf4
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x595c77
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x595cee
and eax, 0x3f
test dl, 8
jne 0x595c97
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x595cee
test dl, 4
jne 0x595cc0
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 0x595cee
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 0x595d19
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x595d19
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x34]
jl 0x595c20
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc7d
mov ebx, dword [esp + 0x1c]
cmp esi, ebp
je 0x596629
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ecx
push ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
jne 0x595d7c
nop word [eax + eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
je 0x595d70
cmp dword [esp + 0x38], 0x11
jne 0x595d95
cmp ecx, ebp
jbe 0x595d95
cmp byte [esi], 0xa
jne 0x595d95
cmp byte [esi - 1], 0xd
jne 0x595d95
lea esi, [ecx - 1]
mov ecx, dword [esp + 0x10]
cmp esi, ebp
jne 0x595d34
mov edi, dword [esp + 0x14]
jmp 0x590e31
cmp eax, 0xf
ja case.default.0x58f4eb
jmp dword [eax*4 + 0x599864]
cmp ebx, edi
jge 0x5960e2
nop
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x595fdb
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x595df1
push 0
push edi
push eax
push ecx
push esi
call fcn.0059ac50
mov edx, dword [esp + 0x24]
add esp, 0x14
test eax, eax
jne 0x5960e2
jmp 0x595e15
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x595e15
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x595e15
cmp ecx, 1
je 0x5960e2
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x5960e2
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x595e49
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x595e49
cmp dword [edx + 0x18], 0
jne 0x595e49
cmp dword [edi], 2
jne 0x595e49
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x595e49
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x598f18
inc ebx
inc esi
cmp ebx, dword [esp + 0x34]
jl 0x595dc0
jmp 0x5960e2
mov ecx, dword [edx + 0x78]
sub edi, ebx
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x595e82
mov eax, dword [edx + 0x88]
mov esi, ecx
test eax, eax
je 0x5960e2
cmp ecx, dword [edx + 0x84]
jmp 0x595fef
add esi, edi
jmp 0x5960e2
cmp ebx, edi
jge 0x5960e2
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x595fdb
mov al, byte [esi]
cmp al, 0xd
jne 0x595eb2
inc esi
cmp esi, ecx
jae 0x5960e2
cmp byte [esi], 0xa
jne 0x595ed1
jmp 0x595ed0
cmp al, 0xa
je 0x595ed0
cmp dword [edx + 0x68], 0
jne 0x5960e2
cmp al, 0xb
je 0x595ed0
cmp al, 0xc
je 0x595ed0
cmp al, 0x85
jne 0x5960e2
inc esi
inc ebx
cmp ebx, edi
jl 0x595e94
jmp 0x5960e2
cmp ebx, edi
jge 0x5960e2
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x595fdb
mov al, byte [esi]
cmp al, 9
je 0x5960e2
cmp al, 0x20
je 0x5960e2
cmp al, 0xa0
je 0x5960e2
inc ebx
inc esi
cmp ebx, edi
jl 0x595ee6
jmp 0x5960e2
cmp ebx, edi
jge 0x5960e2
mov ecx, dword [edx + 0x78]
nop
cmp esi, ecx
jae 0x595fdb
mov al, byte [esi]
cmp al, 9
je 0x595f3a
cmp al, 0x20
je 0x595f3a
cmp al, 0xa0
jne 0x5960e2
inc ebx
inc esi
cmp ebx, edi
jl 0x595f20
jmp 0x5960e2
cmp ebx, edi
jge 0x5960e2
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x595fdb
mov al, byte [esi]
cmp al, 0xa
jb 0x595f6e
cmp al, 0xd
jbe 0x5960e2
cmp al, 0x85
je 0x5960e2
inc ebx
inc esi
cmp ebx, edi
jl 0x595f50
jmp 0x5960e2
cmp ebx, edi
jge 0x5960e2
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x595fdb
mov al, byte [esi]
cmp al, 0xa
jb 0x5960e2
cmp al, 0xd
jbe 0x595f9e
cmp al, 0x85
jne 0x5960e2
inc ebx
inc esi
cmp ebx, edi
jl 0x595f84
jmp 0x5960e2
cmp ebx, edi
jge 0x5960e2
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x595fd7
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne 0x5960de
inc ebx
inc esi
cmp ebx, edi
jl 0x595fb4
jmp 0x5960de
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x5960e2
cmp esi, dword [edx + 0x84]
jbe 0x5960e2
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x598f18
jmp 0x5960e2
cmp ebx, edi
jge 0x5960e2
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x595fd7
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je 0x5960de
inc ebx
inc esi
cmp ebx, edi
jl 0x596015
jmp 0x5960de
cmp ebx, edi
jge 0x5960e2
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x595fd7
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne 0x5960de
inc ebx
inc esi
cmp ebx, edi
jl 0x596043
jmp 0x5960de
cmp ebx, edi
jge 0x5960e2
mov edx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x595fd7
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je 0x5960de
inc ebx
inc esi
cmp ebx, edi
jl 0x596070
jmp 0x5960de
cmp ebx, edi
jge 0x5960e2
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x595fd7
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne 0x5960de
inc ebx
inc esi
cmp ebx, edi
jl 0x596097
jmp 0x5960de
cmp ebx, edi
jge 0x5960e2
mov edx, dword [edx + 0x78]
nop
cmp esi, edx
jae 0x595fd7
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x5960de
inc ebx
inc esi
cmp ebx, edi
jl 0x5960c0
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
jne 0x58cc81
cmp esi, ebp
je 0x590e29
mov ebx, dword [esp + 0x1c]
nop dword [eax]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
dec esi
cmp dword [esp + 0x38], 0x11
jne 0x596142
cmp esi, ebp
jbe 0x596144
cmp byte [esi], 0xa
jne 0x596142
cmp byte [esi - 1], 0xd
jne 0x596142
dec esi
cmp esi, ebp
mov edx, dword [esp + 0x10]
jne 0x596100
mov edi, dword [esp + 0x14]
jmp 0x590e31
mov eax, dword [esp + 0x188]
inc eax
cmp byte [edi], 0x7a
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push ebx
push edx
jne 0x596191
lea eax, [edi + 3]
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov ebp, dword [esp + 0x30]
mov edi, ebp
mov dword [esp + 0x14], edi
jmp 0x590e31
push dword [esp + 0x44]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov edi, dword [esp + 0x14]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x590e31
cmp dword [esp + 0x24], 0x8c
jne 0x590e2d
mov dword [ebp + 0x98], 2
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x28]
push dword [esp + 0x38]
push edi
push esi
call fcn.0058cb40
add esp, 0x1c
jmp 0x5993a3
mov al, byte [edi]
cmp al, 0x7b
je 0x596756
mov ebx, dword [esp + 0x1c]
cmp al, 0x7a
mov eax, dword [esp + 0x188]
jne 0x59624f
inc eax
push eax
push dword [esp + 0x30]
lea eax, [edi + 3]
push edx
push ebx
push dword [esp + 0x38]
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov al, byte [ebp]
cmp al, 0x81
je 0x59670a
cmp al, 0x88
jae 0x5966e5
mov edi, ebp
mov dword [esp + 0x14], edi
jmp 0x590e31
inc eax
push eax
push dword [esp + 0x30]
push edx
push ebx
push dword [esp + 0x38]
push ebp
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1b
jne 0x596281
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0xb4], ebp
jne 0x599020
jmp 0x59628d
test edi, edi
jne 0x599020
mov ecx, dword [esp + 0x10]
cmp byte [ebp], 0x81
je 0x596723
mov edi, dword [esp + 0x14]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x590e31
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5962ba
nop
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x5962b0
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x596368
test dl, 0x20
jne 0x5962da
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x596360
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5962f4
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x59635c
and eax, 0x3f
test dl, 8
jne 0x59630f
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x59635c
test dl, 4
jne 0x596333
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 0x59635c
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 [esp + 0x18]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x78ee78]
movzx ebx, byte [eax*8 + 0x78b8e2]
nop dword [eax]
cmp esi, ebp
je 0x590e29
lea edi, [esi - 1]
test ecx, ecx
jne 0x5963a7
movzx edx, byte [edi]
jmp 0x596464
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x5963ba
nop
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x5963b0
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x596464
test dl, 0x20
jne 0x5963da
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x59645c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5963f4
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x59645c
and eax, 0x3f
test dl, 8
jne 0x59640f
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x59645c
test dl, 4
jne 0x596433
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 0x59645c
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 + 0x78cc78]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x78ee78]
movzx edx, byte [eax*8 + 0x78b8e2]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [edx*4 + 0x78b328], eax
je 0x5964a6
mov ecx, dword [esp + 0x18]
mov esi, edi
mov ebx, edx
jmp 0x596390
mov edx, dword [esp + 0x10]
jmp 0x594fc6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov dword [esp + 0x30], edx
lea ebx, [edx + edx]
mov dword [esp + 0x4c], ebx
cmp ebx, dword [ecx + 0x14]
jge 0x596518
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + ebx*4]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + ebx*4 + 4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x10]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x5c], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov ebx, dword [edx + 0x90]
mov ebp, dword [edx + 0xac]
mov dword [ecx], eax
jmp 0x598f26
mov ecx, dword [esp + 0x10]
cmp edi, 0x88
jae 0x59654f
cmp edi, 0x81
je 0x59654f
cmp dword [ecx + 0x6c], 0
mov edi, dword [esp + 0x14]
jne 0x59655d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edi], 0x77
jne 0x596610
mov ecx, dword [esp + 0x10]
jmp 0x59655d
mov edi, dword [esp + 0x14]
mov dword [ecx + 0x98], 2
mov eax, dword [esp + 0x188]
mov ebx, dword [ecx + 0xac]
inc eax
mov ebp, dword [ecx + 0x90]
push eax
push dword [esp + 0x30]
movzx eax, byte [edi]
push ecx
push dword [esp + 0x28]
movzx eax, byte [eax + 0x78b198]
push dword [esp + 0x38]
add eax, edi
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc20
jne 0x5965cf
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x10]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x599020
cmp byte [edx], 0x77
je 0x5965db
cmp byte [eax], 0x77
jne 0x599020
jmp 0x5965db
test edi, edi
jne 0x599027
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [ecx + 0xac], ebx
cmp byte [edx], 0x77
jne case.0x598dc1.14
mov edi, dword [esp + 0x24]
mov dword [ecx + 0x90], ebp
jmp 0x596518
movzx eax, byte [edi]
movzx eax, byte [eax + 0x78b198]
add edi, eax
mov dword [esp + 0x14], edi
jmp 0x590e2d
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x590e31
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push ebx
mov ebx, dword [esp + 0x24]
push dword [esp + 0x38]
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
movzx eax, byte [eax + 0x78b198]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 2]
mov dword [ecx + 0x7c], eax
mov eax, 0xfffffc1f
jmp 0x5993a3
sub eax, 1
je case.0x598dc1.14
mov eax, edi
jmp 0x5993a3
mov eax, 0xffffffe6
jmp 0x5993a3
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0xe8]
cmp eax, ecx
je 0x599020
push eax
call dword [0x8a3928]
add esp, 4
mov eax, edi
jmp 0x5993a3
mov eax, 0xfffffffa
jmp 0x5993a3
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x80], esi
mov dword [eax + 0x7c], ecx
mov eax, dword [esp + 0x50]
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push ebx
push dword [esp + 0x38]
push ebp
push esi
call fcn.0058cb40
add esp, 0x1c
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push ebx
push dword [esp + 0x38]
push ebp
jmp 0x59673e
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
push ecx
push ebx
push dword [esp + 0x38]
add eax, 3
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x58dd8e
jmp 0x5993a3
mov eax, dword [esp + 0x28]
mov dword [edx + 0x7c], eax
mov eax, 0xfffffc1a
mov dword [edx + 0x80], esi
mov dword [edx + 0x8c], ecx
jmp 0x5993a3
mov eax, dword [esp + 0x1c]
mov dword [edx + 0x80], esi
mov dword [edx + 0x8c], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x7c], eax
mov eax, dword [esp + 0x50]
jmp 0x5993a3
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x88]
test ecx, ecx
je case.0x598dc1.14
mov edx, dword [esp + 0x10]
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb case.0x598dc1.14
cmp dword [edx + 0x18], 0
jne case.0x598dc1.14
cmp dword [edx + 0x1c], 2
jne case.0x598dc1.14
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne case.0x598dc1.14
mov dword [edx + 0x64], 1
cmp ecx, 1
jmp 0x598f12
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.0x598dc1.14
cmp esi, dword [ecx + 0x84]
jbe case.0x598dc1.14
mov dword [ecx + 0x64], 1
jmp 0x598f0f
mov eax, dword [edx + 0x88]
test eax, eax
je case.0x598dc1.14
cmp esi, dword [edx + 0x84]
jbe case.0x598dc1.14
mov dword [edx + 0x64], 1
jmp 0x598f0f
mov ecx, dword [esp + 0x10]
cmp eax, 0xfffffffe
jne 0x59683f
mov esi, dword [ecx + 0x78]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.0x598dc1.14
cmp esi, dword [ecx + 0x78]
jb case.0x598dc1.14
jmp 0x5967f5
cmp eax, 0xfffffffe
jne 0x596860
mov esi, dword [edi + 0x78]
mov eax, dword [edi + 0x88]
test eax, eax
je case.0x598dc1.14
cmp esi, dword [edi + 0x78]
jb case.0x598dc1.14
jmp 0x598efc
mov dword [esp + 0x3c], esi
cmp ebx, edi
jge 0x5968e3
push dword [esp + 0x30]
push dword [esp + 0x14]
push ebp
push esi
push dword [esp + 0x5c]
call fcn.00599a10
add esp, 0x14
test eax, eax
js 0x5968a7
inc ebx
add esi, eax
cmp ebx, edi
jl 0x596884
jmp 0x5968d5
cmp eax, 0xfffffffe
jne 0x5968d5
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x5968d5
mov eax, dword [edx + 0x78]
cmp eax, dword [edx + 0x84]
jbe 0x5968d5
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x598f18
mov ebx, dword [esp + 0x3c]
cmp esi, ebx
jb case.0x598dc1.14
jmp 0x5968e7
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
sub esi, ebp
cmp esi, ebx
jae 0x5968e7
jmp 0x5993a3
cmp eax, 0xfffffffe
jne 0x59692a
mov esi, dword [ebx + 0x78]
mov eax, dword [ebx + 0x88]
test eax, eax
je case.0x598dc1.14
cmp esi, dword [ebx + 0x78]
jb case.0x598dc1.14
cmp esi, dword [ebx + 0x84]
jbe case.0x598dc1.14
mov dword [ebx + 0x64], 1
jmp 0x598f0f
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
test ecx, ecx
je 0x596b44
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x20]
cmp edx, dword [esp + 0x38]
jge case.0x598dc1.14
cmp esi, dword [ebp + 0x78]
jae 0x596b1e
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
cmp ebx, 0xc0
jb 0x596abd
test bl, 0x20
jne 0x5969d6
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x596abd
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x596a01
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 0x596abd
lea edx, [esi + 2]
test bl, 8
jne 0x596a35
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 0x596ab9
lea edi, [esi + 3]
test bl, 4
jne 0x596a71
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
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 0x596ab9
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
cmp ebx, 0xff
jbe 0x596acc
cmp dword [esp + 0x24], 0x6e
jmp 0x596ae1
mov eax, dword [esp + 0x50]
mov ecx, ebx
and ecx, 7
shr ebx, 3
shl eax, cl
mov ecx, dword [esp + 0x30]
test byte [ebx + ecx], al
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc edx
inc eax
mov dword [esp + 0x20], edx
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x596992
jmp 0x5993a3
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x598dc1.14
cmp esi, dword [ebp + 0x84]
jbe case.0x598dc1.14
mov dword [ebp + 0x64], 1
jmp 0x598f0f
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov ebx, dword [esp + 0x20]
nop word [eax + eax]
cmp ebx, dword [esp + 0x38]
jge case.0x598dc1.14
cmp esi, dword [ebp + 0x78]
jae 0x596b1e
movzx edx, byte [esi]
inc esi
mov eax, dword [esp + 0x50]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x30]
test byte [edx + ecx], al
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x596b60
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop dword [eax]
cmp ebp, dword [esp + 0x20]
jge case.0x598dc1.14
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x598eee
movzx ecx, byte [esi]
inc esi
mov edx, dword [esp + 0x18]
test edx, edx
je 0x596cfb
cmp ecx, 0xc0
jb 0x596cfb
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x596c3c
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x596cfb
test cl, 0x10
jne 0x596c5d
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 0x596cfb
test cl, 8
jne 0x596c8a
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 0x596cfb
test cl, 4
jne 0x596cc0
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 0x596cfb
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
push ebx
push ecx
call fcn.0059b270
add esp, 0xc
test eax, eax
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc ebp
inc eax
push eax
push dword [esp + 0x30]
push edi
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x596bf0
jmp 0x5993a3
mov eax, dword [ebx + 0x88]
test eax, eax
je case.0x598dc1.14
cmp esi, edi
jmp 0x59693b
mov ecx, dword [esp + 0x10]
jmp 0x59683f
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
cmp dword [esp + 0x38], ebp
jge case.0x598dc1.14
mov ebx, dword [ebx + 0x78]
mov eax, ebx
mov ebp, dword [esp + 0x20]
sub eax, ebp
cmp esi, eax
ja 0x596e0d
mov edx, dword [esp + 0x3c]
mov edi, ebp
mov ecx, esi
sub edi, 4
jb 0x596dc7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x596dd0
add ecx, 4
add edx, 4
sub edi, 4
jae 0x596db6
cmp edi, 0xfffffffc
je 0x596e7c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x596e0d
cmp edi, 0xfffffffd
je 0x596e7c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x596e0d
cmp edi, 0xfffffffe
je 0x596e7c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x596e0d
cmp edi, 0xffffffff
je 0x596e7c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x596e7c
mov ebp, dword [esp + 0x24]
test ebp, ebp
jle 0x596ebc
mov eax, ebx
sub eax, ebp
cmp esi, eax
ja 0x596ebc
mov edi, ebp
lea edx, [esp + 0x160]
mov ecx, esi
sub edi, 4
jb 0x596e46
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x596e4b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x596e35
cmp edi, 0xfffffffc
je 0x596e7c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x596ebc
cmp edi, 0xfffffffd
je 0x596e7c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x596ebc
cmp edi, 0xfffffffe
je 0x596e7c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x596ebc
cmp edi, 0xffffffff
je 0x596e7c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x596ebc
mov eax, dword [esp + 0x188]
add esi, ebp
mov ebx, dword [esp + 0x10]
inc eax
inc dword [esp + 0x38]
push eax
push dword [esp + 0x30]
push ebx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov ebp, dword [esp + 0x50]
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x596d90
jmp 0x5993a3
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.0x598dc1.14
cmp esi, ebx
jb case.0x598dc1.14
jmp 0x5967f5
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop dword [eax + eax]
mov ecx, dword [esp + 0x38]
cmp ecx, dword [esp + 0x34]
jge case.0x598dc1.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx eax, byte [esi]
cmp ebx, eax
je 0x596f3a
cmp ebp, eax
jne case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc esi
inc eax
inc ecx
push eax
push dword [esp + 0x30]
mov dword [esp + 0x40], ecx
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x596f10
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop
mov ecx, dword [esp + 0x38]
cmp ecx, ebp
jge case.0x598dc1.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc ecx
inc eax
mov dword [esp + 0x38], ecx
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x596fa0
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
cmp dword [esp + 0x18], 0
push eax
push dword [esp + 0x30]
je 0x5971b6
mov ebp, dword [esp + 0x18]
push ebp
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x20]
jge case.0x598dc1.14
cmp esi, dword [ebp + 0x78]
jae 0x596b1e
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x58], ebx
cmp ebx, 0xc0
jb 0x59716b
test bl, 0x20
jne 0x597084
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x597167
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5970af
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 0x597167
lea edx, [esi + 2]
test bl, 8
jne 0x5970e3
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 0x597167
lea edi, [esi + 3]
test bl, 4
jne 0x59711f
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
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 0x597167
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x58]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x38], ebx
je case.0x598dc1.14
cmp dword [esp + 0x3c], ebx
je case.0x598dc1.14
inc eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x597040
jmp 0x5993a3
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov ebx, dword [esp + 0x34]
nop dword [eax]
cmp ebx, dword [esp + 0x20]
jge case.0x598dc1.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx eax, byte [esi]
cmp dword [esp + 0x38], eax
je case.0x598dc1.14
cmp ebp, eax
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc esi
inc eax
inc ebx
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5971e0
jmp 0x5993a3
test eax, eax
mov eax, dword [esp + 0x188]
je 0x5973e3
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x20]
jge case.0x598dc1.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
cmp ebx, 0xc0
jb 0x5973a4
test bl, 0x20
jne 0x5972c8
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x5973a0
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5972ee
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
jmp 0x597397
lea edx, [esi + 2]
test bl, 8
jne 0x59731d
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 0x597397
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x597354
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 0x597397
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x3c], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x34]
cmp ebp, ebx
je case.0x598dc1.14
inc eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x597280
jmp 0x5993a3
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov ebx, dword [esp + 0x34]
cmp ebx, dword [esp + 0x20]
jge case.0x598dc1.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx eax, byte [esi]
inc esi
cmp ebp, eax
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x597410
jmp 0x5993a3
mov eax, dword [eax + 0x88]
test eax, eax
je case.0x598dc1.14
mov ecx, dword [esp + 0x10]
jmp 0x5967f5
test eax, eax
js 0x59856e
cmp eax, 0xa
ja case.default.0x58f4eb
jmp dword [eax*4 + 0x5998a4]
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebp
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
je 0x59750e
cmp eax, 0xc0
jb 0x59750e
test al, 0x20
jne 0x5974f0
inc esi
jmp 0x59750e
test al, 0x10
jne 0x5974f9
add esi, 2
jmp 0x59750e
test al, 8
jne 0x597502
add esi, 3
jmp 0x59750e
test al, 4
jne 0x59750b
add esi, 4
jmp 0x59750e
add esi, 5
cmp dword [esp + 0x40], 0
jne case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebp
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5974c0
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x59768c
cmp ebx, 0xc0
jb 0x59768c
mov al, byte [esi]
test bl, 0x20
jne 0x5975bd
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x597684
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5975e0
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x597680
lea edx, [esi + 2]
test bl, 8
jne 0x59760e
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x597680
lea edi, [esi + 3]
test bl, 4
jne 0x597644
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x597680
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp eax, 9
je 0x5976c3
cmp eax, 5
je 0x5976c3
cmp eax, 8
je 0x5976c3
xor eax, eax
jmp 0x5976c8
mov eax, 1
cmp eax, dword [esp + 0x40]
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push ecx
push dword [esp + 0x28]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x597572
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop word [eax + eax]
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x597862
cmp ebx, 0xc0
jb 0x597862
mov al, byte [esi]
test bl, 0x20
jne 0x597793
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x597862
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5977b6
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x59785a
lea edx, [esi + 2]
test bl, 8
jne 0x5977e4
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x597856
lea edi, [esi + 3]
test bl, 4
jne 0x59781a
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x597856
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ebx, dword [esp + 0x54]
mov eax, ebp
shr eax, 7
and ebp, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp dword [eax*4 + 0x78b2b0], ebx
sete cl
cmp ecx, dword [esp + 0x40]
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push edx
push dword [esp + 0x28]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x597740
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop dword [eax + eax]
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x597a30
cmp ebx, 0xc0
jb 0x597a30
mov al, byte [esi]
test bl, 0x20
jne 0x597963
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x597a30
lea ecx, [esi + 1]
test bl, 0x10
jne 0x597986
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x597a28
lea edx, [esi + 2]
test bl, 8
jne 0x5979b2
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x597a24
lea edi, [esi + 3]
test bl, 4
jne 0x5979e8
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x597a24
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x40]
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push edx
push dword [esp + 0x28]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x597910
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x597be0
cmp ebx, 0xc0
jb 0x597be0
mov al, byte [esi]
test bl, 0x20
jne 0x597b1b
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x597bd8
lea ecx, [esi + 1]
test bl, 0x10
jne 0x597b3c
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x597bd8
lea edx, [esi + 2]
test bl, 8
jne 0x597b6a
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x597bd4
movzx ebp, al
lea edi, [esi + 3]
and ebp, 0x3f
test bl, 4
jne 0x597b9e
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x597bd4
mov eax, dword [esp + 0x3c]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e0]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x40]
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push edx
push dword [esp + 0x28]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x597ad0
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x597d84
cmp ebx, 0xc0
jb 0x597d84
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x597cd3
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x597d84
lea ecx, [esi + 1]
test bl, 0x10
jne 0x597cee
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x597d78
lea edx, [esi + 2]
test bl, 8
jne 0x597d14
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x597d78
lea edi, [esi + 3]
test bl, 4
jne 0x597d42
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x597d78
mov eax, dword [esp + 0x3c]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x597dbd
cmp eax, 3
je 0x597dbd
xor eax, eax
jmp 0x597dc2
mov eax, 1
cmp eax, dword [esp + 0x40]
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push ecx
push dword [esp + 0x28]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x597c80
jmp 0x5993a3
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebp
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x598eee
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov edx, ecx
je 0x597f43
cmp ecx, 0xc0
jb 0x597f43
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x597e82
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x597f41
test cl, 0x10
jne 0x597ea3
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 0x597f41
test cl, 8
jne 0x597ed0
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 0x597f41
test cl, 4
jne 0x597f06
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 0x597f41
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, 0x180e
ja 0x597f86
je case.0x597fa6.8192
cmp ecx, 0x85
ja 0x597f72
je case.0x597fa6.8192
cmp ecx, 9
jb case.0x597fa6.8203
cmp ecx, 0xd
jbe case.0x597fa6.8192
cmp ecx, 0x20
jmp 0x597fbb
cmp ecx, 0xa0
je case.0x597fa6.8192
cmp ecx, 0x1680
jmp 0x597fbb
cmp ecx, 0x202f
ja 0x597fad
je case.0x597fa6.8192
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x597fa6.8203
movzx eax, byte [ecx + 0x5998d8]
jmp dword [eax*4 + 0x5998d0]
cmp ecx, 0x205f
je case.0x597fa6.8192
cmp ecx, 0x3000
je case.0x597fa6.8192
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
cmp dword [eax*4 + 0x78b2b0], 6
sete cl
cmp ecx, dword [esp + 0x40]
je case.0x598dc1.14
jmp 0x598005
cmp dword [esp + 0x40], 0
jne case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push edi
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebp
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x597e35
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x59680d
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x59817c
cmp ebx, 0xc0
jb 0x59817c
mov al, byte [esi]
test bl, 0x20
jne 0x5980ad
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x598174
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5980d0
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x598174
lea edx, [esi + 2]
test bl, 8
jne 0x5980fe
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x598170
lea edi, [esi + 3]
test bl, 4
jne 0x598134
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x598170
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x78cc78]
mov eax, ebp
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x78ee78]
movzx eax, byte [eax*8 + 0x78b8e1]
mov eax, dword [eax*4 + 0x78b2b0]
cmp eax, 1
je 0x5981bc
cmp eax, 3
je 0x5981bc
cmp ebp, 0x5f
je 0x5981bc
xor eax, eax
jmp 0x5981c1
mov eax, 1
cmp eax, dword [esp + 0x40]
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push edx
push dword [esp + 0x28]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x598062
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov ebp, dword [esp + 0x10]
nop word [eax + eax]
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
cmp esi, dword [ebp + 0x78]
jae 0x596b1e
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov edi, ecx
je 0x59834a
cmp ecx, 0xc0
jb 0x59834a
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x598289
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x598348
test cl, 0x10
jne 0x5982aa
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 0x598348
test cl, 8
jne 0x5982d7
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 0x598348
test cl, 4
jne 0x59830d
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 0x598348
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 [esp + 0x54]
mov edx, dword [eax*4 + 0x78b7a0]
lea eax, [eax*4 + 0x78b7a0]
cmp edi, edx
jb 0x59836d
lea eax, [eax + 4]
cmp ecx, edx
je 0x5983ab
mov edx, dword [eax]
cmp ecx, edx
jae 0x598360
cmp dword [esp + 0x40], 0
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x598240
jmp 0x5993a3
cmp dword [esp + 0x40], 0
jne case.0x598dc1.14
jmp 0x598378
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x5984f9
cmp ebx, 0xc0
jb 0x5984f9
test bl, 0x20
jne 0x598436
movzx eax, byte [esi]
and ebp, 0x1f
shl ebp, 6
and eax, 0x3f
or ebp, eax
inc esi
jmp 0x5984f9
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x598459
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x5984ed
movzx eax, al
lea edx, [esi + 2]
and eax, 0x3f
test bl, 8
jne 0x598487
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x5984ed
lea edi, [esi + 3]
test bl, 4
jne 0x5984b7
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x5984ed
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
cmp ebp, 0x24
je 0x598524
cmp ebp, 0x40
je 0x598524
cmp ebp, 0x60
je 0x598524
cmp ebp, 0xa0
jb 0x598518
cmp ebp, 0xd7ff
jbe 0x598524
cmp ebp, 0xe000
jae 0x598524
xor eax, eax
jmp 0x598529
mov eax, 1
cmp eax, dword [esp + 0x40]
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push ecx
push dword [esp + 0x28]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5983e5
jmp 0x5993a3
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
cmp ebp, 0x16
jne 0x59885d
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5967e7
movzx ebx, byte [esi]
inc esi
mov edx, dword [esp + 0x18]
mov ebp, ebx
mov dword [esp + 0x3c], ebx
mov ecx, esi
test edx, edx
je 0x5986ad
cmp ebx, 0xc0
jb 0x5986ad
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x5985fa
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x5986ab
lea ecx, [esi + 1]
test bl, 0x10
jne 0x598615
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x5986a3
lea edx, [esi + 2]
test bl, 8
jne 0x59863b
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x59869f
lea edi, [esi + 3]
test bl, 4
jne 0x598669
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x59869f
mov eax, dword [esp + 0x3c]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x18]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ecx, esi
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x78cc78]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x78ee78]
movzx ebx, byte [eax*8 + 0x78b8e2]
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
cmp ecx, ebp
jae 0x5987f8
test edx, edx
mov edi, 1
movzx edx, byte [esi]
je 0x5987b5
cmp edx, 0xc0
jb 0x5987b5
test dl, 0x20
jne 0x598712
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x5987ad
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x598734
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x5987ad
and eax, 0x3f
test dl, 8
jne 0x598757
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5987ad
test dl, 4
jne 0x598780
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 0x5987ad
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 + 0x78cc78]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x78ee78]
movzx ecx, byte [eax*8 + 0x78b8e2]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [ebx*4 + 0x78b328], eax
je 0x5987f8
mov edx, dword [esp + 0x18]
add esi, edi
mov ebx, ecx
cmp esi, ebp
jb 0x5986e0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x598822
cmp esi, ebp
jb 0x598822
cmp esi, dword [ecx + 0x84]
jbe 0x598822
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x598f18
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push ecx
push dword [esp + 0x28]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5985a4
jmp 0x5993a3
test ecx, ecx
je 0x598cd4
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
nop word [eax + eax]
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x598eee
cmp ebp, 0xc
jne 0x5988e7
mov edx, dword [edi + 0x18]
test edx, edx
je 0x5988c2
push dword [esp + 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0059ac50
add esp, 0x14
test eax, eax
jne case.0x598dc1.14
jmp 0x5988e7
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x5988e7
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x5988e7
cmp edx, 1
je case.0x598dc1.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x598dc1.14
movzx edx, byte [esi]
inc esi
mov ecx, esi
mov eax, edx
cmp edx, 0xc0
jb 0x5989c4
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x598916
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x5989c0
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x598937
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x5989c0
test dl, 8
jne 0x59895d
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 0x5989c0
test dl, 4
jne 0x59898c
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 0x5989c0
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
lea edi, [ebp - 6]
cmp edi, 0xf
ja case.default.0x58f4eb
jmp dword [edi*4 + 0x599904]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x88]
test edi, edi
je case.0x5989d0.13
cmp ecx, dword [eax + 0x78]
jb case.0x5989d0.13
cmp dword [eax + 0x18], 0
jne case.0x5989d0.13
cmp dword [eax + 0x1c], 2
jne case.0x5989d0.13
movzx eax, byte [eax + 0x34]
cmp edx, eax
jne case.0x5989d0.13
mov eax, dword [esp + 0x10]
mov dword [eax + 0x64], 1
cmp edi, 1
jg 0x598f18
jmp case.0x5989d0.13
cmp edx, 0xd
ja 0x598a5e
je 0x598a40
cmp edx, 0xa
je case.0x5989d0.13
lea eax, [edx - 0xb]
jmp 0x598a6c
mov eax, dword [esp + 0x10]
cmp ecx, dword [eax + 0x78]
jae case.0x5989d0.13
cmp byte [esi], 0xa
jne case.0x5989d0.13
lea esi, [ecx + 1]
jmp case.0x5989d0.13
cmp edx, 0x85
je 0x598a75
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x598dc1.14
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x68], 0
jne case.0x598dc1.14
jmp case.0x5989d0.13
cmp edx, 0x180e
ja 0x598ac0
je case.0x598dc1.14
cmp edx, 0xa0
ja 0x598ab5
je case.0x598dc1.14
cmp edx, 9
je case.0x598dc1.14
cmp edx, 0x20
jmp 0x598c98
cmp edx, 0x1680
jmp 0x598c98
cmp edx, 0x205f
ja 0x598af1
je case.0x598dc1.14
cmp edx, 0x2000
jb case.0x5989d0.13
cmp edx, 0x200a
jbe case.0x598dc1.14
cmp edx, 0x202f
jmp 0x598c98
cmp edx, 0x3000
jmp 0x598c98
cmp edx, 0x180e
ja 0x598b40
je case.0x5989d0.13
cmp edx, 0xa0
ja 0x598b2f
je case.0x5989d0.13
cmp edx, 9
je case.0x5989d0.13
cmp edx, 0x20
jne case.0x598dc1.14
jmp case.0x5989d0.13
cmp edx, 0x1680
jne case.0x598dc1.14
jmp case.0x5989d0.13
cmp edx, 0x205f
ja 0x598b77
je case.0x5989d0.13
cmp edx, 0x2000
jb case.0x598dc1.14
cmp edx, 0x200a
jbe case.0x5989d0.13
cmp edx, 0x202f
jne case.0x598dc1.14
jmp case.0x5989d0.13
cmp edx, 0x3000
jne case.0x598dc1.14
jmp case.0x5989d0.13
cmp edx, 0x85
ja 0x598bad
je case.0x598dc1.14
cmp edx, 0xa
jb case.0x5989d0.13
cmp edx, 0xd
jbe case.0x598dc1.14
jmp case.0x5989d0.13
cmp edx, 0x2028
jb case.0x5989d0.13
cmp edx, 0x2029
jbe case.0x598dc1.14
jmp case.0x5989d0.13
cmp edx, 0x85
ja 0x598be9
je case.0x5989d0.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x598dc1.14
jmp case.0x5989d0.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x598dc1.14
jmp case.0x5989d0.13
cmp eax, 0x100
jae case.0x5989d0.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne case.0x598dc1.14
jmp case.0x5989d0.13
cmp eax, 0x100
jae case.0x598dc1.14
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jmp 0x598c98
cmp eax, 0x100
jae case.0x5989d0.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne case.0x598dc1.14
jmp case.0x5989d0.13
cmp eax, 0x100
jae case.0x598dc1.14
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jmp 0x598c98
cmp eax, 0x100
jae case.0x5989d0.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne case.0x598dc1.14
jmp case.0x5989d0.13
cmp eax, 0x100
jae case.0x598dc1.14
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x598880
jmp 0x5993a3
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
cmp ebx, dword [esp + 0x34]
jge case.0x598dc1.14
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x598eee
cmp ebp, 0xc
jne 0x598d4b
mov edx, dword [edi + 0x18]
test edx, edx
je 0x598d26
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0059ac50
add esp, 0x14
test eax, eax
jne case.0x598dc1.14
jmp 0x598d4b
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x598d4b
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x598d4b
cmp edx, 1
je case.0x598dc1.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x598dc1.14
movzx ecx, byte [esi]
lea eax, [ebp - 6]
inc esi
cmp eax, 0xf
ja case.default.0x58f4eb
jmp dword [eax*4 + 0x599944]
mov edx, dword [edi + 0x88]
test edx, edx
je case.0x598d5b.13
cmp esi, dword [edi + 0x78]
jb case.0x598d5b.13
cmp dword [edi + 0x18], 0
jne case.0x598d5b.13
cmp dword [edi + 0x1c], 2
jne case.0x598d5b.13
movzx eax, byte [edi + 0x34]
cmp ecx, eax
jne case.0x598d5b.13
mov dword [edi + 0x64], 1
cmp edx, 1
jg 0x598f18
jmp case.0x598d5b.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x598dc1.14
movzx eax, byte [ecx + 0x599994]
jmp dword [eax*4 + 0x599984]
cmp esi, dword [edi + 0x78]
jae case.0x598d5b.13
cmp byte [esi], 0xa
jne case.0x598d5b.13
inc esi
jmp case.0x598d5b.13
cmp dword [edi + 0x68], 0
jne case.0x598dc1.14
jmp case.0x598d5b.13
cmp ecx, 9
je case.0x598dc1.14
cmp ecx, 0x20
je case.0x598dc1.14
cmp ecx, 0xa0
jmp 0x598eab
cmp ecx, 9
je case.0x598d5b.13
cmp ecx, 0x20
je case.0x598d5b.13
cmp ecx, 0xa0
jne case.0x598dc1.14
jmp case.0x598d5b.13
cmp ecx, 0xa
jb case.0x598d5b.13
cmp ecx, 0xd
jbe case.0x598dc1.14
cmp ecx, 0x85
jmp 0x598eab
cmp ecx, 0xa
jb case.0x598dc1.14
cmp ecx, 0xd
jbe case.0x598d5b.13
cmp ecx, 0x85
jne case.0x598dc1.14
jmp case.0x598d5b.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jne case.0x598dc1.14
jmp case.0x598d5b.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jmp 0x598eab
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne case.0x598dc1.14
jmp case.0x598d5b.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jmp 0x598eab
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x598dc1.14
jmp case.0x598d5b.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x598dc1.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push edi
push dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x598ce6
jmp 0x5993a3
mov eax, 0xfffffff2
jmp 0x5993a3
mov eax, dword [edi + 0x88]
test eax, eax
je case.0x598dc1.14
cmp esi, dword [edi + 0x84]
jbe case.0x598dc1.14
mov dword [edi + 0x64], 1
cmp eax, 1
jle case.0x598dc1.14
mov eax, 0xfffffff4
jmp 0x5993a3
mov edi, dword [esp + 0x24]
cmp edi, 0x88
jb 0x598f38
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x28]
movzx eax, byte [eax + 0x78b198]
push dword [esp + 0x38]
add eax, ecx
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1b
je 0x598ff2
cmp edi, 0xfffffc20
jne 0x598fb4
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x7c], eax
jae 0x599020
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x77
je 0x598fb0
cmp byte [eax], 0x77
jne 0x599020
xor edi, edi
jmp 0x598fc0
test edi, edi
jne 0x599020
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x90], ebx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [edx + 0xac], ebp
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
cmp byte [eax], 0x77
je 0x598f22
jmp 0x598ff6
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
mov dword [eax + ebx*4], ecx
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x58]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [edx + 0x10]
mov eax, dword [edx + 0xc]
sub ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4], edx
mov eax, edi
jmp 0x5993a3
cmp edi, 0xfffffc1b
jne 0x599020
mov edx, dword [esp + 0x14]
mov al, byte [edx]
cmp al, 0x81
je 0x599063
cmp al, 0x77
jne 0x599054
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 0x599040
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xb4], edx
jne 0x599020
xor edi, edi
mov eax, edi
jmp 0x5993a3
mov edi, dword [esp + 0x14]
lea ebx, [edi + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x188]
movzx ecx, byte [edi + 1]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [edi]
push edx
push dword [esp + 0x28]
movzx eax, byte [eax + 0x78b198]
push dword [esp + 0x38]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x5990d0
cmp edi, 0xfffffc19
jne 0x5990ea
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xac], 0
jne 0x5990ee
mov dword [edx + 0xac], ebx
mov eax, edi
jmp 0x5993a3
mov edx, dword [esp + 0x10]
cmp edi, 0xfffffc1f
jne 0x599020
mov eax, dword [edx + 0x7c]
nop dword [eax]
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x599120
test cl, cl
je 0x59911c
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x599120
add ebx, 2
add eax, 2
test cl, cl
jne 0x599100
xor eax, eax
jmp 0x599125
sbb eax, eax
or eax, 1
test eax, eax
jne 0x599020
mov dword [edx + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x5993a3
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x38]
movzx eax, byte [eax + 0x78b198]
add eax, ecx
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov eax, 0xfffffc1c
jmp 0x5993a3
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x38]
movzx eax, byte [eax + 0x78b198]
add eax, ecx
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x59922a
jmp 0x5993a3
mov edi, dword [esp + 0x14]
lea ebx, [edi + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x188]
movzx ecx, byte [edi + 1]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [edi]
push edx
push dword [esp + 0x28]
movzx eax, byte [eax + 0x78b198]
push dword [esp + 0x38]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x59920f
cmp edi, 0xfffffc19
jne 0x599222
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xac], 0
jne 0x599222
mov dword [eax + 0xac], ebx
test edi, edi
jne 0x599020
mov eax, 0xfffffc1d
jmp 0x5993a3
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x38]
movzx eax, byte [eax + 0x78b198]
add eax, ecx
push eax
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x599020
mov eax, dword [esp + 0x10]
mov dword [eax + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x5993a3
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ebp]
push edx
push ebx
push dword [esp + 0x38]
movzx eax, byte [eax + 0x78b198]
add eax, ebp
push eax
push esi
call fcn.0058cb40
add esp, 0x1c
mov edi, eax
jmp 0x59931d
mov ebp, dword [esp + 0x14]
lea ebx, [ebp + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x188]
movzx ecx, byte [ebp + 1]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ebp]
push edx
push dword [esp + 0x28]
movzx eax, byte [eax + 0x78b198]
push dword [esp + 0x38]
add eax, ebp
add ecx, eax
push ecx
push esi
call fcn.0058cb40
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x59930a
cmp edi, 0xfffffc19
jne 0x59931d
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xac], 0
jne 0x59931d
mov dword [eax + 0xac], ebx
test edi, edi
jne 0x599020
mov eax, dword [esp + 0x10]
mov dword [eax + 0x7c], ebp
mov eax, 0xfffffc20
jmp 0x5993a3
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jne 0x599370
cmp edi, 0x9f
je 0x599370
cmp dword [edx + 0xa4], 0
jne 0x599370
cmp dword [edx + 0x5c], 0
jne case.0x598dc1.14
cmp dword [edx + 0x60], 0
je 0x599370
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x74]
cmp ecx, eax
je case.0x598dc1.14
mov dword [edx + 0x80], esi
test edi, edi
mov eax, 0xfffffc19
mov dword [edx + 0x8c], ebx
cmove eax, dword [esp + 0x50]
mov dword [edx + 0x7c], ecx
jmp 0x5993a3
mov eax, 0xfffffffb
jmp 0x5993a3
mov eax, 0xffffffeb
jmp 0x5993a3
inc eax
mov dword [ecx], eax
mov eax, 0xfffffff8
mov ecx, dword [esp + 0x168]
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0059bb21
add esp, 0x15c
ret