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

Disassembly:
sub esp, 0x150
mov eax, dword [0x597fa8]
xor eax, esp
mov dword [esp + 0x14c], eax
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x164]
xor edx, edx
cmp ecx, edx
push esi
mov esi, dword [esp + 0x158]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
jne 0x538817
cmp dword [esp + 0x170], edx
lea eax, [esp + 0x170]
jne 0x5387f3
push 1
push edx
push edx
push edx
push edx
push edx
push eax
call fcn.00538770
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.005498fd
add esp, 0x150
ret 0x1c
sub eax, esi
cmp eax, edx
jle 0x54573d
neg eax
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.005498fd
add esp, 0x150
ret 0x1c
mov ecx, dword [eax + 0x4c]
push ebx
mov dword [esp + 0x18], ecx
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
push ebp
push edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], edx
jae 0x542638
add ecx, 1
mov dword [eax], ecx
mov ecx, dword [esp + 0x17c]
cmp ecx, dword [eax + 8]
jae 0x542645
cmp dword [eax + 0x98], 2
jne 0x538870
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x70], esi
mov dword [esp + 0x1c], ecx
mov dword [eax + 0x98], edx
lea esp, [esp]
mov edx, dword [esp + 0x14]
mov al, byte [edx]
movzx ebx, al
xor ebp, ebp
cmp ebx, 0xa1
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], ebx
ja case.0x53889a.98
movzx ecx, byte [ebx + 0x5458a4]
jmp dword [ecx*4 + 0x545758]
mov edi, dword [esp + 0x10]
add dword [edi + 0x28], 1
mov eax, dword [edi + 0x28]
cmp eax, dword [edi + 0x2c]
ja 0x542866
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x5745c0]
movzx eax, byte [edx + 1]
add eax, edx
add eax, ecx
mov dword [esp + 0x14], eax
jmp 0x538870
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], ecx
jmp 0x5388f0
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x14]
add edx, 1
push edx
push ebx
push edi
push eax
push ebp
add ecx, 3
push ecx
push esi
call fcn.00538770
cmp eax, 1
je 0x538972
cmp eax, 0xfffffc20
jne 0x538947
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x54573a
cmp byte [edx], 0x77
je 0x538953
cmp byte [ecx], 0x77
jne 0x54573a
jmp 0x538953
test eax, eax
jne 0x54573a
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
mov dword [edi + 0xac], ecx
add edx, eax
cmp byte [edx], 0x77
mov dword [esp + 0x14], edx
je 0x5388f0
jmp 0x53897d
mov ebp, dword [edi + 0x7c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov al, byte [edx]
cmp al, 0x82
je 0x538990
cmp al, 0x77
jne case.0x5455d0.14
jmp 0x538990
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je 0x538990
cmp byte [edx], 0x78
mov eax, dword [edi + 0x8c]
mov esi, dword [edi + 0x80]
mov dword [esp + 0x14], edx
mov dword [esp + 0x170], eax
je 0x5389c5
cmp esi, dword [esp + 0x3c]
jne 0x5420fb
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x538870
mov dword [esp + 0x34], ebp
jmp 0x5394a4
mov dword [esp + 0x34], ebp
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub eax, dword [edi + 0x70]
mov edx, dword [edi + 0x90]
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
lea ebx, [ebx]
cmp dword [esp + 0x40], 0x88
jb 0x538a24
mov dword [edi + 0x98], 2
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
add eax, 1
push eax
mov eax, dword [esp + 0x18]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x5745c0]
push edi
push ebx
push ebp
add ecx, eax
push ecx
push esi
call fcn.00538770
cmp eax, 0xfffffc1a
jne 0x5395a8
mov eax, dword [edi + 0x70]
add eax, dword [esp + 0x38]
cmp esi, dword [edi + 0x80]
mov ebx, dword [edi + 0x8c]
mov ebp, dword [edi + 0x7c]
mov dword [esp + 0x170], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], ebp
je 0x539604
mov esi, dword [edi + 0x80]
jmp 0x538a10
xor ecx, ecx
mov ch, byte [edx + 1]
add edx, 3
cmp byte [edx], 0x76
mov dword [esp + 0x14], edx
mov cl, byte [edx - 1]
mov dword [esp + 0x38], ecx
jne 0x538ba4
mov ecx, dword [0x599350]
cmp ecx, ebp
mov ebp, dword [esp + 0x10]
je 0x538b91
mov dword [esp + 0x74], 2
movzx eax, byte [edx + 1]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x28]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x88], eax
mov eax, esi
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x8c], eax
xor eax, eax
mov ah, byte [edx + 2]
mov al, byte [edx + 3]
mov dword [esp + 0x9c], eax
xor eax, eax
mov ah, byte [edx + 4]
mov al, byte [edx + 5]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x90], eax
mov edx, dword [ebp + 0x90]
and edx, 0xffff
mov dword [esp + 0x94], edx
jne 0x538b5e
mov dword [esp + 0x94], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x98], eax
mov edx, dword [ebp + 0xb0]
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0xa8], edx
call ecx
test eax, eax
jg case.0x5455d0.14
jl 0x54573a
mov edx, dword [esp + 0x14]
movzx eax, byte [0x574636]
add edx, eax
sub dword [esp + 0x38], eax
mov dword [esp + 0x14], edx
jmp 0x538ba8
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx]
mov dword [esp + 0x4c], eax
add eax, 0xffffff73
xor ebx, ebx
cmp eax, 0x10
ja case.0x538bca.146
movzx edx, byte [eax + 0x545960]
jmp dword [edx*4 + 0x545948]
cmp dword [ebp + 0xa4], 0
je case.0x538bca.145
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov eax, ecx
cmp eax, 0xffff
je 0x538cea
mov edx, dword [ebp + 0xa4]
cmp eax, dword [edx + 4]
je 0x538cea
xor ebx, ebx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
add ecx, eax
test ebx, ebx
mov dword [esp + 0x14], ecx
jne 0x538c20
cmp byte [ecx - 3], 0x77
jne 0x538870
cmp dword [esp + 0x40], 0x8c
jne 0x541e13
mov edx, dword [esp + 0x1c]
mov dword [ebp + 0x98], 2
mov eax, dword [esp + 0x17c]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x30]
push ebp
push eax
push edx
push ecx
push esi
call fcn.00538770
jmp 0x54573a
cmp dword [ebp + 0xa4], 0
je case.0x538bca.145
mov eax, dword [esp + 0x14]
xor edx, edx
mov dh, byte [eax + 1]
xor ecx, ecx
mov ch, byte [eax + 3]
mov dl, byte [eax + 2]
mov cl, byte [eax + 4]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov edi, ecx
test edi, edi
mov eax, edx
jle case.0x538bca.145
mov ecx, dword [ebp + 0xa4]
mov ecx, dword [ecx + 4]
jmp 0x538ca0
movzx edx, byte [eax + 1]
mov dh, byte [eax]
xor ebx, ebx
sub edi, 1
cmp edx, ecx
sete bl
test ebx, ebx
jne 0x538cef
add eax, dword [ebp + 0x24]
test edi, edi
jg 0x538ca0
jmp case.0x538bca.145
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, ecx
mov eax, ecx
cmp eax, dword [esp + 0x170]
jge 0x538c02
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jl 0x538c02
mov ebx, 1
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x5745c0]
jmp 0x538c08
mov edi, dword [esp + 0x14]
xor eax, eax
mov ah, byte [edi + 1]
xor edx, edx
mov dh, byte [edi + 3]
mov al, byte [edi + 2]
mov dl, byte [edi + 4]
imul eax, dword [ebp + 0x24]
add eax, dword [ebp + 0x30]
test edx, edx
jle case.0x538bca.145
xor ebx, ebx
xor ecx, ecx
mov ch, byte [eax]
sub edx, 1
mov cl, byte [eax + 1]
add ecx, ecx
cmp ecx, dword [esp + 0x170]
jge 0x538d42
mov edi, dword [ebp + 0xc]
cmp dword [edi + ecx*4], 0
jge 0x538cea
add eax, dword [ebp + 0x24]
test edx, edx
jg 0x538d24
jmp case.0x538bca.145
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
mov dword [ebp + 0x98], 1
mov eax, dword [esp + 0x17c]
add eax, 1
push eax
push 0
push ebp
push ecx
push edx
push edi
push esi
call fcn.00538770
cmp eax, 1
jne 0x538de7
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esp + 0x170]
jle 0x538d99
mov dword [esp + 0x170], eax
cmp byte [edi], 0x92
mov ebx, 1
jne 0x538da5
add edi, ebx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
jne 0x538dc3
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add edi, ecx
cmp byte [edi], 0x77
je 0x538db4
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x5745c0]
mov ecx, 3
sub ecx, eax
movzx eax, byte [edx + 0x5745c0]
add edi, ecx
mov dword [esp + 0x14], edi
jmp 0x538c08
test eax, eax
je case.0x538bca.145
cmp eax, 0xfffffc20
jne 0x54573a
jmp case.0x538bca.145
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
mov edi, eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff0000
or eax, edi
lea edx, [edi + edi]
mov dword [ecx + 0x90], eax
cmp edx, dword [ecx + 0x14]
jl 0x538e43
or eax, 0x10000
add ebx, 3
mov dword [ecx + 0x90], eax
mov dword [esp + 0x14], ebx
jmp 0x538870
mov ebp, dword [ecx + 0x10]
mov eax, dword [ecx + 0xc]
sub ebp, edi
mov edi, dword [eax + ebp*4]
mov dword [eax + edx*4], edi
mov edi, dword [ecx + 0xc]
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [edi + edx*4 + 4], eax
mov eax, dword [esp + 0x170]
cmp edx, eax
jl 0x538e8f
mov ecx, dword [ecx + 0xc]
lea edi, [ecx + eax*4]
lea ecx, [ecx + edx*4]
cmp edi, ecx
jae 0x538e85
sub ecx, edi
sub ecx, 1
shr ecx, 2
add ecx, 1
or eax, 0xffffffff
rep stosd dword es:[edi], eax
add edx, 2
mov dword [esp + 0x170], edx
add ebx, 3
mov dword [esp + 0x14], ebx
jmp 0x538870
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x538ec2
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x538ec6
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, edi
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x170]
add edx, 1
push edx
push 0
push edi
push eax
push ebp
lea ecx, [ebx + 3]
push ecx
push esi
call fcn.00538770
cmp eax, 1
je 0x538f44
cmp eax, 0xfffffc19
je 0x538f44
cmp eax, 0xfffffc20
mov edx, dword [esp + 0x30]
mov dword [edi + 0xac], edx
jne 0x538f2b
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x54573a
cmp byte [ebx], 0x77
je 0x538f33
cmp byte [ecx], 0x77
jmp 0x538f2d
test eax, eax
jne 0x54573a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x77
je 0x538ed0
jmp 0x538f4b
mov ecx, dword [edi + 0x7c]
mov dword [esp + 0x28], ecx
cmp byte [ebx], 0x78
je case.0x5455d0.14
cmp dword [esp + 0x38], 0
jne 0x542b12
nop
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x77
je 0x538f60
mov eax, dword [edi + 0x8c]
add ebx, 3
mov dword [esp + 0x14], ebx
mov dword [esp + 0x170], eax
jmp 0x538870
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x538faf
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x538fb3
mov dword [esp + 0x38], ebp
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0x28]
mov edi, edi
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x14]
add edx, 1
push edx
push 0
push edi
push ebx
push ebp
add eax, 3
push eax
push esi
call fcn.00538770
cmp eax, 0xfffffc20
mov ecx, dword [esp + 0x30]
mov dword [edi + 0xac], ecx
jg 0x539010
jne 0x539034
mov ecx, dword [esp + 0x14]
xor eax, eax
mov ah, byte [ecx + 1]
mov al, byte [ecx + 2]
add eax, ecx
cmp dword [edi + 0x7c], eax
jae 0x539060
cmp byte [ecx], 0x77
je 0x53901b
cmp byte [eax], 0x77
jne 0x539055
jmp 0x53901b
mov ecx, eax
sub ecx, 0
jne 0x54262a
mov eax, dword [esp + 0x14]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
mov dword [esp + 0x14], eax
je 0x538fc0
jmp 0x539073
cmp eax, 0xfffffc19
je case.0x5455d0.14
cmp eax, 0xfffffc1b
jle 0x54573a
cmp eax, 0xfffffc1f
jg 0x54573a
mov ecx, dword [esp + 0x14]
lea esp, [esp]
xor eax, eax
mov ah, byte [ecx + 1]
mov al, byte [ecx + 2]
add ecx, eax
cmp byte [ecx], 0x77
je 0x539060
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x38], 0
jne 0x542b12
add dword [esp + 0x14], 3
jmp 0x538870
mov edi, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x20], ebp
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
je 0x5390d4
cmp eax, ebp
jle 0x5390df
mov ebp, dword [edi + 0x74]
sub esi, 1
sub eax, 1
cmp esi, ebp
jb case.0x5455d0.14
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x5390ce
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x5390c0
test eax, eax
jg 0x5390a1
jmp 0x5390df
sub esi, eax
cmp esi, dword [edi + 0x74]
jb case.0x5455d0.14
cmp esi, dword [edi + 0x84]
jae 0x5390ed
mov dword [edi + 0x84], esi
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x538870
mov ebx, dword [0x599350]
cmp ebx, ebp
mov edi, dword [esp + 0x14]
je 0x5391e2
mov dword [esp + 0xa8], 2
movzx ecx, byte [edi + 1]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0xb0], edx
mov eax, dword [ecx + 0x74]
mov dword [esp + 0xb4], eax
mov edx, dword [ecx + 0x78]
sub edx, dword [ecx + 0x74]
mov eax, dword [esp + 0x28]
mov dword [esp + 0xb8], edx
sub eax, dword [ecx + 0x74]
mov edx, esi
mov dword [esp + 0xbc], eax
sub edx, dword [ecx + 0x74]
xor eax, eax
mov dword [esp + 0xc0], edx
mov ah, byte [edi + 2]
xor edx, edx
mov al, byte [edi + 3]
mov dword [esp + 0xd0], eax
mov dh, byte [edi + 4]
mov eax, dword [esp + 0x170]
mov dl, byte [edi + 5]
mov dword [esp + 0xd4], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xc4], eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff
mov dword [esp + 0xc8], eax
jne 0x5391b0
mov dword [esp + 0xc8], 0xffffffff
mov edx, dword [ecx + 0xa8]
mov dword [esp + 0xcc], edx
mov eax, dword [ecx + 0xb0]
lea ecx, [esp + 0xa8]
push ecx
mov dword [esp + 0xdc], eax
call ebx
test eax, eax
jg case.0x5455d0.14
jl 0x54573a
add edi, 6
mov dword [esp + 0x14], edi
jmp 0x538870
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
xor ebx, ebx
mov bh, byte [edx + 1]
xor ecx, ecx
mov bl, byte [edx + 2]
add ebx, dword [ebp + 0x70]
cmp ebx, dword [ebp + 0x70]
je 0x53920e
mov ch, byte [ebx + 3]
mov cl, byte [ebx + 4]
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x53922c
cmp ecx, dword [eax + 4]
jne 0x539226
cmp esi, dword [eax + 0x14]
je 0x542a85
mov eax, dword [eax]
test eax, eax
jne 0x539218
mov dword [esp + 0x58], ecx
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], esi
mov ecx, dword [ebp + 0xa4]
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x54]
mov dword [ebp + 0xa4], eax
mov ecx, dword [ebp + 0x10]
add edx, 3
cmp ecx, 0x1e
mov dword [esp + 0x14], edx
mov dword [esp + 0x60], ecx
jg 0x539272
lea eax, [esp + 0xdc]
mov dword [esp + 0x5c], eax
jmp 0x53928d
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x597efc]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x542a8f
mov ecx, dword [esp + 0x60]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.00549c80
add esp, 0xc
cmp byte [ebx], 0x88
sbb eax, eax
add eax, 1
mov dword [esp + 0x38], eax
mov edi, edi
test eax, eax
je 0x5392be
mov dword [ebp + 0x98], 2
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x170]
add edx, 1
push edx
mov edx, dword [esp + 0x2c]
push eax
movzx eax, byte [ebx]
push ebp
push ecx
movzx ecx, byte [eax + 0x5745c0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00538770
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edi, eax
lea eax, [edx*4]
mov edx, dword [ebp + 0xc]
push eax
push ecx
push edx
call fcn.00549c80
mov eax, dword [esp + 0x70]
mov dword [ebp + 0x90], eax
mov ecx, dword [esp + 0x60]
add esp, 0xc
cmp edi, 1
mov dword [ebp + 0xa4], ecx
je 0x539371
cmp edi, 0xfffffc19
je 0x539371
cmp edi, 0xfffffc1c
jl 0x539343
cmp edi, 0xfffffc20
jle 0x542ac0
test edi, edi
jne 0x542a99
xor eax, eax
lea edx, [esp + 0x54]
mov dword [ebp + 0xa4], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x77
jne 0x542ab6
mov eax, dword [esp + 0x38]
jmp 0x5392b0
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x539387
push eax
call dword [0x597f00]
mov edx, dword [ebp + 0x7c]
mov esi, dword [ebp + 0x80]
mov dword [esp + 0x28], edx
jmp 0x538870
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je case.0x53889a.119
mov dword [esp + 0x14], edx
jmp 0x538870
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
add edi, 1
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
je 0x5393f0
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x538870
lea edi, [edx + 1]
mov eax, edi
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x77
je 0x539410
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
add edx, 1
push edx
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x178]
push edx
mov edx, dword [esp + 0x34]
push ecx
push edx
add eax, 3
push eax
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov dword [esp + 0x14], edi
jmp 0x538870
lea eax, [edx + 1]
nop
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x77
je 0x539460
add eax, 3
mov dword [esp + 0x14], eax
jmp 0x538870
movzx eax, byte [edx + 1]
add edx, 1
cmp eax, 0x86
mov dword [esp + 0x14], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], 1
je 0x5394a4
cmp eax, 0x8b
jne 0x5389de
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
xor edx, edx
mov dh, byte [eax + 3]
mov dl, byte [eax + 4]
lea ecx, [edx + edx]
cmp ecx, dword [edi + 0x14]
mov dword [esp + 0x38], edx
jge 0x5389e2
mov ebp, eax
mov eax, dword [edi + 0xc]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
sub ebp, dword [edi + 0x70]
mov dword [esp + 0x50], ecx
mov ecx, dword [edi + 0x10]
sub ecx, edx
mov edx, dword [eax + ecx*4]
mov eax, dword [edi + 0x90]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
lea ecx, [ecx]
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x38]
mov eax, dword [edi + 0xc]
mov ecx, esi
sub ecx, dword [edi + 0x74]
cmp dword [esp + 0x40], 0x88
mov dword [eax + edx*4], ecx
jb 0x539526
mov dword [edi + 0x98], 2
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x170]
add ecx, 1
push ecx
push edx
push edi
push eax
mov eax, dword [esp + 0x24]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x5745c0]
push ebx
add edx, eax
push edx
push esi
call fcn.00538770
cmp eax, 0xfffffc1a
jne 0x539643
mov eax, dword [edi + 0x8c]
mov ecx, dword [edi + 0x90]
mov ebx, dword [edi + 0x7c]
mov dword [esp + 0x170], eax
mov eax, dword [edi + 0x70]
add eax, ebp
cmp esi, dword [edi + 0x80]
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], ebx
je 0x5396f0
mov esi, dword [edi + 0x80]
jmp 0x539500
cmp eax, 0xfffffc20
jne 0x5395d6
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x54573a
cmp byte [edx], 0x77
je 0x5395e2
cmp byte [ecx], 0x77
jne 0x54573a
jmp 0x5395e2
test eax, eax
jne 0x54573a
mov edx, dword [esp + 0x14]
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
mov dword [esp + 0x14], edx
jne 0x539625
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0x90], ecx
jmp 0x538a10
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x539604
mov edx, eax
add edx, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x14], edx
jmp 0x538870
cmp dword [esp + 0x30], 0
jne 0x539637
cmp dword [esp + 0x34], 0
je case.0x5455d0.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x538870
cmp eax, 0xfffffc20
jne 0x539671
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x54573a
cmp byte [edx], 0x77
je 0x53967d
cmp byte [ecx], 0x77
jne 0x54573a
jmp 0x53967d
test eax, eax
jne 0x54573a
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov dword [edi + 0x90], eax
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add edx, ecx
cmp byte [edx], 0x77
mov dword [esp + 0x14], edx
je 0x539500
cmp dword [esp + 0x30], 0
jne 0x5396d0
mov ebx, dword [edi + 0xc]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x24]
lea eax, [ecx + ecx]
mov dword [ebx + eax*4], ebp
mov ebx, dword [edi + 0xc]
mov ebp, dword [esp + 0x50]
mov dword [ebx + eax*4 + 4], ebp
mov eax, dword [edi + 0x10]
sub eax, ecx
mov ecx, dword [edi + 0xc]
mov edi, dword [esp + 0x2c]
mov dword [ecx + eax*4], edi
cmp dword [esp + 0x34], 0
jne 0x5396e2
cmp dword [esp + 0x30], 0
je case.0x5455d0.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x538870
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x5396f0
mov dword [esp + 0x14], eax
mov edx, eax
jmp 0x5396d0
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
sub ecx, edx
mov al, byte [ecx]
cmp al, 0x88
mov dword [esp + 0x40], ecx
jae 0x53972d
cmp al, 0x81
je 0x53972d
mov dword [esp + 0x3c], 0
jmp 0x53973e
mov edx, dword [esp + 0x1c]
mov edi, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x1c], edx
cmp al, 0x7d
jb 0x53974a
cmp al, 0x80
jbe 0x542add
cmp al, 0x82
je 0x542add
cmp al, 0x85
je 0x539766
cmp al, 0x8a
je 0x539766
cmp al, 0x86
je 0x539766
cmp al, 0x8b
jne 0x53980c
mov ebp, dword [esp + 0x10]
xor eax, eax
cmp dword [ebp + 0xa4], 0
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov ecx, eax
mov dword [esp + 0x38], ecx
lea edx, [ecx + ecx]
je 0x539793
mov eax, dword [ebp + 0xa4]
cmp dword [eax + 4], ecx
je 0x542b05
mov eax, dword [ebp + 0x90]
mov ebx, dword [esp + 0x170]
and eax, 0xffff0000
or eax, ecx
mov dword [ebp + 0x90], eax
cmp edx, dword [ebp + 0x14]
jl 0x5397bf
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x539817
cmp edx, ebx
jle 0x5397e0
mov eax, dword [ebp + 0xc]
lea edi, [eax + ebx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x5397e0
sub ecx, edi
sub ecx, 1
shr ecx, 2
add ecx, 1
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
sub ecx, dword [esp + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp + 0xc]
mov eax, esi
sub eax, dword [ebp + 0x74]
cmp ebx, edx
mov dword [ecx + edx*4 + 4], eax
jg 0x539817
lea ebx, [edx + 2]
mov dword [esp + 0x170], ebx
jmp 0x539817
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x542b1c
cmp al, 0x78
je 0x539833
cmp esi, dword [esp + 0x3c]
jne 0x542325
mov edi, dword [esp + 0x40]
add ecx, 3
cmp byte [edi], 0x81
je 0x542bd3
mov dword [esp + 0x14], ecx
jmp 0x538870
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x539864
cmp esi, dword [eax + 0x74]
je case.0x5455d0.14
jmp 0x539864
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x74]
jne case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x53988b
cmp esi, dword [eax + 0x74]
je case.0x5455d0.14
mov edx, dword [eax + 0x74]
cmp esi, edx
je 0x539901
cmp esi, dword [eax + 0x78]
je case.0x5455d0.14
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x5398d0
cmp esi, edx
jbe case.0x5455d0.14
mov edx, dword [esp + 0x20]
push edx
lea edx, [eax + 0x1c]
mov eax, dword [eax + 0x74]
push edx
push eax
push ecx
push esi
call fcn.00547130
test eax, eax
je case.0x5455d0.14
add dword [esp + 0x14], 1
jmp 0x538870
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x74]
add ecx, edx
cmp esi, ecx
jb case.0x5455d0.14
mov ecx, esi
sub ecx, edx
mov dl, byte [ecx]
cmp dl, byte [eax + 0x34]
jne case.0x5455d0.14
cmp dword [eax + 0x1c], 1
je 0x539901
mov cl, byte [ecx + 1]
cmp cl, byte [eax + 0x35]
jne case.0x5455d0.14
add dword [esp + 0x14], 1
jmp 0x538870
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x94]
add ecx, dword [eax + 0x74]
cmp esi, ecx
jne case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
add edx, 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], edx
jmp 0x538870
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x5399af
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x539978
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [edi + 0x78]
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.00546f70
test eax, eax
je 0x542c09
mov edx, dword [esp + 0x14]
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x542c09
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x542c09
cmp dword [edi + 0x1c], 1
je 0x5399dc
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x542c0b
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
cmp dword [edi + 0x48], ebp
jne case.0x5455d0.14
cmp dword [edi + 0x88], ebp
je 0x5399dc
cmp esi, dword [edi + 0x84]
jbe 0x5399dc
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x545727
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x48], ebp
jne case.0x5455d0.14
cmp dword [edi + 0x58], ebp
je 0x539a0f
jmp 0x539a00
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jb case.0x5455d0.14
jmp 0x5399b8
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x539a76
mov eax, dword [edi + 0x18]
cmp eax, ebp
lea ebp, [edi + 0x1c]
je 0x539a3d
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0x78]
push ecx
push ebp
push edx
push eax
push esi
call fcn.00546f70
test eax, eax
je 0x542c54
mov edx, dword [esp + 0x14]
jmp 0x539a68
mov eax, dword [edi + 0x78]
sub eax, dword [ebp]
cmp esi, eax
ja 0x542c54
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x542c54
cmp dword [ebp], 1
je 0x539a68
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x542c54
mov ecx, dword [edi + 0x78]
sub ecx, dword [ebp]
cmp esi, ecx
jne 0x542c54
cmp dword [edi + 0x88], 0
jmp 0x5399be
cmp dword [esp + 0x20], ebp
je 0x539d60
mov ebp, dword [esp + 0x10]
cmp esi, dword [ebp + 0x74]
je 0x539be7
mov dl, byte [esi - 1]
lea eax, [esi - 1]
and dl, 0xc0
cmp dl, 0x80
jne 0x539ab5
mov cl, byte [eax - 1]
sub eax, 1
and cl, 0xc0
cmp cl, 0x80
je 0x539aa7
cmp eax, dword [ebp + 0x84]
jae 0x539ac3
mov dword [ebp + 0x84], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x539b73
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x20
jne 0x539aeb
and ecx, 0x1f
shl ecx, 6
or ecx, edx
jmp 0x539b73
test cl, 0x10
jne 0x539aff
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x539b67
test cl, 8
jne 0x539b16
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x539b61
test cl, 4
jne 0x539b39
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
jmp 0x539b61
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl edx, 6
and ecx, 0x3f
or edx, ecx
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, edx
cmp dword [ebp + 0x54], 0
je 0x539bcf
cmp ecx, 0x5f
jne 0x539b83
lea edi, [ecx - 0x5e]
jmp 0x539be9
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x539ba5
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
mov eax, dword [ecx*4 + 0x574798]
cmp eax, 1
je 0x539bc8
cmp eax, 3
jne 0x539be7
mov edi, 1
jmp 0x539be9
cmp ecx, 0x100
jae 0x539be7
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x539be7
mov edi, 1
jmp 0x539be9
xor edi, edi
cmp esi, dword [ebp + 0x78]
jb 0x539c1a
cmp dword [ebp + 0x88], 0
je 0x539c13
cmp esi, dword [ebp + 0x84]
jbe 0x539c13
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x545727
xor eax, eax
jmp 0x539e96
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x539cde
test cl, 0x20
jne 0x539c42
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x539cde
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x539c69
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x539cde
test cl, 8
jne 0x539c7c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x539cce
and eax, 0x3f
test cl, 4
jne 0x539cad
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x539cde
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp dword [ebp + 0x54], 0
je 0x539d3d
cmp ecx, 0x5f
jne 0x539cf1
lea eax, [ecx - 0x5e]
jmp 0x539e96
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x539d13
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
mov eax, dword [ecx*4 + 0x574798]
cmp eax, 1
je 0x539d56
cmp eax, 3
je 0x539d56
xor eax, eax
jmp 0x539e96
cmp ecx, 0x100
jae 0x539e1b
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x539e1b
mov eax, 1
jmp 0x539e96
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x74]
jne 0x539d70
xor edi, edi
jmp 0x539df1
cmp esi, dword [ecx + 0x84]
ja 0x539d81
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
cmp dword [ecx + 0x54], 0
je 0x539de0
movzx edi, byte [esi - 1]
cmp edi, 0x5f
jne 0x539d97
mov edi, 1
jmp 0x539df1
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and edi, 0x8000007f
jns 0x539db9
dec edi
or edi, 0xffffff80
inc edi
add edx, edi
movzx eax, word [edx*2 + 0x578ad8]
movzx edx, byte [eax*8 + 0x575259]
mov eax, dword [edx*4 + 0x574798]
cmp eax, 1
je 0x539d90
cmp eax, 3
je 0x539d90
xor edi, edi
jmp 0x539df1
movzx edx, byte [esi - 1]
mov eax, dword [ecx + 0x40]
movzx edi, byte [edx + eax]
shr edi, 4
and edi, 1
cmp esi, dword [ecx + 0x78]
jb 0x539e22
cmp dword [ecx + 0x88], 0
je 0x539e1b
cmp esi, dword [ecx + 0x84]
jbe 0x539e1b
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545727
xor eax, eax
jmp 0x539e96
cmp dword [ecx + 0x54], 0
je 0x539e86
movzx ecx, byte [esi]
cmp ecx, 0x5f
jne 0x539e35
lea eax, [ecx - 0x5e]
jmp 0x539e96
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x539e57
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578ad8]
movzx edx, byte [ecx*8 + 0x575259]
mov eax, dword [edx*4 + 0x574798]
cmp eax, 1
je 0x539d56
cmp eax, 3
je 0x539d56
xor eax, eax
jmp 0x539e96
mov eax, dword [ecx + 0x40]
movzx ecx, byte [esi]
movzx eax, byte [ecx + eax]
shr eax, 4
and eax, 1
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx]
add ecx, 1
cmp dl, 5
mov dword [esp + 0x14], ecx
jne 0x539eb3
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
jmp 0x539ebc
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
test eax, eax
je 0x538870
xor eax, eax
jmp 0x54573a
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x539eff
cmp esi, dword [edi + 0x78]
jae 0x539f26
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [edi + 0x78]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00546f70
test eax, eax
jne case.0x5455d0.14
mov edx, dword [esp + 0x14]
xor ebp, ebp
jmp 0x539f26
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x539f26
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x539f26
cmp dword [edi + 0x1c], 1
je case.0x5455d0.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x5455d0.14
cmp dword [edi + 0x88], ebp
je 0x539f62
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb 0x539f62
cmp dword [edi + 0x18], ebp
jne 0x539f62
cmp dword [edi + 0x1c], 2
jne 0x539f62
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x539f62
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x545727
jmp 0x539f62
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x5431e7
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x5399dc
cmp esi, eax
jae 0x5399dc
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x5399dc
add esi, 1
cmp esi, eax
jb 0x539f82
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542caa
add esi, 1
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c9f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a0bd
cmp eax, 0xc0
jb 0x53a0bd
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a001
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a0bd
test al, 0x10
jne 0x53a021
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x53a0bd
test al, 8
jne 0x53a04d
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x53a0bd
test al, 4
jne 0x53a082
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x53a0bd
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0x100
jae 0x5399dc
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
jne case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c9f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a1df
cmp eax, 0xc0
jb 0x53a1df
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a123
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a1df
test al, 0x10
jne 0x53a143
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x53a1df
test al, 8
jne 0x53a16f
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x53a1df
test al, 4
jne 0x53a1a4
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x53a1df
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0xff
ja case.0x5455d0.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
je case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c9f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a301
cmp eax, 0xc0
jb 0x53a301
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a245
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a301
test al, 0x10
jne 0x53a265
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x53a301
test al, 8
jne 0x53a291
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x53a301
test al, 4
jne 0x53a2c6
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x53a301
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0x100
jae 0x5399dc
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
jne case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c9f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a423
cmp eax, 0xc0
jb 0x53a423
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a367
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a423
test al, 0x10
jne 0x53a387
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x53a423
test al, 8
jne 0x53a3b3
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x53a423
test al, 4
jne 0x53a3e8
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x53a423
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0xff
ja case.0x5455d0.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
je case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c9f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a545
cmp eax, 0xc0
jb 0x53a545
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a489
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a545
test al, 0x10
jne 0x53a4a9
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x53a545
test al, 8
jne 0x53a4d5
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x53a545
test al, 4
jne 0x53a50a
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x53a545
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0x100
jae 0x5399dc
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c9f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a667
cmp eax, 0xc0
jb 0x53a667
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a5ab
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a667
test al, 0x10
jne 0x53a5cb
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x53a667
test al, 8
jne 0x53a5f7
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x53a667
test al, 4
jne 0x53a62c
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x53a667
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0xff
ja case.0x5455d0.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
je case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
cmp esi, edi
jae 0x542c9f
movzx eax, byte [esi]
mov ebp, 1
add esi, ebp
cmp dword [esp + 0x20], 0
je 0x53a78e
cmp eax, 0xc0
jb 0x53a78e
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a6d3
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, ebp
jmp 0x53a78e
test al, 0x10
jne 0x53a6f3
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x53a78e
test al, 8
jne 0x53a71f
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x53a78e
test al, 4
jne 0x53a754
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x53a78e
and eax, ebp
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0xd
ja 0x53a7e6
je 0x53a7a5
cmp eax, 0xa
je 0x53a80d
jbe case.0x5455d0.14
cmp eax, 0xc
jmp 0x53a7fd
cmp esi, edi
jb 0x53a7d4
cmp dword [ecx + 0x88], 0
je 0x53a80d
cmp esi, dword [ecx + 0x84]
jbe 0x53a80d
mov dword [ecx + 0x64], ebp
cmp dword [ecx + 0x88], ebp
jg 0x545727
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x538870
cmp byte [esi], 0xa
jne 0x53a80d
add esi, ebp
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x538870
cmp eax, 0x85
je 0x53a803
cmp eax, 0x2027
jbe case.0x5455d0.14
cmp eax, 0x2029
ja case.0x5455d0.14
cmp dword [ecx + 0x68], 0
jne case.0x5455d0.14
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x538870
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542caa
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a916
cmp eax, 0xc0
jb 0x53a916
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53a85a
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53a916
test al, 0x10
jne 0x53a87a
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53a916
test al, 8
jne 0x53a8a6
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x53a916
test al, 4
jne 0x53a8db
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x53a916
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x180e
ja 0x53a945
je case.0x5455d0.14
cmp eax, 0xa0
ja 0x53a93e
je case.0x5455d0.14
cmp eax, 9
je case.0x5455d0.14
cmp eax, 0x20
jmp 0x53a974
cmp eax, 0x1680
jmp 0x53a974
cmp eax, 0x205f
ja 0x53a96f
je case.0x5455d0.14
cmp eax, 0x2000
jb 0x5399dc
cmp eax, 0x200a
jbe case.0x5455d0.14
cmp eax, 0x202f
jmp 0x53a974
cmp eax, 0x3000
je case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542caa
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53aa84
cmp eax, 0xc0
jb 0x53aa84
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53a9c8
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53aa84
test al, 0x10
jne 0x53a9e8
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53aa84
test al, 8
jne 0x53aa14
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x53aa84
test al, 4
jne 0x53aa49
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x53aa84
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x180e
ja 0x53aab3
je 0x5399dc
cmp eax, 0xa0
ja 0x53aaac
je 0x5399dc
cmp eax, 9
je 0x5399dc
cmp eax, 0x20
jmp 0x53aae2
cmp eax, 0x1680
jmp 0x53aae2
cmp eax, 0x205f
ja 0x53aadd
je 0x5399dc
cmp eax, 0x2000
jb case.0x5455d0.14
cmp eax, 0x200a
jbe 0x5399dc
cmp eax, 0x202f
jmp 0x53aae2
cmp eax, 0x3000
jne case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542caa
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53abf2
cmp eax, 0xc0
jb 0x53abf2
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53ab36
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53abf2
test al, 0x10
jne 0x53ab56
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53abf2
test al, 8
jne 0x53ab82
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x53abf2
test al, 4
jne 0x53abb7
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x53abf2
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x85
ja 0x53ac0d
je case.0x5455d0.14
cmp eax, 0xa
jb 0x5399dc
cmp eax, 0xd
jmp 0x53ac1d
cmp eax, 0x2028
jb 0x5399dc
cmp eax, 0x2029
jbe case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542caa
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53ad2d
cmp eax, 0xc0
jb 0x53ad2d
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53ac71
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53ad2d
test al, 0x10
jne 0x53ac91
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53ad2d
test al, 8
jne 0x53acbd
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x53ad2d
test al, 4
jne 0x53acf2
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x53ad2d
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x85
ja 0x53ad48
je 0x5399dc
cmp eax, 0xa
jb case.0x5455d0.14
cmp eax, 0xd
jmp 0x53ad58
cmp eax, 0x2028
jb case.0x5455d0.14
cmp eax, 0x2029
ja case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538870
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542caa
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53ae79
cmp ecx, 0xc0
jb 0x53ae79
test cl, 0x20
jne 0x53adaf
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53ae79
test cl, 0x10
jne 0x53add6
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53ae79
test cl, 8
jne 0x53ae09
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53ae79
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53ae45
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53ae79
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53ae9d
dec edx
or edx, 0xffffff80
inc edx
mov edi, dword [esp + 0x14]
add eax, edx
movzx edx, byte [edi + 1]
cmp edx, 0xa
movzx eax, word [eax*2 + 0x578ad8]
lea eax, [eax*8 + 0x575258]
ja case.default.0x53aebf
jmp dword [edx*4 + 0x545974]
cmp ebx, 0xf
jmp 0x53b0d1
mov al, byte [eax + 1]
cmp al, 9
je 0x53aeee
cmp al, 5
je 0x53aeee
cmp al, 8
je 0x53aeee
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53b0d1
xor ecx, ecx
cmp ebx, 0xf
sete cl
mov eax, 1
cmp eax, ecx
jmp 0x53b0d1
movzx edx, byte [eax + 1]
movzx eax, byte [edi + 2]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x574798]
setne cl
xor edx, edx
cmp ebx, 0x10
sete dl
cmp ecx, edx
jmp 0x53b0d1
mov cl, byte [edi + 2]
xor edx, edx
cmp cl, byte [eax + 1]
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jmp 0x53b0d1
mov cl, byte [edi + 2]
xor edx, edx
cmp cl, byte [eax]
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jmp 0x53b0d1
movzx ecx, byte [eax + 1]
mov eax, dword [ecx*4 + 0x574798]
cmp eax, 1
je 0x53b0c2
cmp eax, 3
je 0x53b0c2
xor eax, eax
jmp 0x53b0c7
cmp ecx, 0x180e
ja 0x53afbf
je case.0x53aebf.0
cmp ecx, 0x85
ja 0x53afab
je case.0x53aebf.0
cmp ecx, 9
jb case.0x53afdf.8203
cmp ecx, 0xd
jbe case.0x53aebf.0
cmp ecx, 0x20
jmp 0x53aff8
cmp ecx, 0xa0
je case.0x53aebf.0
cmp ecx, 0x1680
jmp 0x53aff8
cmp ecx, 0x202f
ja 0x53afe6
je case.0x53aebf.0
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x53afdf.8203
movzx ecx, byte [ecx + 0x5459a8]
jmp dword [ecx*4 + 0x5459a0]
cmp ecx, 0x205f
je case.0x53aebf.0
cmp ecx, 0x3000
je case.0x53aebf.0
movzx edx, byte [eax + 1]
xor eax, eax
cmp dword [edx*4 + 0x574798], 6
sete al
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53b0d1
movzx edx, byte [eax + 1]
mov eax, dword [edx*4 + 0x574798]
cmp eax, 1
je 0x53aeee
cmp eax, 3
je 0x53aeee
cmp ecx, 0x5f
je 0x53aeee
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53b0d1
movzx edx, byte [edi + 2]
mov eax, dword [edx*4 + 0x575118]
cmp ecx, eax
lea edx, [edx*4 + 0x575118]
jb 0x53b07d
jmp 0x53b070
add edx, 4
cmp ecx, eax
je 0x53b082
mov eax, dword [edx]
cmp ecx, eax
jae 0x53b070
cmp ebx, 0x10
jmp 0x53b0d1
cmp ebx, 0x10
jne case.0x5455d0.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x538870
cmp ecx, 0x24
je 0x53b0c2
cmp ecx, 0x40
je 0x53b0c2
cmp ecx, 0x60
je 0x53b0c2
cmp ecx, 0xa0
jb 0x53b0b6
cmp ecx, 0xd7ff
jbe 0x53b0c2
cmp ecx, 0xe000
jae 0x53b0c2
xor eax, eax
jmp 0x53b0c7
mov eax, 1
xor edx, edx
cmp ebx, 0xf
sete dl
cmp eax, edx
je case.0x5455d0.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x538870
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x543599
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53b1f4
cmp ecx, 0xc0
jb 0x53b1f4
test cl, 0x20
jne 0x53b12a
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53b1f4
test cl, 0x10
jne 0x53b151
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x53b1f4
test cl, 8
jne 0x53b184
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53b1f4
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53b1c0
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x53b1f4
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x53b216
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebp
movzx eax, word [edx*2 + 0x578ad8]
movzx ebx, byte [eax*8 + 0x57525a]
jae 0x53b373
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x53b323
cmp ecx, 0xc0
jb 0x53b323
test cl, 0x20
jne 0x53b26b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53b321
test cl, 0x10
jne 0x53b295
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53b323
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53b2b8
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53b313
and eax, 0x3f
test cl, 4
jne 0x53b2ee
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53b323
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x53b345
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x57525a]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x574724], edx
je 0x53b373
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x53b230
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53b3a9
cmp esi, ebp
jb 0x53b3a9
cmp esi, dword [eax + 0x84]
jbe 0x53b3a9
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545727
add dword [esp + 0x14], ecx
jmp 0x538870
mov ecx, 1
add dword [esp + 0x14], ecx
jmp 0x538870
mov edx, dword [esp + 0x14]
xor eax, eax
cmp dword [esp + 0x40], 0x74
mov ebp, dword [esp + 0x10]
sete al
mov edi, dword [ebp + 0x50]
xor ecx, ecx
mov ch, byte [edx + 3]
add edx, 5
mov dword [esp + 0x14], edx
mov dword [esp + 0x38], eax
xor eax, eax
mov ah, byte [edx - 4]
mov cl, byte [edx - 1]
mov al, byte [edx - 3]
imul eax, dword [ebp + 0x24]
add eax, dword [ebp + 0x30]
neg edi
sbb edi, edi
neg edi
sub edi, 1
xor ebx, ebx
test ecx, ecx
jle 0x53b488
movzx ebx, byte [eax + 1]
mov bh, byte [eax]
sub ecx, 1
add ebx, ebx
cmp ebx, dword [esp + 0x170]
jge 0x53b41e
mov edx, dword [ebp + 0xc]
cmp dword [edx + ebx*4], 0
jge 0x53b42a
add eax, dword [ebp + 0x24]
test ecx, ecx
jg 0x53b401
jmp 0x53b488
mov eax, edx
mov edi, dword [eax + ebx*4 + 4]
sub edi, dword [eax + ebx*4]
lea eax, [eax + ebx*4]
jmp 0x53b488
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
xor ecx, ecx
cmp dword [esp + 0x40], 0x72
sete cl
xor ebx, ebx
mov bh, byte [eax + 1]
add eax, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ecx
mov bl, byte [eax - 1]
add ebx, ebx
cmp ebx, dword [esp + 0x170]
jge 0x53b47c
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + ebx*4]
test ecx, ecx
lea eax, [edx + ebx*4]
jl 0x53b47c
mov edi, dword [eax + 4]
sub edi, ecx
jmp 0x53b488
mov edi, dword [ebp + 0x50]
neg edi
sbb edi, edi
neg edi
sub edi, 1
mov eax, dword [esp + 0x14]
mov cl, byte [eax]
movzx eax, cl
lea edx, [eax - 0x62]
cmp edx, 7
ja case.default.0x53b4a4
movzx edx, byte [edx + 0x5459dc]
jmp dword [edx*4 + 0x5459d4]
movsx ebp, byte [eax + 0x574546]
add dword [esp + 0x14], 1
add eax, 0xffffff9e
mov ecx, eax
movsx eax, byte [eax + 0x5745b4]
and ecx, 1
test eax, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x53b515
mov dword [esp + 0x18], closesocket
jmp 0x53b515
xor eax, eax
cmp cl, 0x69
sete al
xor ecx, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov ebp, ecx
xor ecx, ecx
mov ch, byte [eax + 3]
mov cl, byte [eax + 4]
test ecx, ecx
mov dword [esp + 0x18], ecx
jne 0x53b50e
mov dword [esp + 0x18], closesocket
add eax, 5
mov dword [esp + 0x14], eax
test edi, edi
je 0x538870
jge 0x53b527
test ebp, ebp
je 0x538870
cmp ebp, 1
mov dword [esp + 0x30], 1
jl 0x53b562
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
push edx
push eax
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00538430
test eax, eax
jl 0x542cb5
add esi, eax
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, ebp
mov dword [esp + 0x30], eax
jle 0x53b534
mov eax, dword [esp + 0x18]
cmp ebp, eax
je 0x538870
cmp dword [esp + 0x34], 0
je 0x542cca
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push esi
mov dword [esp + 0x4c], ebp
call fcn.00538770
test eax, eax
jne 0x54573a
mov ebp, dword [esp + 0x10]
jmp 0x53b5c0
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x38]
push eax
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00538430
test eax, eax
jl 0x542d7c
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
add dword [esp + 0x30], 1
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
add esi, eax
mov eax, dword [esp + 0x17c]
push eax
push ecx
push edx
push esi
call fcn.00538770
test eax, eax
je 0x53b5c0
jmp 0x54573a
mov ecx, dword [esp + 0x38]
push ecx
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00538430
test eax, eax
jl 0x542d7c
add esi, eax
jmp 0x538870
mov edi, dword [esp + 0x14]
mov al, byte [edi + 0x21]
lea edx, [edi + 1]
add edi, 0x21
movzx ecx, al
mov dword [esp + 0x30], edx
lea edx, [ecx - 0x62]
cmp edx, 0xb
mov dword [esp + 0x14], edi
ja case.default.0x53b66b
movzx edx, byte [edx + 0x5459ec]
jmp dword [edx*4 + 0x5459e4]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x53b68c
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x53b694
mov dword [esp + 0x3c], 1
movsx edx, byte [eax + 0x5745a8]
movsx eax, byte [eax + 0x5745b4]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53b6fc
mov dword [esp + 0x18], closesocket
jmp 0x53b6fc
xor ecx, ecx
cmp al, 0x69
sete cl
xor edx, edx
cmp al, 0x6d
sete dl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], edx
xor edx, edx
mov al, byte [edi + 4]
mov dh, byte [edi + 1]
test eax, eax
mov dl, byte [edi + 2]
mov dword [esp + 0x18], eax
jne 0x53b6ea
mov dword [esp + 0x18], closesocket
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x53b6fc
mov edx, 1
mov dword [esp + 0x18], edx
cmp dword [esp + 0x20], 0
mov edi, 1
je 0x53b84a
cmp edx, edi
jl 0x53b889
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x53b724
mov ebx, dword [esp + 0x40]
cmp esi, ebp
jae 0x543595
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53b813
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53b757
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53b813
test al, 0x10
jne 0x53b777
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53b813
test al, 8
jne 0x53b7a3
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x53b813
test al, 4
jne 0x53b7d8
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x53b813
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0xff
jbe 0x53b81f
cmp ebx, 0x6e
jmp 0x53b837
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je case.0x5455d0.14
add edi, 1
cmp edi, edx
jle 0x53b720
jmp 0x53b889
cmp edx, 1
jl 0x53b889
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x543a24
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
add esi, 1
test al, bl
je case.0x5455d0.14
add edi, 1
cmp edi, edx
jle 0x53b856
mov eax, dword [esp + 0x18]
cmp edx, eax
mov ecx, dword [esp + 0x10]
je 0x538870
cmp dword [esp + 0x34], 0
jne 0x542db9
cmp dword [esp + 0x20], 0
mov ebx, esi
mov dword [esp + 0x34], ebx
je 0x53ba95
cmp edx, eax
mov ebp, edx
jge 0x53ba05
mov edx, dword [ecx + 0x78]
cmp esi, edx
mov edi, 1
jae 0x53b9e3
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53b9a4
movzx ebx, byte [esi + 1]
and ebx, 0x3f
test al, 0x20
jne 0x53b8f8
and eax, 0x1f
shl eax, 6
mov edi, 2
jmp 0x53b9a2
test al, 0x10
jne 0x53b912
and eax, 0xf
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
mov edi, 3
jmp 0x53b99c
test al, 8
jne 0x53b938
and eax, 7
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x53b99c
test al, 4
jne 0x53b967
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
mov edi, 5
jmp 0x53b99c
and eax, 1
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 5]
mov edi, 6
shl ebx, 6
and eax, 0x3f
or eax, ebx
cmp eax, 0xff
jbe 0x53b9b4
cmp dword [esp + 0x40], 0x6e
je 0x53ba05
jmp 0x53b9d2
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x53ba05
mov ecx, dword [esp + 0x10]
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53b8c2
jmp 0x53ba05
cmp dword [ecx + 0x88], 0
je 0x53ba05
cmp esi, dword [ecx + 0x84]
jbe 0x53ba05
mov eax, edi
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
mov edx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x170]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
add edx, 1
push edx
push ebp
push eax
push ebx
push edi
push ecx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov edx, esi
sub esi, 1
cmp edx, dword [esp + 0x34]
je case.0x5455d0.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53ba6e
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53ba60
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add edx, 1
push edx
push ebp
push eax
push ebx
push edi
push ecx
push esi
call fcn.00538770
test eax, eax
je 0x53ba45
jmp 0x54573a
cmp edx, eax
mov edi, edx
jge 0x53bafc
mov ebp, dword [ecx + 0x78]
jmp 0x53baa8
mov ecx, dword [esp + 0x10]
cmp esi, ebp
jae 0x53bad7
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x53bafc
add edi, 1
add esi, 1
cmp edi, dword [esp + 0x18]
jl 0x53baa4
jmp 0x53bafc
cmp dword [ecx + 0x88], 0
je 0x53bafc
cmp esi, dword [ecx + 0x84]
jbe 0x53bafc
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, ebx
jb case.0x5455d0.14
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea ebx, [ebx]
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
push eax
push ecx
push ebp
push ebx
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
sub esi, 1
cmp esi, dword [esp + 0x34]
jae 0x53bb20
xor eax, eax
jmp 0x54573a
mov edi, dword [esp + 0x14]
xor edx, edx
mov dh, byte [edi + 1]
lea ecx, [edi + 3]
mov dword [esp + 0x30], ecx
mov dl, byte [edi + 2]
mov al, byte [edi + edx]
movzx ecx, al
add edi, edx
lea edx, [ecx - 0x62]
cmp edx, 0xb
mov dword [esp + 0x14], edi
ja case.default.0x53bb88
movzx edx, byte [edx + 0x545a00]
jmp dword [edx*4 + 0x5459f8]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x53bba9
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x53bbb1
mov dword [esp + 0x3c], 1
movsx ebx, byte [eax + 0x5745a8]
movsx eax, byte [eax + 0x5745b4]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53bc19
mov dword [esp + 0x18], closesocket
jmp 0x53bc19
xor ecx, ecx
cmp al, 0x69
sete cl
xor edx, edx
cmp al, 0x6d
sete dl
xor eax, eax
mov ah, byte [edi + 3]
xor ebx, ebx
mov bh, byte [edi + 1]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], edx
mov al, byte [edi + 4]
mov bl, byte [edi + 2]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53bc07
mov dword [esp + 0x18], closesocket
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x53bc19
mov ebx, 1
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x20]
mov edi, 1
cmp ebx, edi
jl 0x53bd56
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x53bd37
cmp eax, 0xc0
jb 0x53bd37
test al, 0x20
jne 0x53bc70
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53bd37
test al, 0x10
jne 0x53bc96
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53bd37
test al, 8
jne 0x53bcc8
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x53bd37
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53bd03
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x53bd37
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [esp + 0x30]
push ebp
push edx
push eax
call fcn.005476f0
test eax, eax
je case.0x5455d0.14
add edi, 1
cmp edi, ebx
jle 0x53bc30
cmp ebx, dword [esp + 0x18]
je 0x538870
cmp dword [esp + 0x34], 0
jne 0x54300c
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x34], esi
jge 0x53beb9
lea esp, [esp]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
mov edi, 1
jae 0x53be99
test ebp, ebp
movzx eax, byte [esi]
je 0x53be78
cmp eax, 0xc0
jb 0x53be78
test al, 0x20
jne 0x53bdc3
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edi, 2
jmp 0x53be76
test al, 0x10
jne 0x53bdec
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edi, 3
jmp 0x53be78
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
test al, 8
jne 0x53be0e
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x53be68
and edx, 0x3f
test al, 4
jne 0x53be43
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
mov edi, 5
jmp 0x53be78
and eax, edi
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov edi, 6
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, dword [esp + 0x30]
push ebp
push ecx
push eax
call fcn.005476f0
test eax, eax
je 0x53beb9
add ebx, 1
add esi, edi
cmp ebx, dword [esp + 0x18]
jl 0x53bd80
jmp 0x53beb9
cmp dword [eax + 0x88], 0
je 0x53beb9
cmp esi, dword [eax + 0x84]
jbe 0x53beb9
mov dword [eax + 0x64], edi
cmp dword [eax + 0x88], edi
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
lea esp, [esp]
mov eax, esi
sub esi, 1
cmp eax, dword [esp + 0x34]
je case.0x5455d0.14
cmp dword [esp + 0x20], 0
je 0x53bf2e
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53bf2e
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53bf20
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.00538770
test eax, eax
je 0x53bf00
jmp 0x54573a
cmp dword [esp + 0x20], ebp
je 0x53bfe5
mov eax, dword [esp + 0x14]
mov ecx, 1
add eax, ecx
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x53bfa6
test al, 0x20
jne 0x53bf83
mov ecx, 2
jmp 0x53bfa6
test al, 0x10
jne 0x53bf8e
mov ecx, 3
jmp 0x53bfa6
test al, 8
jne 0x53bf99
mov ecx, 4
jmp 0x53bfa6
and al, 4
neg al
sbb eax, eax
neg eax
add eax, 5
mov ecx, eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
sub edx, esi
cmp ecx, edx
jg 0x5431a4
test ecx, ecx
jle 0x538870
mov edi, dword [esp + 0x14]
mov al, byte [edi]
mov dl, byte [esi]
add edi, 1
sub ecx, 1
add esi, 1
cmp al, dl
mov dword [esp + 0x14], edi
jne case.0x5455d0.14
test ecx, ecx
jg 0x53bfc3
jmp 0x538870
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
sub ecx, esi
cmp ecx, 1
jl 0x5431bc
mov al, byte [esi]
add esi, 1
cmp byte [edx + 1], al
jne case.0x5455d0.14
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x538870
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x5431e7
cmp dword [esp + 0x20], ebp
je 0x53c293
mov edx, dword [esp + 0x14]
mov eax, 1
movzx ecx, byte [edx + eax]
add edx, eax
cmp ecx, 0xc0
mov dword [esp + 0x14], edx
jb 0x53c12c
movzx eax, byte [edx + 1]
and eax, 0x3f
test cl, 0x20
jne 0x53c065
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x53c12c
test cl, 0x10
jne 0x53c088
and ecx, 0xf
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 3
jmp 0x53c12c
test cl, 8
jne 0x53c0b7
and ecx, 7
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 4
jmp 0x53c12c
test cl, 4
jne 0x53c0ef
and ecx, 3
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 4]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 5
jmp 0x53c12c
and ecx, 1
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 5]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 6
cmp ecx, 0x80
jae 0x53c155
mov eax, dword [edi + 0x38]
movzx edi, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edi + eax]
jne case.0x5455d0.14
add edx, 1
mov dword [esp + 0x14], edx
add esi, 1
jmp 0x538870
movzx ebx, byte [esi]
add esi, 1
cmp ebx, 0xc0
jb 0x53c241
movzx edx, byte [esi]
and edx, 0x3f
test bl, 0x20
jne 0x53c182
and ebx, 0x1f
shl ebx, 6
or ebx, edx
add esi, 1
jmp 0x53c241
test bl, 0x10
jne 0x53c1a3
and ebx, 0xf
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
jmp 0x53c241
test bl, 8
jne 0x53c1d0
and ebx, 7
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
jmp 0x53c241
test bl, 4
jne 0x53c206
and ebx, 3
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
jmp 0x53c241
and ebx, 1
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 4]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 5
add dword [esp + 0x14], eax
cmp ecx, ebx
je 0x538870
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53c271
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x578ad8]
mov edx, dword [eax*8 + 0x57525c]
add edx, ecx
cmp ebx, edx
je 0x538870
xor eax, eax
jmp 0x54573a
mov eax, dword [edi + 0x38]
movzx ecx, byte [edx + 1]
movzx edi, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edi + eax]
jne case.0x5455d0.14
add esi, 1
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x538870
xor eax, eax
mov ah, byte [edx + 1]
add edx, 3
mov dword [esp + 0x14], edx
mov al, byte [edx - 1]
mov edi, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], edi
jmp 0x53c39d
mov dword [esp + 0x3c], 1
xor ecx, ecx
cmp al, 0x28
mov ch, byte [edx + 1]
mov dword [esp + 0x2c], ebp
mov cl, byte [edx + 2]
mov dword [esp + 0x18], ecx
je 0x53c2fa
cmp al, 0x35
mov dword [esp + 0x34], ebp
jne 0x53c302
mov dword [esp + 0x34], 1
mov edi, dword [esp + 0x2c]
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x53c39d
xor edi, edi
add edx, 1
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x53c395
mov edi, 1
add edx, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x53c395
mov eax, 1
xor edi, edi
add edx, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
jmp 0x53c39d
cmp ebx, 0x2e
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x2e
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x5745a8]
mov ecx, eax
movsx eax, byte [eax + 0x5745b4]
add edx, 1
and ecx, 1
cmp eax, ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
jne 0x53c39d
mov dword [esp + 0x18], closesocket
cmp dword [esp + 0x20], ebp
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax]
je 0x53c8dd
cmp ebx, 0xc0
mov ebp, 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x4c], eax
jb 0x53c48b
test bl, 0x20
jne 0x53c3e5
movzx edx, byte [eax + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov ebp, 2
jmp 0x53c487
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53c407
and ebx, 0xf
shl ebx, 6
or ecx, ebx
mov ebp, 3
jmp 0x53c47d
and edx, 0x3f
test bl, 8
jne 0x53c427
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
mov ebp, 4
jmp 0x53c47d
test bl, 4
jne 0x53c450
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 4]
mov ebp, 5
jmp 0x53c47d
and ebx, ebp
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 4]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 5]
mov ebp, 6
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov ebx, ecx
mov dword [esp + 0x38], ebp
add eax, ebp
cmp ebp, 1
mov dword [esp + 0x14], eax
jle 0x53c8e4
cmp dword [esp + 0x40], 0x2e
jb 0x53c4f0
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
mov ecx, ebx
shl eax, 7
and ecx, 0x8000007f
jns 0x53c4c5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x578ad8]
mov eax, dword [edx*8 + 0x57525c]
add eax, ebx
cmp eax, ebx
je 0x53c4f0
lea ecx, [esp + 0x154]
push ecx
push eax
call fcn.00547320
mov dword [esp + 0x40], eax
jmp 0x53c4f8
mov dword [esp + 0x40], 0
cmp edi, 1
mov dword [esp + 0x30], 1
jl 0x53c68e
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x78]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], ecx
sub ecx, ebp
mov dword [esp + 0x50], ecx
jmp 0x53c524
mov ecx, dword [esp + 0x50]
cmp esi, ecx
ja 0x53c5c6
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53c554
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c558
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c540
test eax, eax
je 0x53c5b5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c5a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c5b5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c5a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c5b5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c5a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c5b5
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53c5b5
test edi, edi
mov eax, 1
jg 0x53c5b7
or eax, 0xffffffff
jmp 0x53c5b7
xor eax, eax
test eax, eax
mov eax, dword [esp + 0x40]
jne 0x53c5c6
add esi, ebp
jmp 0x53c675
test eax, eax
jle 0x5431f2
mov ecx, dword [esp + 0x24]
sub ecx, eax
cmp esi, ecx
ja 0x5431f2
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53c604
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c608
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c5f0
test eax, eax
je 0x53c665
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c657
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c665
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c657
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c665
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c657
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c665
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x53c665
test edi, edi
mov eax, 1
jg 0x53c667
or eax, 0xffffffff
jmp 0x53c667
xor eax, eax
test eax, eax
jne 0x5431f2
mov eax, dword [esp + 0x40]
add esi, eax
mov ecx, dword [esp + 0x30]
add ecx, 1
cmp ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
jle 0x53c520
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
cmp edi, eax
je 0x538870
cmp dword [esp + 0x34], 0
jne 0x54322b
cmp edi, eax
mov dword [esp + 0x34], esi
mov ebx, edi
jge 0x53c866
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x24], eax
sub eax, ebp
mov dword [esp + 0x50], eax
jmp 0x53c6d4
mov eax, dword [esp + 0x50]
cmp esi, eax
ja 0x53c77a
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53c704
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c708
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c6f0
test eax, eax
je 0x53c76d
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c757
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c769
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c757
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c769
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c757
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c769
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x53c769
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53c76f
or eax, 0xffffffff
jmp 0x53c76f
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53c77a
add esi, ebp
jmp 0x53c829
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x53c838
mov edx, dword [esp + 0x24]
sub edx, eax
cmp esi, edx
ja 0x53c838
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53c7b6
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c7ba
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c7a2
test eax, eax
je 0x53c81f
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c809
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c81b
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c809
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c81b
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c809
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c81b
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53c81b
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53c821
or eax, 0xffffffff
jmp 0x53c821
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53c838
add esi, dword [esp + 0x40]
add ebx, 1
cmp ebx, dword [esp + 0x18]
jl 0x53c6d0
jmp 0x53c866
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53c866
cmp esi, dword [ecx + 0x78]
jb 0x53c866
cmp esi, dword [ecx + 0x84]
jbe 0x53c866
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, dword [esp + 0x34]
jbe 0x541e13
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea ebx, [ebx]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
jne 0x53c8d2
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53c8c4
cmp esi, dword [esp + 0x34]
ja 0x53c890
jmp 0x541e13
add eax, 1
mov dword [esp + 0x14], eax
cmp dword [esp + 0x40], 0x2e
jb 0x53ca04
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x3c]
movzx ebp, byte [ecx + ebx]
mov ecx, 1
cmp dword [esp + 0x2c], ecx
mov dword [esp + 0x38], ebp
jl 0x53c933
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
cmp ebx, eax
je 0x53c927
cmp ebp, eax
jne case.0x5455d0.14
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x2c]
jle 0x53c910
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x2c], edx
je 0x538870
cmp dword [esp + 0x34], 0
jne 0x543455
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
mov dword [esp + 0x34], esi
jge 0x53c9a2
mov edx, dword [edi + 0x78]
jmp 0x53c960
cmp esi, edx
jae 0x53c97d
movzx eax, byte [esi]
cmp ebx, eax
je 0x53c96f
cmp ebp, eax
jne 0x53c9a2
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x18]
jl 0x53c960
jmp 0x53c9a2
cmp dword [edi + 0x88], 0
je 0x53c9a2
cmp esi, dword [edi + 0x84]
jbe 0x53c9a2
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, dword [esp + 0x34]
je 0x541e13
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
jmp 0x53c9d0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.00538770
sub esi, 1
test eax, eax
jne 0x54573a
cmp esi, dword [esp + 0x34]
jne 0x53c9d0
jmp 0x541e13
mov edx, dword [esp + 0x10]
mov eax, 1
cmp edi, eax
jl 0x53ca31
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x5456fa
movzx ebp, byte [esi]
add esi, 1
cmp ebx, ebp
jne case.0x5455d0.14
add eax, 1
cmp eax, edi
jle 0x53ca14
cmp edi, dword [esp + 0x18]
je 0x538870
cmp dword [esp + 0x34], 0
jne 0x5434f0
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x18]
mov edi, esi
mov dword [esp + 0x34], edi
jge 0x53ca9e
mov ecx, dword [edx + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x53ca79
movzx ebp, byte [esi]
cmp ebx, ebp
jne 0x53ca9e
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53ca60
jmp 0x53ca9e
cmp dword [edx + 0x88], 0
je 0x53ca9e
cmp esi, dword [edx + 0x84]
jbe 0x53ca9e
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, edi
je 0x541e13
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.00538770
sub esi, 1
test eax, eax
jne 0x54573a
cmp esi, dword [esp + 0x34]
jne 0x53cac0
jmp 0x541e13
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x54358a
cmp dword [esp + 0x20], ebp
je 0x53cd5e
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax + 1]
add eax, 1
add eax, 1
cmp ebx, 0xc0
mov dword [esp + 0x14], eax
jb 0x53cc04
movzx ecx, byte [eax]
and ecx, 0x3f
test bl, 0x20
jne 0x53cb44
and ebx, 0x1f
shl ebx, 6
or ebx, ecx
add eax, 1
jmp 0x53cc00
test bl, 0x10
jne 0x53cb65
and ebx, 0xf
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 2
jmp 0x53cc00
test bl, 8
jne 0x53cb8f
and ebx, 7
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 2]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 3
jmp 0x53cc00
test bl, 4
jne 0x53cbc5
and ebx, 3
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 2]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 4
jmp 0x53cc00
and ebx, 1
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 2]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 4]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 5
mov dword [esp + 0x14], eax
movzx ecx, byte [esi]
add esi, 1
cmp ecx, 0xc0
jb 0x53cced
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x53cc31
and ecx, 0x1f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x53cced
test cl, 0x10
jne 0x53cc52
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 0x53cced
test cl, 8
jne 0x53cc7c
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 0x53cced
test cl, 4
jne 0x53ccb2
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 0x53cced
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 dword [esp + 0x40], 0x1f
jne 0x53cd03
cmp ebx, ecx
jne 0x538870
xor eax, eax
jmp 0x54573a
cmp ebx, 0x7f
jbe 0x53cd40
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
mov eax, ebx
shl edx, 7
and eax, 0x8000007f
jns 0x53cd2b
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x578ad8]
mov eax, dword [edx*8 + 0x57525c]
add eax, ebx
jmp 0x53cd47
mov eax, dword [edx + 0x3c]
movzx eax, byte [eax + ebx]
cmp ebx, ecx
je case.0x5455d0.14
cmp eax, ecx
jne 0x538870
xor eax, eax
jmp 0x54573a
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 1]
movzx ecx, byte [esi]
add esi, 1
cmp eax, ecx
je case.0x5455d0.14
cmp ebx, 0x20
jne 0x53cd88
mov edx, dword [edx + 0x3c]
movzx eax, byte [edx + eax]
cmp eax, ecx
je case.0x5455d0.14
add dword [esp + 0x14], 2
jmp 0x538870
xor eax, eax
mov ah, byte [edx + 1]
add edx, 3
mov al, byte [edx - 1]
mov dword [esp + 0x18], eax
mov edi, eax
jmp 0x53ce55
xor ecx, ecx
mov ch, byte [edx + 1]
xor edi, edi
cmp al, 0x42
mov cl, byte [edx + 2]
mov dword [esp + 0x18], ecx
je 0x53cdc2
cmp al, 0x4f
mov dword [esp + 0x34], ebp
jne 0x53cdca
mov dword [esp + 0x34], 1
add edx, 3
jmp 0x53ce55
xor edi, edi
mov dword [esp + 0x3c], 1
add edx, 1
jmp 0x53ce4d
mov edi, 1
mov dword [esp + 0x3c], edi
add edx, edi
jmp 0x53ce4d
mov eax, 1
xor edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
add edx, eax
jmp 0x53ce55
xor eax, eax
mov ah, byte [edx + 1]
xor edi, edi
mov dword [esp + 0x3c], 1
add edx, 3
mov al, byte [edx - 1]
mov dword [esp + 0x18], eax
jmp 0x53ce55
cmp ebx, 0x48
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x48
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x5745a8]
mov ecx, eax
movsx eax, byte [eax + 0x5745b4]
and ecx, 1
add edx, 1
cmp eax, ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x53ce55
mov dword [esp + 0x18], closesocket
movzx ebx, byte [edx]
mov ebp, dword [esp + 0x20]
add edx, 1
test ebp, ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x14], edx
je 0x53cf53
cmp ebx, 0xc0
jb 0x53cf53
test bl, 0x20
jne 0x53ce9a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esp + 0x30], eax
add edx, 1
jmp 0x53cf4b
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53cec1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add edx, 2
jmp 0x53cf47
test bl, 8
jne 0x53cee4
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 3
jmp 0x53cf47
test bl, 4
jne 0x53cf13
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 4
jmp 0x53cf47
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 5
mov dword [esp + 0x30], ecx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x14], edx
cmp dword [esp + 0x40], 0x48
jb 0x53d3a4
test ebp, ebp
je 0x53cfa0
cmp ebx, 0x7f
jbe 0x53cfa0
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5768d8]
mov edx, ebx
shl ecx, 7
and edx, 0x8000007f
jns 0x53cf8b
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x578ad8]
mov eax, dword [eax*8 + 0x57525c]
add eax, ebx
jmp 0x53cfab
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x3c]
movzx eax, byte [edx + ebx]
test ebp, ebp
mov dword [esp + 0x38], eax
je 0x53d0db
mov ecx, 1
cmp edi, ecx
jl 0x53d117
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
jmp 0x53cfd0
cmp esi, ebp
jae 0x543a24
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53d0bc
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53d003
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53d0bc
test al, 0x10
jne 0x53d023
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x53d0bc
test al, 8
jne 0x53d04c
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x53d0bc
test al, 4
jne 0x53d081
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x53d0bc
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp ebx, eax
je case.0x5455d0.14
cmp dword [esp + 0x38], eax
je case.0x5455d0.14
add ecx, 1
cmp ecx, edi
jle 0x53cfd0
jmp 0x53d117
mov edx, 1
cmp edi, edx
jl 0x53d117
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x53d0f0
cmp esi, ebp
jae 0x543595
movzx eax, byte [esi]
cmp ebx, eax
je case.0x5455d0.14
cmp dword [esp + 0x38], eax
je case.0x5455d0.14
add edx, 1
add esi, 1
cmp edx, edi
jle 0x53d0f0
mov edx, dword [esp + 0x18]
cmp edi, edx
je 0x538870
cmp dword [esp + 0x34], 0
jne 0x5435c5
cmp dword [esp + 0x20], 0
mov dword [esp + 0x34], esi
je 0x53d2fb
cmp edi, edx
jge 0x53d28b
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x53d156
mov eax, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53d26b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d252
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d18e
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d252
test al, 0x10
jne 0x53d1b0
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53d252
test al, 8
jne 0x53d1de
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x53d252
test al, 4
jne 0x53d215
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x53d252
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp ebx, eax
je 0x53d28b
cmp edx, eax
je 0x53d28b
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53d152
jmp 0x53d28b
cmp dword [eax + 0x88], 0
je 0x53d28b
cmp esi, dword [eax + 0x84]
jbe 0x53d28b
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, dword [esp + 0x34]
jbe 0x541e13
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
nop
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x53d2f0
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53d2e2
cmp esi, dword [esp + 0x34]
ja 0x53d2b0
jmp 0x541e13
cmp edi, edx
mov ecx, edi
jge 0x53d34a
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
cmp esi, edi
jae 0x53d325
movzx eax, byte [esi]
cmp ebx, eax
je 0x53d34a
cmp dword [esp + 0x38], eax
je 0x53d34a
add ecx, 1
add esi, 1
cmp ecx, edx
jl 0x53d308
jmp 0x53d34a
cmp dword [ebp + 0x88], 0
je 0x53d34a
cmp esi, dword [ebp + 0x84]
jbe 0x53d34a
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, dword [esp + 0x34]
je 0x541e13
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
mov edi, edi
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
push eax
push ecx
push ebp
push ebx
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53d370
jmp 0x541e13
test ebp, ebp
je 0x53d4c6
mov ecx, 1
cmp edi, ecx
jl 0x53d4f7
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 0x78]
cmp esi, ebp
jae 0x5437e6
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53d4af
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53d3f3
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53d4af
test al, 0x10
jne 0x53d413
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x53d4af
test al, 8
jne 0x53d43f
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x53d4af
test al, 4
jne 0x53d474
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x53d4af
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp dword [esp + 0x30], eax
je case.0x5455d0.14
add ecx, 1
cmp ecx, edi
jle 0x53d3c0
jmp 0x53d4fb
mov eax, 1
cmp edi, eax
jl 0x53d4f7
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x5437e6
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x5455d0.14
add eax, 1
cmp eax, edi
jle 0x53d4d6
jmp 0x53d4fb
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
cmp edi, ecx
je 0x538870
cmp dword [esp + 0x34], 0
jne 0x543812
cmp dword [esp + 0x20], 0
mov edx, esi
mov dword [esp + 0x34], edx
je 0x53d6db
cmp edi, ecx
jge 0x53d667
mov ebp, dword [ebx + 0x78]
jmp 0x53d534
mov ebx, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53d647
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d630
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d56c
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d630
test al, 0x10
jne 0x53d58e
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53d630
test al, 8
jne 0x53d5bc
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x53d630
test al, 4
jne 0x53d5f3
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x53d630
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp dword [esp + 0x30], eax
je 0x53d667
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53d530
jmp 0x53d667
cmp dword [ebx + 0x88], 0
je 0x53d667
cmp esi, dword [ebx + 0x84]
jbe 0x53d667
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, edx
jbe 0x541e13
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea esp, [esp]
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
push eax
push ecx
push ebp
push ebx
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
jne 0x53d6d0
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
je 0x53d6c4
cmp esi, dword [esp + 0x34]
ja 0x53d690
jmp 0x541e13
cmp edi, ecx
mov eax, edi
jge 0x53d72a
mov ecx, dword [ebx + 0x78]
jmp 0x53d6ea
mov ebx, dword [esp + 0x10]
cmp esi, ecx
jae 0x53d705
movzx edi, byte [esi]
cmp dword [esp + 0x30], edi
je 0x53d72a
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53d6e6
jmp 0x53d72a
cmp dword [ebx + 0x88], 0
je 0x53d72a
cmp esi, dword [ebx + 0x84]
jbe 0x53d72a
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, edx
je 0x541e13
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea esp, [esp]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53d750
jmp 0x541e13
xor eax, eax
mov ah, byte [edx + 1]
mov dword [esp + 0x34], 1
add edx, 3
mov al, byte [edx - 1]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], eax
mov ebx, eax
jmp 0x53d85b
xor ecx, ecx
mov ch, byte [edx + 1]
mov dword [esp + 0x2c], ebp
mov ebx, ebp
mov cl, byte [edx + 2]
mov dword [esp + 0x18], ecx
xor ecx, ecx
cmp al, 0x5c
sete cl
add edx, 3
mov dword [esp + 0x34], ecx
jmp 0x53d85b
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], ebp
add edx, 1
mov ebx, ebp
jmp 0x53d853
mov eax, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], eax
add edx, eax
mov ebx, eax
jmp 0x53d853
mov eax, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x18], eax
add edx, eax
mov ebx, ebp
jmp 0x53d85b
xor eax, eax
mov ah, byte [edx + 1]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], ebp
add edx, 3
mov ebx, ebp
mov al, byte [edx - 1]
mov dword [esp + 0x18], eax
jmp 0x53d85b
lea eax, [ebx - 0x55]
movsx ebx, byte [eax + 0x5745a8]
mov ecx, eax
movsx eax, byte [eax + 0x5745b4]
and ecx, 1
add edx, 1
cmp eax, ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x18], eax
jne 0x53d85b
mov dword [esp + 0x18], closesocket
movzx edi, byte [edx]
add edx, 1
cmp edi, 0x10
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], edx
je 0x53d87c
cmp edi, 0xf
je 0x53d87c
mov ebp, dword [esp + 0x44]
or eax, 0xffffffff
jmp 0x53d89f
movzx eax, byte [edx]
xor ecx, ecx
cmp edi, 0xf
sete cl
add edx, 1
add edx, 1
mov dword [esp + 0x14], edx
mov ebp, ecx
movzx ecx, byte [edx - 1]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ecx
test ebx, ebx
mov dword [esp + 0x4c], eax
jle 0x53faa7
test eax, eax
jl 0x53e783
cmp eax, 0xa
ja case.default.0x53aebf
jmp dword [eax*4 + 0x545a0c]
test ebp, ebp
jne case.0x5455d0.14
lea ecx, [ebp + 1]
cmp ebx, ecx
jl 0x53faa7
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
mov ebp, dword [esp + 0x20]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x53d921
cmp eax, 0xc0
jb 0x53d921
test al, 0x20
jne 0x53d903
add esi, 1
jmp 0x53d921
test al, 0x10
jne 0x53d90c
add esi, 2
jmp 0x53d921
test al, 8
jne 0x53d915
add esi, 3
jmp 0x53d921
test al, 4
jne 0x53d91e
add esi, 4
jmp 0x53d921
add esi, 5
add ecx, 1
cmp ecx, ebx
jle 0x53d8e1
jmp 0x53dab7
mov edi, 1
cmp ebx, edi
jl 0x53faa7
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543a24
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53da4c
cmp ecx, 0xc0
jb 0x53da4c
test cl, 0x20
jne 0x53d982
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53da4c
test cl, 0x10
jne 0x53d9a9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x53da4c
test cl, 8
jne 0x53d9dc
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53da4c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53da18
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x53da4c
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x53da6e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx eax, byte [eax*8 + 0x575259]
cmp eax, 9
je 0x53da93
cmp eax, 5
je 0x53da93
cmp eax, 8
je 0x53da93
xor eax, eax
jmp 0x53da98
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53d945
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x18]
cmp ebx, ebp
je 0x538870
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x4c]
jne 0x543ace
test eax, eax
mov dword [esp + 0x34], esi
jl 0x540a29
cmp eax, 0xa
ja case.default.0x53aebf
jmp dword [eax*4 + 0x545a38]
mov edi, 1
cmp ebx, edi
jl 0x53faa7
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543a24
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53dc0d
cmp ecx, 0xc0
jb 0x53dc0d
test cl, 0x20
jne 0x53db43
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53dc0d
test cl, 0x10
jne 0x53db6a
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53dc0d
test cl, 8
jne 0x53db9d
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53dc0d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53dbd9
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53dc0d
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x53dc2f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578ad8]
movzx edx, byte [ecx*8 + 0x575259]
mov ecx, dword [esp + 0x48]
xor eax, eax
cmp dword [edx*4 + 0x574798], ecx
sete al
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53db06
jmp 0x53daaf
mov edi, 1
cmp ebx, edi
jl 0x53faa7
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543a24
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53dd8c
cmp ecx, 0xc0
jb 0x53dd8c
test cl, 0x20
jne 0x53dcc2
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53dd8c
test cl, 0x10
jne 0x53dce9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x53dd8c
test cl, 8
jne 0x53dd1c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53dd8c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53dd58
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x53dd8c
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x53ddae
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455d0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53dc85
jmp 0x53daaf
mov edi, 1
cmp ebx, edi
jl 0x53faa7
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
lea ecx, [ecx]
cmp esi, ebp
jae 0x543a24
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53df07
cmp ecx, 0xc0
jb 0x53df07
test cl, 0x20
jne 0x53de3d
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53df07
test cl, 0x10
jne 0x53de64
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53df07
test cl, 8
jne 0x53de97
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53df07
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53ded3
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53df07
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x53df29
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578ad8]
movzx edx, byte [ecx*8 + 0x575258]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53de00
jmp 0x53daaf
mov edi, 1
cmp ebx, edi
jl 0x53faa7
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543a24
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53e07f
cmp ecx, 0xc0
jb 0x53e07f
test cl, 0x20
jne 0x53dfb5
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e07f
test cl, 0x10
jne 0x53dfdc
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53e07f
test cl, 8
jne 0x53e00f
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53e07f
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e04b
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53e07f
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x53e0a1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578ad8]
movzx edx, byte [ecx*8 + 0x575259]
mov eax, dword [edx*4 + 0x574798]
cmp eax, 1
je 0x53e0c8
cmp eax, 3
je 0x53e0c8
xor eax, eax
jmp 0x53e0cd
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53df78
jmp 0x53daaf
mov edi, 1
cmp ebx, edi
jl 0x53faa7
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ebp, [edi + 5]
cmp esi, ebx
jae 0x543a24
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53e20a
cmp ecx, 0xc0
jb 0x53e20a
test cl, 0x20
jne 0x53e140
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e20a
test cl, 0x10
jne 0x53e167
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53e20a
test cl, 8
jne 0x53e19a
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53e20a
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e1d6
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53e20a
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
cmp ecx, 0x180e
ja 0x53e24d
je case.0x53e26d.8192
cmp ecx, 0x85
ja 0x53e239
je case.0x53e26d.8192
cmp ecx, 9
jb case.0x53e26d.8203
cmp ecx, 0xd
jbe case.0x53e26d.8192
cmp ecx, 0x20
jmp 0x53e282
cmp ecx, 0xa0
je case.0x53e26d.8192
cmp ecx, 0x1680
jmp 0x53e282
cmp ecx, 0x202f
ja 0x53e274
je case.0x53e26d.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x53e26d.8203
movzx eax, byte [eax + 0x545a6c]
jmp dword [eax*4 + 0x545a64]
cmp ecx, 0x205f
je case.0x53e26d.8192
cmp ecx, 0x3000
je case.0x53e26d.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x53e2a6
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
xor edx, edx
cmp dword [ecx*4 + 0x574798], ebp
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455d0.14
jmp 0x53e2db
cmp dword [esp + 0x44], 0
jne case.0x5455d0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53e100
jmp 0x53daaf
mov edi, 1
cmp ebx, edi
jl 0x53faa7
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543a24
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53e40c
cmp ecx, 0xc0
jb 0x53e40c
test cl, 0x20
jne 0x53e342
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e40c
test cl, 0x10
jne 0x53e369
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53e40c
test cl, 8
jne 0x53e39c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53e40c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e3d8
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53e40c
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53e430
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x578ad8]
movzx edx, byte [eax*8 + 0x575259]
mov eax, dword [edx*4 + 0x574798]
cmp eax, 1
je 0x53e45c
cmp eax, 3
je 0x53e45c
cmp ecx, 0x5f
je 0x53e45c
xor eax, eax
jmp 0x53e461
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53e305
jmp 0x53daaf
mov edi, 1
cmp ebx, edi
jl 0x53faa7
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543a24
movzx eax, byte [esi]
add esi, 1
test ebx, ebx
je 0x53e597
cmp eax, 0xc0
jb 0x53e597
test al, 0x20
jne 0x53e4d0
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53e597
test al, 0x10
jne 0x53e4f6
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53e597
test al, 8
jne 0x53e528
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x53e597
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53e563
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x53e597
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [esp + 0x48]
mov ecx, dword [edx*4 + 0x575118]
cmp eax, ecx
lea edx, [edx*4 + 0x575118]
jb 0x53e5bd
lea ecx, [ecx]
add edx, 4
cmp eax, ecx
je 0x53e5ca
mov ecx, dword [edx]
cmp eax, ecx
jae 0x53e5b0
cmp dword [esp + 0x44], 0
je case.0x5455d0.14
jmp 0x53e5d5
cmp dword [esp + 0x44], 0
jne case.0x5455d0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53e495
jmp 0x53daaf
mov ecx, 1
cmp ebx, ecx
jl 0x53faa7
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
jmp 0x53e600
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53e73e
cmp eax, 0xc0
jb 0x53e73e
test al, 0x20
jne 0x53e646
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53e73a
test al, 0x10
jne 0x53e674
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53e73a
test al, 8
jne 0x53e6ae
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53e73a
test al, 4
jne 0x53e6f1
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53e73a
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
mov edi, dword [esp + 0x10]
cmp eax, 0x24
je 0x53e766
cmp eax, 0x40
je 0x53e766
cmp eax, 0x60
je 0x53e766
cmp eax, 0xa0
jb 0x53e75b
cmp eax, 0xd7ff
jbe 0x53e766
cmp eax, 0xe000
jae 0x53e766
xor eax, eax
jmp 0x53e76b
mov eax, 1
cmp eax, ebp
je case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53e600
jmp 0x53dab7
cmp edi, 0x16
jne 0x53ea83
cmp ebx, 1
mov dword [esp + 0x30], 1
jl 0x53faa7
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov dword [esp + 0x24], edi
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53e8b5
cmp ecx, 0xc0
jb 0x53e8b5
test cl, 0x20
jne 0x53e7eb
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e8b5
test cl, 0x10
jne 0x53e812
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53e8b5
test cl, 8
jne 0x53e845
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53e8b5
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e881
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53e8b5
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x53e8d7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, edi
movzx ecx, word [eax*2 + 0x578ad8]
movzx ebp, byte [ecx*8 + 0x57525a]
jae 0x53ea3a
mov ebx, dword [esp + 0x20]
test ebx, ebx
movzx ecx, byte [esi]
mov edi, 1
je 0x53e9e8
cmp ecx, 0xc0
jb 0x53e9e8
test cl, 0x20
jne 0x53e92d
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53e9e6
test cl, 0x10
jne 0x53e957
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53e9e8
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53e97d
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53e9d8
and eax, 0x3f
test cl, 4
jne 0x53e9b3
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53e9e8
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x53ea0a
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x57525a]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x574724], edx
je 0x53ea3a
add esi, edi
cmp esi, dword [esp + 0x24]
mov ebp, ecx
jb 0x53e8f5
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53ea69
cmp esi, dword [esp + 0x24]
jb 0x53ea69
cmp esi, dword [eax + 0x84]
jbe 0x53ea69
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545727
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
jle 0x53e7a0
jmp 0x53daaf
cmp dword [esp + 0x20], 0
lea eax, [edi - 6]
je 0x53f6b2
cmp eax, 0xf
ja case.default.0x53aebf
jmp dword [eax*4 + 0x545a98]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53daaf
mov ebx, dword [esp + 0x10]
mov ecx, ebp
cmp esi, dword [ebx + 0x78]
jae 0x543a54
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x53eae7
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00546f70
test eax, eax
jne case.0x5455d0.14
lea ecx, [eax + 1]
jmp 0x53eb0b
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x53eb0b
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x53eb0b
cmp dword [edi], ecx
je case.0x5455d0.14
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.0x5455d0.14
cmp dword [ebx + 0x88], 0
je 0x53eb3d
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x53eb3d
cmp dword [ebx + 0x18], 0
jne 0x53eb3d
cmp dword [edi], 2
jne 0x53eb3d
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x53eb3d
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x545727
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x53eb56
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53eb56
add esi, ecx
cmp esi, eax
jb 0x53eb46
add ebp, ecx
cmp ebp, dword [esp + 0x2c]
jle 0x53eab6
mov edi, ebx
jmp 0x53dab3
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, eax
jae 0x543aa2
add esi, 1
cmp esi, eax
jae 0x53eba1
nop
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53eba1
add esi, 1
cmp esi, eax
jb 0x53eb90
add ecx, 1
cmp ecx, ebx
jle 0x53eb80
jmp 0x53dab7
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x5455d0.14
add esi, ebx
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ed0f
test al, 0x20
jne 0x53ec1b
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53ed0f
test al, 0x10
jne 0x53ec49
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53ed0f
test al, 8
jne 0x53ec83
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53ed0f
test al, 4
jne 0x53ecc6
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53ed0f
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0xd
ja 0x53ed34
je 0x53ed26
cmp eax, 0xa
je 0x53ed5b
jbe case.0x5455d0.14
cmp eax, 0xc
jmp 0x53ed4b
cmp esi, edx
jae 0x53ed5b
cmp byte [esi], 0xa
jne 0x53ed5b
add esi, 1
jmp 0x53ed5b
cmp eax, 0x85
je 0x53ed51
cmp eax, 0x2027
jbe case.0x5455d0.14
cmp eax, 0x2029
ja case.0x5455d0.14
cmp dword [edi + 0x68], 0
jne case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53ebe0
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53eeaf
test al, 0x20
jne 0x53edbb
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53eeaf
test al, 0x10
jne 0x53ede9
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53eeaf
test al, 8
jne 0x53ee23
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53eeaf
test al, 4
jne 0x53ee66
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53eeaf
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x180e
ja 0x53eede
je case.0x5455d0.14
cmp eax, 0xa0
ja 0x53eed7
je case.0x5455d0.14
cmp eax, 9
je case.0x5455d0.14
cmp eax, 0x20
jmp 0x53ef09
cmp eax, 0x1680
jmp 0x53ef09
cmp eax, 0x205f
ja 0x53ef04
je case.0x5455d0.14
cmp eax, 0x2000
jb 0x53ef0f
cmp eax, 0x200a
jbe case.0x5455d0.14
cmp eax, 0x202f
jmp 0x53ef09
cmp eax, 0x3000
je case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53ed80
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f062
test al, 0x20
jne 0x53ef6e
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53f062
test al, 0x10
jne 0x53ef9c
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53f062
test al, 8
jne 0x53efd6
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53f062
test al, 4
jne 0x53f019
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53f062
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x180e
ja 0x53f085
je 0x53f0b2
cmp eax, 0xa0
ja 0x53f07e
je 0x53f0b2
cmp eax, 9
je 0x53f0b2
cmp eax, 0x20
jmp 0x53f0ac
cmp eax, 0x1680
jmp 0x53f0ac
cmp eax, 0x205f
ja 0x53f0a7
je 0x53f0b2
cmp eax, 0x2000
jb case.0x5455d0.14
cmp eax, 0x200a
jbe 0x53f0b2
cmp eax, 0x202f
jmp 0x53f0ac
cmp eax, 0x3000
jne case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53ef33
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f205
test al, 0x20
jne 0x53f111
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53f205
test al, 0x10
jne 0x53f13f
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53f205
test al, 8
jne 0x53f179
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53f205
test al, 4
jne 0x53f1bc
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53f205
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x85
ja 0x53f21c
je case.0x5455d0.14
cmp eax, 0xa
jb 0x53f22e
cmp eax, 0xd
jmp 0x53f228
cmp eax, 0x2028
jb 0x53f22e
cmp eax, 0x2029
jbe case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f0d6
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f381
test al, 0x20
jne 0x53f28d
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53f381
test al, 0x10
jne 0x53f2bb
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53f381
test al, 8
jne 0x53f2f5
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53f381
test al, 4
jne 0x53f338
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53f381
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x85
ja 0x53f398
je 0x53f3ae
cmp eax, 0xa
jb case.0x5455d0.14
cmp eax, 0xd
jmp 0x53f3a8
cmp eax, 0x2028
jb case.0x5455d0.14
cmp eax, 0x2029
ja case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f252
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f501
test al, 0x20
jne 0x53f40d
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53f501
test al, 0x10
jne 0x53f43b
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53f501
test al, 8
jne 0x53f475
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53f501
test al, 4
jne 0x53f4b8
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53f501
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x80
jae 0x53f515
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
jne case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f3d2
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x5455d0.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
je case.0x5455d0.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53f540
jmp 0x53dab7
mov edx, 1
cmp ebx, edx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x543aa2
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53f5a5
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
jne case.0x5455d0.14
add esi, 1
cmp esi, ecx
jae 0x53f5bf
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53f5bf
add esi, 1
cmp esi, ecx
jb 0x53f5b0
add edx, 1
cmp edx, ebx
jle 0x53f586
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x5455d0.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
je case.0x5455d0.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53f5e0
jmp 0x53dab7
mov edx, 1
cmp ebx, edx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x543aa2
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53f645
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
jne case.0x5455d0.14
add esi, 1
cmp esi, ecx
jae 0x53f65f
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53f65f
add esi, 1
cmp esi, ecx
jb 0x53f650
add edx, 1
cmp edx, ebx
jle 0x53f626
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x5455d0.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
je case.0x5455d0.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53f680
jmp 0x53dab7
cmp eax, 0xf
ja case.default.0x53aebf
jmp dword [eax*4 + 0x545ad8]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53daaf
mov ecx, dword [esp + 0x10]
lea ebx, [esi + 1]
mov edx, ebp
lea ebx, [ebx]
cmp esi, dword [ecx + 0x78]
jae 0x543a7b
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x53f716
mov ecx, dword [esp + 0x10]
push 0
lea edi, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edi
push ecx
push eax
push esi
call fcn.00546f70
test eax, eax
jne case.0x5455d0.14
mov ecx, dword [esp + 0x10]
lea edx, [eax + 1]
jmp 0x53f73d
mov eax, dword [ecx + 0x78]
sub eax, dword [ecx + 0x1c]
lea edi, [ecx + 0x1c]
cmp esi, eax
ja 0x53f73d
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53f73d
cmp dword [edi], edx
je case.0x5455d0.14
mov al, byte [ebx]
cmp al, byte [ecx + 0x35]
je case.0x5455d0.14
cmp dword [ecx + 0x88], 0
je 0x53f76c
cmp ebx, dword [ecx + 0x78]
jb 0x53f76c
cmp dword [ecx + 0x18], 0
jne 0x53f76c
cmp dword [edi], 2
jne 0x53f76c
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53f76c
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jg 0x545727
add ebp, edx
add esi, edx
add ebx, edx
cmp ebp, dword [esp + 0x2c]
jle 0x53f6e0
jmp 0x53daaf
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
sub ecx, ebx
cmp esi, ecx
ja 0x543aa2
add esi, ebx
jmp 0x53dab7
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
sub edx, ebx
cmp esi, edx
ja 0x543aa2
add esi, ebx
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
sub eax, 0xa
add esi, 1
cmp eax, 0x7b
ja case.0x5455d0.14
movzx eax, byte [eax + 0x545b28]
jmp dword [eax*4 + 0x545b18]
cmp esi, edx
jae case.0x53f7e6.10
cmp byte [esi], 0xa
jne case.0x53f7e6.10
add esi, 1
jmp case.0x53f7e6.10
cmp dword [edi + 0x68], 0
jne case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f7c5
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je case.0x5455d0.14
cmp eax, 0x20
je case.0x5455d0.14
cmp eax, 0xa0
je case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f825
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je 0x53f893
cmp eax, 0x20
je 0x53f893
cmp eax, 0xa0
jne case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f870
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl 0x53f8da
cmp eax, 0xd
jle case.0x5455d0.14
cmp eax, 0x85
je case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f8b3
jmp 0x53dab7
mov ecx, 1
cmp ebx, ecx
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea ebx, [ebx]
cmp esi, edx
jae 0x543aa2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl case.0x5455d0.14
cmp eax, 0xd
jle 0x53f927
cmp eax, 0x85
jne case.0x5455d0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f900
jmp 0x53dab7
mov eax, 1
cmp ebx, eax
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x543aa2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
jne case.0x5455d0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f947
jmp 0x53dab7
mov eax, 1
cmp ebx, eax
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x543aa2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
je case.0x5455d0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f982
jmp 0x53dab7
mov eax, 1
cmp ebx, eax
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, ecx
jae 0x543aa2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
jne case.0x5455d0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f9c0
jmp 0x53dab7
mov eax, 1
cmp ebx, eax
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53fa00
cmp esi, ecx
jae 0x543aa2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
je case.0x5455d0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53fa00
jmp 0x53dab7
mov eax, 1
cmp ebx, eax
jl 0x53daaf
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53fa40
cmp esi, ecx
jae 0x543aa2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
jne case.0x5455d0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53fa40
jmp 0x53dab7
mov edi, dword [esp + 0x10]
mov eax, 1
cmp ebx, eax
jl 0x53dab7
mov ecx, dword [edi + 0x78]
jmp 0x53fa80
cmp esi, ecx
jae 0x543aa2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
je case.0x5455d0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53fa80
jmp 0x53dab7
mov edi, dword [esp + 0x10]
jmp 0x53dab7
cmp ebx, ebp
mov edx, ebx
jge 0x5409a8
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov ecx, 1
jae 0x54097b
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x53fb0d
cmp eax, 0xc0
jb 0x53fb0d
test al, 0x20
jne 0x53faea
mov ecx, 2
jmp 0x53fb0d
test al, 0x10
jne 0x53faf5
mov ecx, 3
jmp 0x53fb0d
test al, 8
jne 0x53fb00
mov ecx, 4
jmp 0x53fb0d
and al, 4
neg al
sbb eax, eax
neg eax
add eax, 5
mov ecx, eax
cmp dword [esp + 0x44], 0
jne 0x5409a8
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53fac1
jmp 0x5409a8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5409a8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53fca8
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53fc3e
cmp ecx, 0xc0
jb 0x53fc3e
test cl, 0x20
jne 0x53fb83
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53fc3c
test cl, 0x10
jne 0x53fbad
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53fc3e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53fbd3
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53fc2e
and eax, 0x3f
test cl, 4
jne 0x53fc09
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53fc3e
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fc60
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx eax, byte [eax*8 + 0x575259]
cmp eax, 9
je 0x53fc85
cmp eax, 5
je 0x53fc85
cmp eax, 8
je 0x53fc85
xor eax, eax
jmp 0x53fc8a
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x5409a8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fb40
jmp 0x5409a8
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x5409a8
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x5409a8
mov ecx, edi
jmp 0x540997
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5409a8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53fca8
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53fddd
cmp ecx, 0xc0
jb 0x53fddd
test cl, 0x20
jne 0x53fd22
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53fddb
test cl, 0x10
jne 0x53fd4c
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53fddd
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53fd72
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53fdcd
and eax, 0x3f
test cl, 4
jne 0x53fda8
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53fddd
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fdff
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x574798], eax
sete dl
cmp edx, dword [esp + 0x44]
je 0x5409a8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fce3
jmp 0x5409a8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5409a8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x53fe60
cmp esi, ebx
mov edi, 1
jae 0x53ffb9
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53ff5e
cmp ecx, 0xc0
jb 0x53ff5e
test cl, 0x20
jne 0x53fea3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53ff5c
test cl, 0x10
jne 0x53fecd
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53ff5e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53fef3
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53ff4e
and eax, 0x3f
test cl, 4
jne 0x53ff29
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53ff5e
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x53ff80
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x5409a8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fe60
jmp 0x5409a8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x5409a8
mov ecx, eax
cmp esi, dword [ecx + 0x84]
jbe 0x5409a8
mov ecx, edi
jmp 0x540999
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5409a8
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53ffb9
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x5400e7
cmp ecx, 0xc0
jb 0x5400e7
test cl, 0x20
jne 0x540035
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x5400e7
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x540061
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 3
jmp 0x5400e7
test cl, 8
jne 0x54007c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x5400d7
and eax, 0x3f
test cl, 4
jne 0x5400b2
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x5400e7
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x540109
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575258]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x5409a8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fff4
jmp 0x5409a8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5409a8
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
jmp 0x540160
cmp esi, ebx
mov edi, 1
jae 0x5402c3
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x540257
cmp ecx, 0xc0
jb 0x540257
test cl, 0x20
jne 0x5401a5
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x540257
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x5401d1
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 3
jmp 0x540257
test cl, 8
jne 0x5401ec
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x540247
and eax, 0x3f
test cl, 4
jne 0x540222
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x540257
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x540279
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
mov eax, dword [ecx*4 + 0x574798]
cmp eax, 1
je 0x5402a0
cmp eax, 3
je 0x5402a0
xor eax, eax
jmp 0x5402a5
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x5409a8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x540160
jmp 0x5409a8
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x5409a8
mov eax, edx
cmp esi, dword [eax + 0x84]
jbe 0x5409a8
mov ecx, edi
jmp 0x540999
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5409a8
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edi, edi
cmp esi, ebx
mov edi, 1
jae 0x53fca8
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x5403fe
cmp ecx, 0xc0
jb 0x5403fe
test cl, 0x20
jne 0x540343
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x5403fc
test cl, 0x10
jne 0x54036d
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x5403fe
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x540393
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x5403ee
and eax, 0x3f
test cl, 4
jne 0x5403c9
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x5403fe
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp ecx, 0x180e
ja 0x540441
je case.0x540461.8192
cmp ecx, 0x85
ja 0x54042d
je case.0x540461.8192
cmp ecx, 9
jb case.0x540461.8203
cmp ecx, 0xd
jbe case.0x540461.8192
cmp ecx, 0x20
jmp 0x54047a
cmp ecx, 0xa0
je case.0x540461.8192
cmp ecx, 0x1680
jmp 0x54047a
cmp ecx, 0x202f
ja 0x540468
je case.0x540461.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x540461.8203
movzx edx, byte [eax + 0x545bac]
jmp dword [edx*4 + 0x545ba4]
cmp ecx, 0x205f
je case.0x540461.8192
cmp ecx, 0x3000
je case.0x540461.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x54049e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578ad8]
movzx edx, byte [ecx*8 + 0x575259]
xor eax, eax
cmp dword [edx*4 + 0x574798], 6
sete al
cmp eax, dword [esp + 0x44]
je 0x5409a8
jmp 0x5404d4
cmp dword [esp + 0x44], 0
jne 0x5409a8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x540300
jmp 0x5409a8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5409a8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53fca8
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x5405fe
cmp ecx, 0xc0
jb 0x5405fe
test cl, 0x20
jne 0x540543
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x5405fc
test cl, 0x10
jne 0x54056d
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x5405fe
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x540593
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x5405ee
and eax, 0x3f
test cl, 4
jne 0x5405c9
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x5405fe
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
mov eax, ecx
shl edx, 7
and eax, 0x8000007f
jns 0x540621
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x578ad8]
movzx eax, byte [edx*8 + 0x575259]
mov eax, dword [eax*4 + 0x574798]
cmp eax, 1
je 0x54064d
cmp eax, 3
je 0x54064d
cmp ecx, 0x5f
je 0x54064d
xor eax, eax
jmp 0x540652
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x5409a8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x540500
jmp 0x5409a8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5409a8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x540690
cmp esi, ebx
mov edx, 1
jae 0x5407eb
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x54079c
cmp eax, 0xc0
jb 0x54079c
test al, 0x20
jne 0x5406d1
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, 2
jmp 0x54079a
test al, 0x10
jne 0x5406fa
movzx edx, byte [esi + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 3
jmp 0x54079c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 8
jne 0x540727
movzx edx, byte [esi + 2]
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov edx, 4
jmp 0x540794
test al, 4
jne 0x540760
movzx edx, byte [esi + 2]
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov eax, ecx
mov edx, 5
jmp 0x54079c
and eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov edx, 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov edi, dword [esp + 0x48]
mov ecx, dword [edi*4 + 0x575118]
cmp eax, ecx
lea edi, [edi*4 + 0x575118]
jb 0x5407bf
add edi, 4
cmp eax, ecx
je 0x5407cc
mov ecx, dword [edi]
cmp eax, ecx
jae 0x5407b2
cmp dword [esp + 0x44], 0
je 0x5409a8
jmp 0x5407d7
cmp dword [esp + 0x44], 0
jne 0x5409a8
add ebp, 1
add esi, edx
cmp ebp, dword [esp + 0x18]
jl 0x540690
jmp 0x5409a8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x5409a8
cmp esi, dword [eax + 0x84]
jbe 0x5409a8
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jmp 0x5409a2
cmp ebx, ebp
mov edx, ebx
jge 0x5409a8
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
jmp 0x540830
cmp esi, edi
mov ecx, 1
jae 0x54097b
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x540937
cmp eax, 0xc0
jb 0x540937
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540873
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x540937
test al, 0x10
jne 0x540895
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x540937
test al, 8
jne 0x5408c3
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x540937
test al, 4
jne 0x5408fa
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x540937
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x24
je 0x54095f
cmp eax, 0x40
je 0x54095f
cmp eax, 0x60
je 0x54095f
cmp eax, 0xa0
jb 0x540954
cmp eax, 0xd7ff
jbe 0x54095f
cmp eax, 0xe000
jae 0x54095f
xor eax, eax
jmp 0x540964
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x5409a8
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x540830
jmp 0x5409a8
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x5409a8
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x5409a8
mov ecx, 1
mov eax, edx
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, dword [esp + 0x34]
jbe 0x541e13
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea esp, [esp]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
sub esi, 1
cmp dword [esp + 0x20], eax
je 0x540a1e
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x540a1e
lea esp, [esp]
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x540a10
cmp esi, dword [esp + 0x34]
ja 0x5409d0
jmp 0x541e13
mov eax, dword [esp + 0x38]
cmp eax, 0x16
jne 0x540db8
cmp ebx, ebp
mov dword [esp + 0x30], ebx
jge 0x540d4d
lea edx, [eax - 0x15]
mov eax, dword [esp + 0x10]
lea esp, [esp]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x540d2d
movzx ecx, byte [esi]
add esi, edx
cmp dword [esp + 0x20], 0
je 0x540b61
cmp ecx, 0xc0
jb 0x540b61
test cl, 0x20
jne 0x540a91
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, edx
jmp 0x540b61
test cl, 0x10
jne 0x540ab8
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x540b61
test cl, 8
jne 0x540aeb
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x540b61
movzx eax, byte [esi]
and eax, 0x3f
test cl, 4
jne 0x540b27
movzx edx, byte [esi + 1]
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x540b61
and ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x540b83
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebx
movzx eax, word [edx*2 + 0x578ad8]
movzx ebp, byte [eax*8 + 0x57525a]
jae 0x540ce3
lea ecx, [ecx]
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x540c93
cmp ecx, 0xc0
jb 0x540c93
test cl, 0x20
jne 0x540bdb
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x540c91
test cl, 0x10
jne 0x540c05
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x540c93
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x540c28
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x540c83
and eax, 0x3f
test cl, 4
jne 0x540c5e
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x540c93
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x540cb5
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x57525a]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x574724], edx
je 0x540ce3
add esi, edi
cmp esi, ebx
mov ebp, ecx
jb 0x540ba0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x540d12
cmp esi, ebx
jb 0x540d12
cmp esi, dword [eax + 0x84]
jbe 0x540d12
mov edx, 1
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x545727
jmp 0x540d17
mov edx, 1
mov ecx, dword [esp + 0x30]
add ecx, edx
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
jl 0x540a50
jmp 0x540d4d
cmp dword [eax + 0x88], 0
je 0x540d4d
cmp esi, dword [eax + 0x84]
jbe 0x540d4d
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, dword [esp + 0x34]
jbe 0x541e13
mov ebp, dword [esp + 0x20]
jmp 0x540d70
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
sub esi, 1
test ebp, ebp
jne 0x5423b3
movzx ecx, byte [esi]
jmp 0x54249c
add eax, 0xfffffffa
cmp dword [esp + 0x20], 0
je 0x541c63
cmp eax, 0xf
ja case.default.0x53aebf
jmp dword [eax*4 + 0x545bd8]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x541bce
mov ebx, dword [esp + 0x10]
mov ecx, 1
lea ecx, [ecx]
cmp esi, dword [ebx + 0x78]
jae 0x540ea1
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x540e21
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00546f70
test eax, eax
jne 0x541bce
lea ecx, [eax + 1]
jmp 0x540e45
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x540e45
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x540e45
cmp dword [edi], ecx
je 0x541bce
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je 0x541bce
cmp dword [ebx + 0x88], 0
je 0x540e77
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x540e77
cmp dword [ebx + 0x18], 0
jne 0x540e77
cmp dword [edi], 2
jne 0x540e77
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x540e77
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x545727
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x540e90
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x540e90
add esi, ecx
cmp esi, eax
jb 0x540e80
add ebp, ecx
cmp ebp, dword [esp + 0x18]
jl 0x540df0
jmp 0x541bce
cmp dword [ebx + 0x88], 0
je 0x541bce
cmp esi, dword [ebx + 0x84]
jbe 0x541bce
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x541bc8
cmp ebp, 0x7fffffff
jge 0x540f2d
cmp ebx, ebp
mov ecx, ebx
jge 0x541bce
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x78]
mov edi, dword [esp + 0x18]
cmp esi, eax
jae 0x540f0d
add esi, 1
cmp esi, eax
jae 0x540f01
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x540f01
add esi, 1
cmp esi, eax
jb 0x540ef0
add ecx, 1
cmp ecx, edi
jl 0x540ee5
jmp 0x541bce
cmp dword [ebp + 0x88], 0
je 0x541bce
mov eax, ebp
cmp esi, dword [eax + 0x84]
jbe 0x541bce
jmp 0x541bba
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x541bce
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x84]
jbe 0x541bce
mov eax, ecx
jmp 0x541bba
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x540f86
cmp dword [edi + 0x88], 0
mov esi, dword [edi + 0x78]
je 0x541bce
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x84]
jbe 0x541bce
jmp 0x541bba
add esi, eax
jmp 0x541bce
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x541bce
mov ebp, dword [esp + 0x10]
mov edx, dword [ebp + 0x78]
jmp 0x540fa6
mov ebp, dword [esp + 0x10]
cmp esi, edx
mov ecx, 1
jae 0x541102
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5410a2
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540fde
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5410a2
test al, 0x10
jne 0x541000
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x5410a2
test al, 8
jne 0x54102e
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x5410a2
test al, 4
jne 0x541065
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x5410a2
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0xd
jne 0x5410bc
add esi, 1
cmp esi, edx
jae 0x541bce
cmp byte [esi], 0xa
jne 0x5410f0
add esi, 1
jmp 0x5410f0
cmp eax, 0xa
je 0x5410ee
cmp dword [ebp + 0x68], 0
jne 0x541bce
cmp eax, 0xb
je 0x5410ee
cmp eax, 0xc
je 0x5410ee
cmp eax, 0x85
je 0x5410ee
cmp eax, 0x2028
je 0x5410ee
cmp eax, 0x2029
jne 0x541bce
add esi, ecx
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x540fa2
jmp 0x541bce
cmp dword [ebp + 0x88], 0
jmp 0x540f37
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x541bce
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x541130
cmp esi, ebp
mov ecx, 1
jae 0x541ba1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54122c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541168
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54122c
test al, 0x10
jne 0x54118a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x54122c
test al, 8
jne 0x5411b8
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x54122c
test al, 4
jne 0x5411ef
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x54122c
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x180e
ja 0x54124f
je 0x541278
cmp eax, 0xa0
ja 0x541248
je 0x541278
cmp eax, 9
je 0x541278
cmp eax, 0x20
jmp 0x541272
cmp eax, 0x1680
jmp 0x541272
cmp eax, 0x205f
ja 0x54126d
je 0x541278
cmp eax, 0x2000
jb 0x541274
cmp eax, 0x200a
jbe 0x541278
cmp eax, 0x202f
jmp 0x541272
cmp eax, 0x3000
je 0x541278
xor eax, eax
jmp 0x54127d
mov eax, 1
xor ebx, ebx
cmp edx, 0x12
sete bl
cmp eax, ebx
je 0x541bce
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x541130
jmp 0x541bce
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x541bce
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x18]
jmp 0x5412c0
cmp esi, ebp
mov ecx, 1
jae 0x54140a
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5413bc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5412f8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5413bc
test al, 0x10
jne 0x54131a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x5413bc
test al, 8
jne 0x541348
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x5413bc
test al, 4
jne 0x54137f
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x5413bc
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x85
ja 0x5413f5
je 0x541403
cmp eax, 0xa
jb 0x5413cf
cmp eax, 0xd
jbe 0x541403
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x38], 0x14
sete bl
cmp eax, ebx
je 0x541bce
add edi, 1
add esi, ecx
cmp edi, edx
jl 0x5412c0
jmp 0x541bce
cmp eax, 0x2028
jb 0x5413cf
cmp eax, 0x2029
ja 0x5413cf
mov eax, 1
jmp 0x5413d1
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x541bce
cmp esi, dword [eax + 0x84]
jbe 0x541bce
jmp 0x541bbf
cmp ebx, ebp
mov edx, ebx
jge 0x541bce
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x541102
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54153c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541478
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54153c
test al, 0x10
jne 0x54149a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x54153c
test al, 8
jne 0x5414c8
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x54153c
test al, 4
jne 0x5414ff
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x54153c
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x541554
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 4
jne 0x541bce
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541440
jmp 0x541bce
cmp ebx, ebp
mov edx, ebx
jge 0x541bce
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x541ba1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54167c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5415b8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54167c
test al, 0x10
jne 0x5415da
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x54167c
test al, 8
jne 0x541608
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x54167c
test al, 4
jne 0x54163f
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x54167c
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x541bce
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 4
je 0x541bce
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541580
jmp 0x541bce
cmp ebx, ebp
mov edx, ebx
jge 0x541bce
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x541102
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5417bc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5416f8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5417bc
test al, 0x10
jne 0x54171a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x5417bc
test al, 8
jne 0x541748
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x5417bc
test al, 4
jne 0x54177f
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x5417bc
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x5417d4
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 1
jne 0x541bce
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x5416c0
jmp 0x541bce
cmp ebx, ebp
mov edx, ebx
jge 0x541bce
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x541ba1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5418fc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541838
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5418fc
test al, 0x10
jne 0x54185a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x5418fc
test al, 8
jne 0x541888
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x5418fc
test al, 4
jne 0x5418bf
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x5418fc
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x541bce
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 1
je 0x541bce
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541800
jmp 0x541bce
cmp ebx, ebp
mov edx, ebx
jge 0x541bce
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x541102
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x541a3c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541978
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x541a3c
test al, 0x10
jne 0x54199a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x541a3c
test al, 8
jne 0x5419c8
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x541a3c
test al, 4
jne 0x5419ff
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x541a3c
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x541a54
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 0x10
jne 0x541bce
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541940
jmp 0x541bce
cmp ebx, ebp
mov edx, ebx
jge 0x541bce
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x541ba1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x541b7c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541ab8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x541b7c
test al, 0x10
jne 0x541ada
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x541b7c
test al, 8
jne 0x541b08
and eax, 7
shl eax, 6
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 eax, ecx
mov ecx, 4
jmp 0x541b7c
test al, 4
jne 0x541b3f
and eax, 3
shl eax, 6
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 eax, ecx
mov ecx, 5
jmp 0x541b7c
and eax, 1
shl eax, 6
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
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x541bce
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 0x10
je 0x541bce
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541a80
jmp 0x541bce
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x541bce
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x541bce
mov eax, edx
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, dword [esp + 0x34]
jbe 0x541e13
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x541bf0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x541c3f
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x541c31
cmp ebx, 0x11
jne 0x541c5a
cmp esi, edi
jbe 0x541e13
cmp byte [esi], 0xa
jne 0x541c5a
cmp byte [esi - 1], 0xd
jne 0x541c5a
add esi, 0xffffffff
cmp esi, edi
ja 0x541bf0
jmp 0x541e13
cmp eax, 0xf
ja case.default.0x53aebf
jmp dword [eax*4 + 0x545c18]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x541d9b
lea ebx, [esi + 1]
jmp 0x541c90
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x541d39
mov eax, dword [ecx + 0x18]
test eax, eax
lea edi, [ecx + 0x1c]
je 0x541cc3
mov ecx, dword [ecx + 0x78]
push 0
push edi
push ecx
push eax
push esi
call fcn.00546f70
test eax, eax
jne 0x541d9b
mov ecx, dword [esp + 0x10]
jmp 0x541ced
mov edx, dword [ecx + 0x78]
sub edx, dword [edi]
cmp esi, edx
ja 0x541ced
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x541ced
cmp dword [edi], 1
je 0x541d9b
mov cl, byte [ebx]
mov edx, dword [esp + 0x10]
cmp cl, byte [edx + 0x35]
je 0x541d9b
mov ecx, edx
cmp dword [ecx + 0x88], 0
je 0x541d21
cmp ebx, dword [ecx + 0x78]
jb 0x541d21
cmp dword [ecx + 0x18], 0
jne 0x541d21
cmp dword [edi], 2
jne 0x541d21
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x541d21
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545727
add ebp, 1
add esi, 1
add ebx, 1
cmp ebp, dword [esp + 0x18]
jl 0x541c90
jmp 0x541d9b
cmp dword [ecx + 0x88], 0
je 0x541d9b
cmp esi, dword [ecx + 0x84]
jbe 0x541d9b
mov eax, dword [esp + 0x10]
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x541d95
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x541e30
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x541d9b
cmp esi, dword [edi + 0x84]
jbe 0x541d9b
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x545727
cmp dword [esp + 0x3c], 0
jne 0x538870
cmp esi, dword [esp + 0x34]
je 0x541e13
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x541dc0
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
sub esi, 1
cmp ebx, 0x11
jne 0x541e0f
cmp esi, edi
jbe 0x541e11
cmp byte [esi], 0xa
jne 0x541e0f
cmp byte [esi - 1], 0xd
jne 0x541e0f
add esi, 0xffffffff
cmp esi, edi
jne 0x541dc0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
mov edx, dword [eax + 0x4c]
mov dword [esp + 0x20], edx
jae 0x542638
xor edx, edx
jmp 0x538834
add esi, eax
jmp 0x541d9b
cmp ebx, ebp
mov ecx, ebx
jge 0x541d9b
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x541e9e
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x541e6d
add esi, ebx
cmp esi, edx
jae 0x541d9b
cmp byte [esi], 0xa
jne 0x541e93
jmp 0x541e91
cmp eax, 0xa
je 0x541e91
cmp dword [edi + 0x68], 0
jne 0x541d9b
cmp eax, 0xb
je 0x541e91
cmp eax, 0xc
je 0x541e91
cmp eax, 0x85
jne 0x541d9b
add esi, ebx
add ecx, ebx
cmp ecx, ebp
jl 0x541e50
jmp 0x541d9b
cmp dword [edi + 0x88], 0
je 0x541d9b
cmp esi, dword [edi + 0x84]
jbe 0x541d9b
mov dword [edi + 0x64], ebx
cmp dword [edi + 0x88], ebx
jmp 0x541d95
cmp ebx, ebp
mov ecx, ebx
jge 0x541d9b
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x541e9e
mov al, byte [esi]
cmp al, 9
je 0x541d9b
cmp al, 0x20
je 0x541d9b
cmp al, 0xa0
je 0x541d9b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541ed7
jmp 0x541d9b
cmp ebx, ebp
mov ecx, ebx
jge 0x541d9b
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x541e9e
mov al, byte [esi]
cmp al, 9
je 0x541f2a
cmp al, 0x20
je 0x541f2a
cmp al, 0xa0
jne 0x541d9b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541f14
jmp 0x541d9b
cmp ebx, ebp
mov ecx, ebx
jge 0x541d9b
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x541e9e
mov al, byte [esi]
cmp al, 0xa
jb 0x541f6e
cmp al, 0xd
jbe 0x541d9b
cmp al, 0x85
je 0x541d9b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541f50
jmp 0x541d9b
cmp ebx, ebp
mov ecx, ebx
jge 0x541d9b
mov edx, dword [edi + 0x78]
mov ebx, 1
lea ecx, [ecx]
cmp esi, edx
jae 0x541e9e
mov al, byte [esi]
cmp al, 0xa
jb 0x541d9b
cmp al, 0xd
jbe 0x541fae
cmp al, 0x85
jne 0x541d9b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541f90
jmp 0x541d9b
cmp ebx, ebp
mov eax, ebx
jge 0x541d9b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541d76
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
jne 0x541d9b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541fc8
jmp 0x541d9b
cmp ebx, ebp
mov eax, ebx
jge 0x541d9b
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x541d76
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
je 0x541d9b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x542000
jmp 0x541d9b
cmp ebx, ebp
mov eax, ebx
jge 0x541d9b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541d76
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
jne 0x541d9b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x542034
jmp 0x541d9b
cmp ebx, ebp
mov eax, ebx
jge 0x541d9b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541d76
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
je 0x541d9b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x542068
jmp 0x541d9b
cmp ebx, ebp
mov eax, ebx
jge 0x541d9b
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x541d76
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
jne 0x541d9b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x5420a0
jmp 0x541d9b
cmp ebx, ebp
mov eax, ebx
jge 0x541d9b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541d76
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
je 0x541d9b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x5420d4
jmp 0x541d9b
mov ecx, dword [esp + 0x17c]
add ecx, 1
cmp byte [edx], 0x7a
push ecx
push ebx
push edi
push eax
push ebp
jne 0x542132
mov edx, dword [esp + 0x28]
add edx, 3
push edx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
jmp 0x541e13
mov edx, dword [esp + 0x54]
push edx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
add dword [esp + 0x14], 3
jmp 0x541e13
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov ch, byte [edx + 3]
mov cl, byte [edx + 4]
lea ebp, [ecx + ecx]
cmp ebp, dword [edi + 0x14]
mov dword [esp + 0x38], ecx
jge 0x54223b
mov eax, dword [edi + 0xc]
mov edx, dword [eax + ebp*4]
mov dword [esp + 0x24], edx
mov edx, dword [eax + ebp*4 + 4]
mov dword [esp + 0x50], edx
mov edx, dword [edi + 0x10]
sub edx, ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [edi + 0x90]
mov dword [esp + 0x3c], edx
mov edx, esi
sub edx, dword [edi + 0x74]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edi + 0xac]
mov dword [esp + 0x30], ecx
mov dword [eax], edx
jmp 0x5421b0
cmp dword [esp + 0x40], 0x88
jb 0x5421c4
mov dword [edi + 0x98], 2
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x170]
add eax, 1
push eax
mov eax, dword [esp + 0x2c]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x5745c0]
push eax
add edx, ebx
push edx
push esi
call fcn.00538770
cmp eax, 0xfffffc1b
je 0x5429ac
cmp eax, 0xfffffc20
jne 0x542979
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x54573a
cmp byte [ebx], 0x77
je 0x542230
cmp byte [ecx], 0x77
jne 0x54573a
xor eax, eax
jmp 0x542981
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
cmp eax, 0x88
jae 0x542276
cmp eax, 0x81
je 0x542276
cmp dword [edi + 0x6c], 0
jne 0x542280
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
cmp byte [eax + edx], 0x77
je 0x542280
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x5745c0]
add edx, ecx
mov dword [esp + 0x14], edx
jmp 0x541e13
mov dword [edi + 0x98], 2
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x170]
mov ebp, dword [edi + 0xac]
mov ebx, dword [edi + 0x90]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push edi
push eax
mov eax, dword [esp + 0x24]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x5745c0]
add ecx, eax
push ecx
push esi
call fcn.00538770
cmp eax, 0xfffffc20
jne 0x5422ef
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add edx, ecx
cmp dword [edi + 0x7c], edx
jae 0x54573a
cmp byte [ecx], 0x77
je 0x5422f7
cmp byte [edx], 0x77
jne 0x54573a
jmp 0x5422f7
test eax, eax
jne 0x5429d7
mov eax, dword [esp + 0x14]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov dword [edi + 0xac], ebp
add eax, edx
cmp byte [eax], 0x77
mov dword [esp + 0x14], eax
jne case.0x5455d0.14
mov dword [edi + 0x90], ebx
mov edx, eax
jmp 0x54223b
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
add edx, 1
cmp byte [ecx], 0x7a
push edx
push eax
push ebp
push ebx
push edi
jne 0x542376
mov ecx, dword [esp + 0x28]
add ecx, 3
push ecx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov ecx, dword [esp + 0x40]
mov al, byte [ecx]
cmp al, 0x81
je 0x542b39
cmp al, 0x88
jae 0x542b73
mov dword [esp + 0x14], ecx
jmp 0x541e13
mov ecx, dword [esp + 0x54]
push ecx
push esi
call fcn.00538770
cmp eax, 0xfffffc1b
jne 0x542394
mov edx, dword [ebp + 0xb4]
cmp edx, dword [esp + 0x40]
jmp 0x542396
test eax, eax
jne 0x54573a
mov eax, dword [esp + 0x40]
cmp byte [eax], 0x81
je 0x542b96
add dword [esp + 0x14], 3
jmp 0x541e13
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5423ce
jmp 0x5423c0
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x5423c0
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x54249c
test cl, 0x20
jne 0x5423f4
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
jmp 0x54249a
test cl, 0x10
jne 0x542419
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
jmp 0x54249c
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x54243a
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x54248c
and eax, 0x3f
test cl, 4
jne 0x54246b
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x54249c
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x5424be
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ebx, byte [eax*8 + 0x57525a]
cmp esi, dword [esp + 0x34]
jbe 0x541e13
mov ebp, dword [esp + 0x20]
test ebp, ebp
lea edi, [esi - 1]
jne 0x5424ed
movzx ecx, byte [edi]
jmp 0x5425cc
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x542505
mov dl, byte [edi - 1]
sub edi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x5424f7
movzx ecx, byte [edi]
cmp ecx, 0xc0
jb 0x5425cc
test cl, 0x20
jne 0x54252d
movzx eax, byte [edi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x5425cc
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x542554
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x5425cc
test cl, 8
jne 0x54256a
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
jmp 0x5425bc
and eax, 0x3f
test cl, 4
jne 0x54259b
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x5425cc
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x5425ee
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx eax, byte [eax*8 + 0x57525a]
mov edx, 1
mov ecx, ebx
shl edx, cl
test dword [eax*4 + 0x574724], edx
je 0x54261b
mov esi, edi
mov ebx, eax
jmp 0x5424d0
cmp esi, dword [esp + 0x34]
ja 0x540d70
jmp 0x541e13
sub ecx, 1
je case.0x5455d0.14
jmp 0x54573a
add dword [eax], 1
mov eax, 0xfffffff8
jmp 0x54573a
mov eax, 0xffffffeb
jmp 0x54573a
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
lea edi, [eax + 2]
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], 0
mov ecx, dword [esp + 0x17c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x30]
push ebx
push ecx
movzx ecx, byte [eax]
push edx
movzx edx, byte [ecx + 0x5745c0]
movzx ecx, byte [eax + 1]
add edx, eax
add ecx, edx
push ecx
push esi
call fcn.00538770
cmp eax, 1
je 0x5426ad
cmp eax, 0xfffffc19
jne 0x5426c1
cmp dword [ebx + 0xac], 0
jne 0x5426c1
mov dword [ebx + 0xac], edi
jmp 0x54573a
cmp eax, 0xfffffc1f
jne 0x54573a
mov edx, edi
mov edi, dword [ebx + 0x7c]
mov cl, byte [edx]
cmp cl, byte [edi]
jne 0x5426e8
test cl, cl
je 0x5426f6
mov cl, byte [edx + 1]
add edx, 1
add edi, 1
cmp cl, byte [edi]
je 0x5426d7
movzx edi, byte [edi]
movzx ecx, byte [edx]
sub ecx, edi
jne 0x54573a
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
mov eax, dword [esp + 0x28]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x5745c0]
add edx, eax
push edx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov eax, 0xfffffc1c
jmp 0x54573a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
mov eax, dword [esp + 0x24]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x5745c0]
add ecx, eax
push ecx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov eax, 0xfffffc1d
jmp 0x54573a
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edi, [eax + 2]
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], 0
mov edx, dword [esp + 0x17c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push ebx
push edx
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x5745c0]
movzx edx, byte [eax + 1]
add ecx, eax
add edx, ecx
push edx
push esi
call fcn.00538770
cmp eax, 1
je 0x5427f7
cmp eax, 0xfffffc19
jne 0x542806
cmp dword [ebx + 0xac], 0
jne 0x542806
mov dword [ebx + 0xac], edi
test eax, eax
jne 0x54573a
mov eax, 0xfffffc1d
jmp 0x54573a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x170]
add eax, 1
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edi
push edx
push eax
mov eax, dword [esp + 0x28]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x5745c0]
add edx, eax
push edx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov dword [edi + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x54573a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x170]
add eax, 1
push eax
mov eax, dword [esp + 0x2c]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x5745c0]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
add ebx, 2
mov dword [edi + 0x7c], ebx
mov eax, 0xfffffc1f
jmp 0x54573a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x170]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
movzx edx, byte [edi]
push ebx
push eax
movzx eax, byte [edx + 0x5745c0]
push ecx
add eax, edi
push eax
push esi
call fcn.00538770
jmp 0x542964
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x170]
lea ebp, [edi + 2]
mov dword [ebx + 0xb0], ebp
mov dword [ebx + 0xac], 0
mov ecx, dword [esp + 0x17c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
movzx edx, byte [edi]
push ebx
push eax
movzx eax, byte [edx + 0x5745c0]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.00538770
cmp eax, 1
je 0x542955
cmp eax, 0xfffffc19
jne 0x542964
cmp dword [ebx + 0xac], 0
jne 0x542964
mov dword [ebx + 0xac], ebp
test eax, eax
jne 0x54573a
mov dword [ebx + 0x7c], edi
mov eax, 0xfffffc20
jmp 0x54573a
test eax, eax
jne 0x54573a
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0x90], ecx
mov ecx, dword [esp + 0x30]
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [edi + 0xac], ecx
add ebx, edx
cmp byte [ebx], 0x77
mov dword [esp + 0x14], ebx
je 0x5421b0
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
mov dword [edx + ebp*4], ecx
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x50]
mov dword [edx + ebp*4 + 4], ecx
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x38]
mov ecx, dword [edi + 0xc]
mov dword [ecx + edx*4], esi
jmp 0x54573a
cmp eax, 0xfffffc1b
jne 0x54573a
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx]
cmp dl, 0x81
je 0x542a0b
cmp dl, 0x77
jne 0x542a01
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add ecx, edx
cmp byte [ecx], 0x77
je 0x5429f2
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
sub ecx, edx
cmp dword [edi + 0xb4], ecx
jne 0x54573a
xor eax, eax
jmp 0x54573a
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jne 0x542a58
cmp ebx, 0x9f
je 0x542a58
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa4], ebp
jne 0x542a5c
cmp dword [eax + 0x5c], ebp
jne 0x542a51
cmp dword [eax + 0x60], ebp
je 0x542a5c
mov edx, dword [eax + 0x94]
add edx, dword [eax + 0x74]
cmp ecx, edx
jne 0x542a5c
xor eax, eax
jmp 0x54573a
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x170]
mov dword [eax + 0x80], esi
mov dword [eax + 0x8c], edx
mov dword [eax + 0x7c], ecx
mov eax, ebx
neg eax
sbb eax, eax
and eax, 0xfffffc18
add eax, 1
jmp 0x54573a
mov eax, 0xffffffe6
jmp 0x54573a
mov eax, 0xfffffffa
jmp 0x54573a
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0xdc]
cmp eax, edx
je 0x542aaf
push eax
call dword [0x597f00]
mov eax, edi
jmp 0x54573a
mov eax, dword [esp + 0x54]
mov dword [ebp + 0xa4], eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x542ad6
push eax
call dword [0x597f00]
xor eax, eax
jmp 0x54573a
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x80], esi
mov dword [eax + 0x8c], edx
mov dword [eax + 0x7c], ecx
mov eax, 1
jmp 0x54573a
mov edx, dword [esp + 0x28]
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x7c], edx
mov eax, 1
jmp 0x54573a
mov eax, dword [esp + 0x28]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x8c], ebx
mov eax, 0xfffffc1a
jmp 0x54573a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
add ecx, 1
push ecx
push edx
push ebp
push ebx
push edi
push eax
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov ecx, dword [esp + 0x40]
mov dword [ebp + 0xb4], ecx
mov eax, 0xfffffc1b
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
add edx, 1
push edx
push eax
push ebp
push ebx
push edi
push ecx
push esi
call fcn.00538770
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add edx, 1
push edx
push eax
push ebp
push ebx
push edi
add ecx, 3
push ecx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov edx, dword [esp + 0x40]
mov dword [ebp + 0xb4], edx
mov eax, 0xfffffc1b
jmp 0x54573a
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
add eax, 1
push eax
mov eax, dword [esp + 0x2c]
push edx
push ebp
push ebx
push eax
push ecx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov dword [ebp + 0xb4], edi
mov eax, 0xfffffc1b
jmp 0x54573a
xor ebp, ebp
cmp dword [edi + 0x88], ebp
je case.0x5455d0.14
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb case.0x5455d0.14
cmp dword [edi + 0x18], ebp
jne case.0x5455d0.14
cmp dword [edi + 0x1c], 2
jne case.0x5455d0.14
mov dl, byte [esi]
cmp dl, byte [edi + 0x34]
jne case.0x5455d0.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x545721
cmp dword [edi + 0x88], 0
je case.0x5455d0.14
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb case.0x5455d0.14
cmp dword [edi + 0x18], 0
jne case.0x5455d0.14
cmp dword [edi + 0x1c], 2
jne case.0x5455d0.14
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne case.0x5455d0.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x545721
cmp dword [ecx + 0x88], ebp
jmp 0x5435a0
cmp dword [eax + 0x88], ebp
jmp 0x543a2f
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x10]
jne 0x543420
mov esi, dword [eax + 0x78]
jmp 0x543420
cmp ebp, eax
mov dword [esp + 0x34], esi
jge 0x542d33
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00538430
test eax, eax
jl 0x542cfc
add ebp, 1
add esi, eax
cmp ebp, dword [esp + 0x18]
jl 0x542cd6
jmp 0x542d2d
cmp eax, 0xfffffffe
jne 0x542d2d
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x542d2d
mov edx, dword [eax + 0x78]
cmp edx, dword [eax + 0x84]
jbe 0x542d2d
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545727
cmp esi, dword [esp + 0x34]
jb 0x542d75
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
jmp 0x542d40
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
sub esi, edi
cmp esi, dword [esp + 0x34]
jae 0x542d40
xor eax, eax
jmp 0x54573a
cmp eax, 0xfffffffe
jne 0x542d84
mov esi, dword [ebp + 0x78]
cmp dword [ebp + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [ebp + 0x78]
jb case.0x5455d0.14
cmp esi, dword [ebp + 0x84]
jbe case.0x5455d0.14
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jmp 0x545721
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov edi, edx
je 0x542f6a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebx
push ebp
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
jmp 0x542e00
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x542f09
test al, 0x20
jne 0x542e42
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x542f09
test al, 0x10
jne 0x542e68
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x542f09
test al, 8
jne 0x542e9a
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x542f09
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x542ed5
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x542f09
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0xff
jbe 0x542f17
cmp dword [esp + 0x40], 0x6e
jmp 0x542f2f
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x5455d0.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebx
push ebp
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x542e00
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
jmp 0x542fa0
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
add esi, 1
test al, dl
je case.0x5455d0.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebx
push ebp
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x542fa0
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
mov edi, ebx
mov ebx, dword [esp + 0x28]
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543157
cmp eax, 0xc0
jb 0x543157
test al, 0x20
jne 0x543090
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x543157
test al, 0x10
jne 0x5430b6
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x543157
test al, 8
jne 0x5430e8
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x543157
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x543123
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x543157
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
push edx
push ecx
push eax
call fcn.005476f0
test eax, eax
je case.0x5455d0.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543043
jmp 0x54573a
cmp dword [eax + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [eax + 0x78]
jb case.0x5455d0.14
jmp 0x5431c8
cmp dword [eax + 0x88], ebp
je case.0x5455d0.14
cmp esi, dword [eax + 0x84]
jbe case.0x5455d0.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x545721
cmp dword [edi + 0x88], ebp
jmp 0x543aa9
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [ecx + 0x78]
jb case.0x5455d0.14
cmp esi, dword [ecx + 0x84]
jbe case.0x5455d0.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x545721
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
push esi
mov dword [esp + 0x4c], edi
call fcn.00538770
test eax, eax
jne 0x54573a
jmp 0x543270
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x18]
jge case.0x5455d0.14
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edx, ebx
sub edx, ebp
cmp esi, edx
ja 0x54332e
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x5432b4
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5432bc
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5432a0
test eax, eax
je 0x543321
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x54330b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x54331d
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x54330b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x54331d
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x54330b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x54331d
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x54331d
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x543323
or eax, 0xffffffff
jmp 0x543323
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x54332e
add esi, ebp
jmp 0x5433dd
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x54341c
sub ebx, eax
cmp esi, ebx
ja 0x54341c
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x543366
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x54336e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x543352
test eax, eax
je 0x5433d3
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x5433c5
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5433d3
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x5433c5
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5433d3
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x5433c5
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5433d3
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x5433d3
test edi, edi
mov eax, 1
jg 0x5433d5
or eax, 0xffffffff
jmp 0x5433d5
xor eax, eax
test eax, eax
jne 0x54341c
add esi, dword [esp + 0x40]
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add dword [esp + 0x30], 1
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push esi
call fcn.00538770
test eax, eax
je 0x543270
jmp 0x54573a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [eax + 0x78]
jb case.0x5455d0.14
cmp esi, dword [eax + 0x84]
jbe case.0x5455d0.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x545721
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
push ebp
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
cmp ebx, eax
je 0x5434b8
cmp dword [esp + 0x38], eax
jne case.0x5455d0.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
push ebp
add esi, 1
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543490
jmp 0x54573a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
push ebp
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
lea esp, [esp]
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx edx, byte [esi]
add esi, 1
cmp ebx, edx
jne case.0x5455d0.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
push ebp
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543530
jmp 0x54573a
cmp dword [edx + 0x88], ebp
jmp 0x545701
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [ecx + 0x84]
jbe case.0x5455d0.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x545721
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x543757
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x54370e
test al, 0x20
jne 0x543647
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x54370e
test al, 0x10
jne 0x54366d
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x54370e
test al, 8
jne 0x54369f
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x54370e
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x5436da
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x54370e
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp dword [esp + 0x30], eax
je case.0x5455d0.14
cmp dword [esp + 0x38], eax
je case.0x5455d0.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543605
jmp 0x54573a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebx
push ebp
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
cmp dword [esp + 0x30], eax
je case.0x5455d0.14
cmp dword [esp + 0x38], eax
je case.0x5455d0.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebx
push ebp
add esi, 1
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543784
jmp 0x54573a
cmp dword [ebx + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [ebx + 0x84]
jbe case.0x5455d0.14
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jmp 0x545721
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x54399a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x54395b
test al, 0x20
jne 0x543894
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x54395b
test al, 0x10
jne 0x5438ba
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x54395b
test al, 8
jne 0x5438ec
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x54395b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x543927
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x54395b
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp dword [esp + 0x30], eax
je case.0x5455d0.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543852
jmp 0x54573a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebx
push ebp
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
jmp 0x5439d0
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x5455d0.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x5439d0
jmp 0x54573a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [eax + 0x84]
jbe case.0x5455d0.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x545721
cmp dword [ebx + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [ebx + 0x84]
jbe case.0x5455d0.14
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x545721
cmp dword [ecx + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [ecx + 0x84]
jbe case.0x5455d0.14
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jmp 0x545721
cmp dword [edi + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [edi + 0x84]
jbe case.0x5455d0.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x545721
test eax, eax
jl 0x544cb3
cmp eax, 0xa
ja case.default.0x53aebf
jmp dword [eax*4 + 0x545c58]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
nop
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543b72
cmp eax, 0xc0
jb 0x543b72
test al, 0x20
jne 0x543b54
add esi, 1
jmp 0x543b72
test al, 0x10
jne 0x543b5d
add esi, 2
jmp 0x543b72
test al, 8
jne 0x543b66
add esi, 3
jmp 0x543b72
test al, 4
jne 0x543b6f
add esi, 4
jmp 0x543b72
add esi, 5
cmp dword [esp + 0x44], 0
jne case.0x5455d0.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543b20
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
jmp 0x543bf0
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543d09
cmp ecx, 0xc0
jb 0x543d09
test cl, 0x20
jne 0x543c3f
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x543d09
test cl, 0x10
jne 0x543c66
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x543d09
test cl, 8
jne 0x543c99
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x543d09
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x543cd5
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x543d09
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x543d2b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx eax, byte [eax*8 + 0x575259]
cmp eax, 9
je 0x543d50
cmp eax, 5
je 0x543d50
cmp eax, 8
je 0x543d50
xor eax, eax
jmp 0x543d55
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543bf0
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
lea ecx, [ecx]
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543ee9
cmp ecx, 0xc0
jb 0x543ee9
test cl, 0x20
jne 0x543e1f
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x543ee9
test cl, 0x10
jne 0x543e46
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x543ee9
test cl, 8
jne 0x543e79
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x543ee9
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x543eb5
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x543ee9
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x543f0b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x574798], eax
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455d0.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543dd0
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5440be
cmp ecx, 0xc0
jb 0x5440be
test cl, 0x20
jne 0x543ff4
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x5440be
test cl, 0x10
jne 0x54401b
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x5440be
test cl, 8
jne 0x54404e
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x5440be
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x54408a
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x5440be
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x5440e0
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455d0.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x543fa5
jmp 0x54573a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x54428c
cmp ecx, 0xc0
jb 0x54428c
test cl, 0x20
jne 0x5441c2
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x54428c
test cl, 0x10
jne 0x5441e9
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x54428c
test cl, 8
jne 0x54421c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x54428c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x544258
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x54428c
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x5442ae
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578ad8]
movzx edx, byte [ecx*8 + 0x575258]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x544173
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x54445a
cmp ecx, 0xc0
jb 0x54445a
test cl, 0x20
jne 0x544390
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x54445a
test cl, 0x10
jne 0x5443b7
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x54445a
test cl, 8
jne 0x5443ea
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x54445a
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x544426
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x54445a
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x54447c
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
mov eax, dword [ecx*4 + 0x574798]
cmp eax, 1
je 0x5444a3
cmp eax, 3
je 0x5444a3
xor eax, eax
jmp 0x5444a8
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x544341
jmp 0x54573a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544639
cmp ecx, 0xc0
jb 0x544639
test cl, 0x20
jne 0x54456f
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x544639
test cl, 0x10
jne 0x544596
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x544639
test cl, 8
jne 0x5445c9
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x544639
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x544605
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x544639
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
cmp ecx, 0x180e
ja 0x544683
je case.0x5446a3.8192
cmp ecx, 0x85
ja 0x54466f
je case.0x5446a3.8192
cmp ecx, 9
jb case.0x5446a3.8203
cmp ecx, 0xd
jbe case.0x5446a3.8192
cmp ecx, 0x20
jmp 0x5446bc
cmp ecx, 0xa0
je case.0x5446a3.8192
cmp ecx, 0x1680
jmp 0x5446bc
cmp ecx, 0x202f
ja 0x5446aa
je case.0x5446a3.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x5446a3.8203
movzx eax, byte [eax + 0x545c8c]
jmp dword [eax*4 + 0x545c84]
cmp ecx, 0x205f
je case.0x5446a3.8192
cmp ecx, 0x3000
je case.0x5446a3.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x5446e4
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x575259]
xor edx, edx
cmp dword [ecx*4 + 0x574798], 6
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455d0.14
jmp 0x54471a
cmp dword [esp + 0x44], 0
jne case.0x5455d0.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x544520
jmp 0x54573a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
jmp 0x544790
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5448a9
cmp ecx, 0xc0
jb 0x5448a9
test cl, 0x20
jne 0x5447df
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x5448a9
test cl, 0x10
jne 0x544806
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x5448a9
test cl, 8
jne 0x544839
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x5448a9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x544875
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x5448a9
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x5448cd
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x578ad8]
movzx edx, byte [eax*8 + 0x575259]
mov eax, dword [edx*4 + 0x574798]
cmp eax, 1
je 0x5448f9
cmp eax, 3
je 0x5448f9
cmp ecx, 0x5f
je 0x5448f9
xor eax, eax
jmp 0x5448fe
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x544790
jmp 0x54573a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544a8a
cmp eax, 0xc0
jb 0x544a8a
test al, 0x20
jne 0x5449c3
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x544a8a
test al, 0x10
jne 0x5449e9
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x544a8a
test al, 8
jne 0x544a1b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x544a8a
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x544a56
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x544a8a
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [esp + 0x48]
mov ecx, dword [edx*4 + 0x575118]
cmp eax, ecx
lea edx, [edx*4 + 0x575118]
jb 0x544aad
add edx, 4
cmp eax, ecx
je 0x544aba
mov ecx, dword [edx]
cmp eax, ecx
jae 0x544aa0
cmp dword [esp + 0x44], 0
je case.0x5455d0.14
jmp 0x544ac5
cmp dword [esp + 0x44], 0
jne case.0x5455d0.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x544976
jmp 0x54573a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543a28
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544c47
cmp eax, 0xc0
jb 0x544c47
test al, 0x20
jne 0x544b80
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x544c47
test al, 0x10
jne 0x544ba6
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x544c47
test al, 8
jne 0x544bd8
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x544c47
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x544c13
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x544c47
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x24
je 0x544c6f
cmp eax, 0x40
je 0x544c6f
cmp eax, 0x60
je 0x544c6f
cmp eax, 0xa0
jb 0x544c64
cmp eax, 0xd7ff
jbe 0x544c6f
cmp eax, 0xe000
jae 0x544c6f
xor eax, eax
jmp 0x544c74
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455d0.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x544b33
jmp 0x54573a
cmp dword [esp + 0x38], 0x16
jne 0x545007
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x170]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x1c]
push edi
push eax
push ecx
push edx
push esi
mov dword [esp + 0x4c], ebx
call fcn.00538770
test eax, eax
jne 0x54573a
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
jge case.0x5455d0.14
mov ebp, dword [eax + 0x78]
cmp esi, ebp
jae 0x543a28
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544e12
cmp ecx, 0xc0
jb 0x544e12
test cl, 0x20
jne 0x544d48
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x544e12
test cl, 0x10
jne 0x544d6f
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x544e12
test cl, 8
jne 0x544da2
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x544e12
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x544dde
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x544e12
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5768d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x544e34
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, ebp
movzx ecx, word [eax*2 + 0x578ad8]
movzx ebx, byte [ecx*8 + 0x57525a]
jae 0x544f99
mov edi, edi
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x544f49
cmp ecx, 0xc0
jb 0x544f49
test cl, 0x20
jne 0x544e8b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x544f47
test cl, 0x10
jne 0x544eb5
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x544f49
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x544edb
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x544f39
and eax, 0x3f
test cl, 4
jne 0x544f14
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x544f49
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x5768d8]
shl edx, 7
and ecx, 0x8000007f
jns 0x544f6b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578ad8]
movzx ecx, byte [eax*8 + 0x57525a]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x574724], edx
je 0x544f99
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x544e50
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x544fc8
cmp esi, ebp
jb 0x544fc8
cmp esi, dword [eax + 0x84]
jbe 0x544fc8
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545727
jmp 0x544fcd
mov ecx, 1
add dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x17c]
push eax
push ecx
push edx
push esi
call fcn.00538770
test eax, eax
je 0x544cf3
jmp 0x54573a
cmp dword [esp + 0x20], 0
mov ebp, dword [esp + 0x28]
je 0x5454a9
mov ecx, dword [esp + 0x17c]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
add ecx, 1
push ecx
push edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
push eax
push ebx
push ebp
push edi
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
nop
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x30], ecx
jge case.0x5455d0.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x5456fa
cmp dword [esp + 0x38], 0xc
jne 0x5450ca
mov eax, dword [edx + 0x18]
test eax, eax
je 0x5450a3
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edx
push ecx
push eax
push esi
call fcn.00546f70
test eax, eax
jne case.0x5455d0.14
mov edx, dword [esp + 0x10]
jmp 0x5450ca
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x5450ca
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x5450ca
cmp dword [edx + 0x1c], 1
je case.0x5455d0.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x5455d0.14
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x5451b4
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x5450f5
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x5451b4
test al, 0x10
jne 0x545115
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x5451b4
test al, 8
jne 0x545141
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x5451b4
test al, 4
jne 0x545179
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x5451b4
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x53aebf
jmp dword [ecx*4 + 0x545cb8]
cmp dword [edx + 0x88], 0
je case.0x5451c4.13
cmp esi, dword [edx + 0x78]
jb case.0x5451c4.13
cmp dword [edx + 0x18], 0
jne case.0x5451c4.13
cmp dword [edx + 0x1c], 2
jne case.0x5451c4.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x5451c4.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x545727
jmp case.0x5451c4.13
cmp eax, 0xd
ja 0x54524f
je 0x545235
cmp eax, 0xa
je case.0x5451c4.13
jbe case.0x5455d0.14
cmp eax, 0xc
jmp 0x545266
cmp esi, dword [edx + 0x78]
jae case.0x5451c4.13
cmp byte [esi], 0xa
jne case.0x5451c4.13
add esi, 1
jmp case.0x5451c4.13
cmp eax, 0x85
je 0x54526c
cmp eax, 0x2027
jbe case.0x5455d0.14
cmp eax, 0x2029
ja case.0x5455d0.14
cmp dword [edx + 0x68], 0
jne case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x180e
ja 0x5452b0
je case.0x5455d0.14
cmp eax, 0xa0
ja 0x5452a6
je case.0x5455d0.14
cmp eax, 9
je case.0x5455d0.14
cmp eax, 0x20
jmp 0x545473
cmp eax, 0x1680
jmp 0x545473
cmp eax, 0x205f
ja 0x5452dd
je case.0x5455d0.14
cmp eax, 0x2000
jb case.0x5451c4.13
cmp eax, 0x200a
jbe case.0x5455d0.14
cmp eax, 0x202f
jmp 0x545473
cmp eax, 0x3000
jmp 0x545473
cmp eax, 0x180e
ja 0x545328
je case.0x5451c4.13
cmp eax, 0xa0
ja 0x545318
je case.0x5451c4.13
cmp eax, 9
je case.0x5451c4.13
cmp eax, 0x20
jne case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x1680
jne case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x205f
ja 0x54535b
je case.0x5451c4.13
cmp eax, 0x2000
jb case.0x5455d0.14
cmp eax, 0x200a
jbe case.0x5451c4.13
cmp eax, 0x202f
jne case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x3000
jne case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x85
ja 0x54538f
je case.0x5455d0.14
cmp eax, 0xa
jb case.0x5451c4.13
cmp eax, 0xd
jbe case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x2028
jb case.0x5451c4.13
cmp eax, 0x2029
jbe case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x85
ja 0x5453ce
je case.0x5451c4.13
cmp eax, 0xa
jb case.0x5455d0.14
cmp eax, 0xd
ja case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x2028
jb case.0x5455d0.14
cmp eax, 0x2029
ja case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x100
jae case.0x5451c4.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jne case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x100
jae case.0x5455d0.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jmp 0x545473
cmp eax, 0x100
jae case.0x5451c4.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jne case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x100
jae case.0x5455d0.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jmp 0x545473
cmp eax, 0x100
jae case.0x5451c4.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
jne case.0x5455d0.14
jmp case.0x5451c4.13
cmp eax, 0x100
jae case.0x5455d0.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
je case.0x5455d0.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add dword [esp + 0x30], 1
add edx, 1
push edx
push eax
push ecx
push ebx
push ebp
push edi
push esi
call fcn.00538770
test eax, eax
je 0x545050
jmp 0x54573a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.00538770
test eax, eax
jne 0x54573a
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x5455d0.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x5456fa
cmp dword [esp + 0x38], 0xc
jne 0x545551
mov eax, dword [edx + 0x18]
test eax, eax
je 0x54552a
push 0
mov ecx, edx
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edx
push ecx
push eax
push esi
call fcn.00546f70
test eax, eax
jne case.0x5455d0.14
mov edx, dword [esp + 0x10]
jmp 0x545551
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x545551
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x545551
cmp dword [edx + 0x1c], 1
je case.0x5455d0.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x5455d0.14
mov ecx, dword [esp + 0x38]
movzx eax, byte [esi]
add ecx, 0xfffffffa
add esi, 1
cmp ecx, 0xf
ja case.default.0x53aebf
jmp dword [ecx*4 + 0x545cf8]
cmp dword [edx + 0x88], 0
je case.0x545567.13
cmp esi, dword [edx + 0x78]
jb case.0x545567.13
cmp dword [edx + 0x18], 0
jne case.0x545567.13
cmp dword [edx + 0x1c], 2
jne case.0x545567.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x545567.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x545727
jmp case.0x545567.13
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x5455d0.14
movzx eax, byte [eax + 0x545d48]
jmp dword [eax*4 + 0x545d38]
cmp esi, dword [edx + 0x78]
jae case.0x545567.13
cmp byte [esi], 0xa
jne case.0x545567.13
add esi, 1
jmp case.0x545567.13
cmp dword [edx + 0x68], 0
jne case.0x5455d0.14
jmp case.0x545567.13
cmp eax, 9
je case.0x5455d0.14
cmp eax, 0x20
je case.0x5455d0.14
cmp eax, 0xa0
jmp 0x5456c2
cmp eax, 9
je case.0x545567.13
cmp eax, 0x20
je case.0x545567.13
cmp eax, 0xa0
jne case.0x5455d0.14
jmp case.0x545567.13
cmp eax, 0xa
jb case.0x545567.13
cmp eax, 0xd
jbe case.0x5455d0.14
cmp eax, 0x85
jmp 0x5456c2
cmp eax, 0xa
jb case.0x5455d0.14
cmp eax, 0xd
jbe case.0x545567.13
cmp eax, 0x85
jne case.0x5455d0.14
jmp case.0x545567.13
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jne case.0x5455d0.14
jmp case.0x545567.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jmp 0x5456c2
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jne case.0x5455d0.14
jmp case.0x545567.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jmp 0x5456c2
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x5455d0.14
jmp case.0x545567.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
je case.0x5455d0.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.00538770
test eax, eax
je 0x5454e0
jmp 0x54573a
cmp dword [edx + 0x88], 0
je case.0x5455d0.14
cmp esi, dword [edx + 0x84]
jbe case.0x5455d0.14
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jle case.0x5455d0.14
mov eax, 0xfffffff4
jmp 0x54573a
mov eax, 0xfffffff2
jmp 0x54573a
mov eax, 0xfffffffb
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x150]
pop esi
xor ecx, esp
call fcn.005498fd
add esp, 0x150
ret 0x1c