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

Disassembly:
sub esp, 0x150
mov eax, dword [0x597f98]
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 0x5387e7
cmp dword [esp + 0x170], edx
lea eax, [esp + 0x170]
jne 0x5387c3
push 1
push edx
push edx
push edx
push edx
push edx
push eax
call fcn.00538740
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.005498cd
add esp, 0x150
ret 0x1c
sub eax, esi
cmp eax, edx
jle 0x54570d
neg eax
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.005498cd
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 0x542608
add ecx, 1
mov dword [eax], ecx
mov ecx, dword [esp + 0x17c]
cmp ecx, dword [eax + 8]
jae 0x542615
cmp dword [eax + 0x98], 2
jne 0x538840
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.0x53886a.98
movzx ecx, byte [ebx + 0x545874]
jmp dword [ecx*4 + 0x545728]
mov edi, dword [esp + 0x10]
add dword [edi + 0x28], 1
mov eax, dword [edi + 0x28]
cmp eax, dword [edi + 0x2c]
ja 0x542836
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x574580]
movzx eax, byte [edx + 1]
add eax, edx
add eax, ecx
mov dword [esp + 0x14], eax
jmp 0x538840
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 0x5388c0
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.00538740
cmp eax, 1
je 0x538942
cmp eax, 0xfffffc20
jne 0x538917
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 0x54570a
cmp byte [edx], 0x77
je 0x538923
cmp byte [ecx], 0x77
jne 0x54570a
jmp 0x538923
test eax, eax
jne 0x54570a
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 0x5388c0
jmp 0x53894d
mov ebp, dword [edi + 0x7c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov al, byte [edx]
cmp al, 0x82
je 0x538960
cmp al, 0x77
jne case.0x5455a0.14
jmp 0x538960
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je 0x538960
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 0x538995
cmp esi, dword [esp + 0x3c]
jne 0x5420cb
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x538840
mov dword [esp + 0x34], ebp
jmp 0x539474
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 0x5389f4
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 + 0x574580]
push edi
push ebx
push ebp
add ecx, eax
push ecx
push esi
call fcn.00538740
cmp eax, 0xfffffc1a
jne 0x539578
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 0x5395d4
mov esi, dword [edi + 0x80]
jmp 0x5389e0
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 0x538b74
mov ecx, dword [0x599350]
cmp ecx, ebp
mov ebp, dword [esp + 0x10]
je 0x538b61
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 0x538b2e
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.0x5455a0.14
jl 0x54570a
mov edx, dword [esp + 0x14]
movzx eax, byte [0x5745f6]
add edx, eax
sub dword [esp + 0x38], eax
mov dword [esp + 0x14], edx
jmp 0x538b78
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.0x538b9a.146
movzx edx, byte [eax + 0x545930]
jmp dword [edx*4 + 0x545918]
cmp dword [ebp + 0xa4], 0
je case.0x538b9a.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 0x538cba
mov edx, dword [ebp + 0xa4]
cmp eax, dword [edx + 4]
je 0x538cba
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 0x538bf0
cmp byte [ecx - 3], 0x77
jne 0x538840
cmp dword [esp + 0x40], 0x8c
jne 0x541de3
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.00538740
jmp 0x54570a
cmp dword [ebp + 0xa4], 0
je case.0x538b9a.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.0x538b9a.145
mov ecx, dword [ebp + 0xa4]
mov ecx, dword [ecx + 4]
jmp 0x538c70
movzx edx, byte [eax + 1]
mov dh, byte [eax]
xor ebx, ebx
sub edi, 1
cmp edx, ecx
sete bl
test ebx, ebx
jne 0x538cbf
add eax, dword [ebp + 0x24]
test edi, edi
jg 0x538c70
jmp case.0x538b9a.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 0x538bd2
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jl 0x538bd2
mov ebx, 1
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x574580]
jmp 0x538bd8
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.0x538b9a.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 0x538d12
mov edi, dword [ebp + 0xc]
cmp dword [edi + ecx*4], 0
jge 0x538cba
add eax, dword [ebp + 0x24]
test edx, edx
jg 0x538cf4
jmp case.0x538b9a.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.00538740
cmp eax, 1
jne 0x538db7
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esp + 0x170]
jle 0x538d69
mov dword [esp + 0x170], eax
cmp byte [edi], 0x92
mov ebx, 1
jne 0x538d75
add edi, ebx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
jne 0x538d93
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add edi, ecx
cmp byte [edi], 0x77
je 0x538d84
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x574580]
mov ecx, 3
sub ecx, eax
movzx eax, byte [edx + 0x574580]
add edi, ecx
mov dword [esp + 0x14], edi
jmp 0x538bd8
test eax, eax
je case.0x538b9a.145
cmp eax, 0xfffffc20
jne 0x54570a
jmp case.0x538b9a.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 0x538e13
or eax, 0x10000
add ebx, 3
mov dword [ecx + 0x90], eax
mov dword [esp + 0x14], ebx
jmp 0x538840
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 0x538e5f
mov ecx, dword [ecx + 0xc]
lea edi, [ecx + eax*4]
lea ecx, [ecx + edx*4]
cmp edi, ecx
jae 0x538e55
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 0x538840
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x538e92
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x538e96
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.00538740
cmp eax, 1
je 0x538f14
cmp eax, 0xfffffc19
je 0x538f14
cmp eax, 0xfffffc20
mov edx, dword [esp + 0x30]
mov dword [edi + 0xac], edx
jne 0x538efb
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x54570a
cmp byte [ebx], 0x77
je 0x538f03
cmp byte [ecx], 0x77
jmp 0x538efd
test eax, eax
jne 0x54570a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x77
je 0x538ea0
jmp 0x538f1b
mov ecx, dword [edi + 0x7c]
mov dword [esp + 0x28], ecx
cmp byte [ebx], 0x78
je case.0x5455a0.14
cmp dword [esp + 0x38], 0
jne 0x542ae2
nop
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x77
je 0x538f30
mov eax, dword [edi + 0x8c]
add ebx, 3
mov dword [esp + 0x14], ebx
mov dword [esp + 0x170], eax
jmp 0x538840
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x538f7f
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x538f83
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.00538740
cmp eax, 0xfffffc20
mov ecx, dword [esp + 0x30]
mov dword [edi + 0xac], ecx
jg 0x538fe0
jne 0x539004
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 0x539030
cmp byte [ecx], 0x77
je 0x538feb
cmp byte [eax], 0x77
jne 0x539025
jmp 0x538feb
mov ecx, eax
sub ecx, 0
jne 0x5425fa
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 0x538f90
jmp 0x539043
cmp eax, 0xfffffc19
je case.0x5455a0.14
cmp eax, 0xfffffc1b
jle 0x54570a
cmp eax, 0xfffffc1f
jg 0x54570a
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 0x539030
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x38], 0
jne 0x542ae2
add dword [esp + 0x14], 3
jmp 0x538840
mov edi, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x20], ebp
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
je 0x5390a4
cmp eax, ebp
jle 0x5390af
mov ebp, dword [edi + 0x74]
sub esi, 1
sub eax, 1
cmp esi, ebp
jb case.0x5455a0.14
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53909e
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x539090
test eax, eax
jg 0x539071
jmp 0x5390af
sub esi, eax
cmp esi, dword [edi + 0x74]
jb case.0x5455a0.14
cmp esi, dword [edi + 0x84]
jae 0x5390bd
mov dword [edi + 0x84], esi
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x538840
mov ebx, dword [0x599350]
cmp ebx, ebp
mov edi, dword [esp + 0x14]
je 0x5391b2
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 0x539180
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.0x5455a0.14
jl 0x54570a
add edi, 6
mov dword [esp + 0x14], edi
jmp 0x538840
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 0x5391de
mov ch, byte [ebx + 3]
mov cl, byte [ebx + 4]
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x5391fc
cmp ecx, dword [eax + 4]
jne 0x5391f6
cmp esi, dword [eax + 0x14]
je 0x542a55
mov eax, dword [eax]
test eax, eax
jne 0x5391e8
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 0x539242
lea eax, [esp + 0xdc]
mov dword [esp + 0x5c], eax
jmp 0x53925d
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x597eec]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x542a5f
mov ecx, dword [esp + 0x60]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.00549c50
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 0x53928e
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 + 0x574580]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00538740
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.00549c50
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 0x539341
cmp edi, 0xfffffc19
je 0x539341
cmp edi, 0xfffffc1c
jl 0x539313
cmp edi, 0xfffffc20
jle 0x542a90
test edi, edi
jne 0x542a69
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 0x542a86
mov eax, dword [esp + 0x38]
jmp 0x539280
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x539357
push eax
call dword [0x597ef0]
mov edx, dword [ebp + 0x7c]
mov esi, dword [ebp + 0x80]
mov dword [esp + 0x28], edx
jmp 0x538840
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je case.0x53886a.119
mov dword [esp + 0x14], edx
jmp 0x538840
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.00538740
test eax, eax
jne 0x54570a
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
je 0x5393c0
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x538840
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 0x5393e0
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.00538740
test eax, eax
jne 0x54570a
mov dword [esp + 0x14], edi
jmp 0x538840
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 0x539430
add eax, 3
mov dword [esp + 0x14], eax
jmp 0x538840
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 0x539474
cmp eax, 0x8b
jne 0x5389ae
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 0x5389b2
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 0x5394f6
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 + 0x574580]
push ebx
add edx, eax
push edx
push esi
call fcn.00538740
cmp eax, 0xfffffc1a
jne 0x539613
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 0x5396c0
mov esi, dword [edi + 0x80]
jmp 0x5394d0
cmp eax, 0xfffffc20
jne 0x5395a6
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 0x54570a
cmp byte [edx], 0x77
je 0x5395b2
cmp byte [ecx], 0x77
jne 0x54570a
jmp 0x5395b2
test eax, eax
jne 0x54570a
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 0x5395f5
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0x90], ecx
jmp 0x5389e0
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x5395d4
mov edx, eax
add edx, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x14], edx
jmp 0x538840
cmp dword [esp + 0x30], 0
jne 0x539607
cmp dword [esp + 0x34], 0
je case.0x5455a0.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x538840
cmp eax, 0xfffffc20
jne 0x539641
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 0x54570a
cmp byte [edx], 0x77
je 0x53964d
cmp byte [ecx], 0x77
jne 0x54570a
jmp 0x53964d
test eax, eax
jne 0x54570a
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 0x5394d0
cmp dword [esp + 0x30], 0
jne 0x5396a0
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 0x5396b2
cmp dword [esp + 0x30], 0
je case.0x5455a0.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x538840
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x5396c0
mov dword [esp + 0x14], eax
mov edx, eax
jmp 0x5396a0
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 0x5396fd
cmp al, 0x81
je 0x5396fd
mov dword [esp + 0x3c], 0
jmp 0x53970e
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 0x53971a
cmp al, 0x80
jbe 0x542aad
cmp al, 0x82
je 0x542aad
cmp al, 0x85
je 0x539736
cmp al, 0x8a
je 0x539736
cmp al, 0x86
je 0x539736
cmp al, 0x8b
jne 0x5397dc
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 0x539763
mov eax, dword [ebp + 0xa4]
cmp dword [eax + 4], ecx
je 0x542ad5
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 0x53978f
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x5397e7
cmp edx, ebx
jle 0x5397b0
mov eax, dword [ebp + 0xc]
lea edi, [eax + ebx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x5397b0
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 0x5397e7
lea ebx, [edx + 2]
mov dword [esp + 0x170], ebx
jmp 0x5397e7
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x542aec
cmp al, 0x78
je 0x539803
cmp esi, dword [esp + 0x3c]
jne 0x5422f5
mov edi, dword [esp + 0x40]
add ecx, 3
cmp byte [edi], 0x81
je 0x542ba3
mov dword [esp + 0x14], ecx
jmp 0x538840
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x539834
cmp esi, dword [eax + 0x74]
je case.0x5455a0.14
jmp 0x539834
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x74]
jne case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x53985b
cmp esi, dword [eax + 0x74]
je case.0x5455a0.14
mov edx, dword [eax + 0x74]
cmp esi, edx
je 0x5398d1
cmp esi, dword [eax + 0x78]
je case.0x5455a0.14
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x5398a0
cmp esi, edx
jbe case.0x5455a0.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.00547100
test eax, eax
je case.0x5455a0.14
add dword [esp + 0x14], 1
jmp 0x538840
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x74]
add ecx, edx
cmp esi, ecx
jb case.0x5455a0.14
mov ecx, esi
sub ecx, edx
mov dl, byte [ecx]
cmp dl, byte [eax + 0x34]
jne case.0x5455a0.14
cmp dword [eax + 0x1c], 1
je 0x5398d1
mov cl, byte [ecx + 1]
cmp cl, byte [eax + 0x35]
jne case.0x5455a0.14
add dword [esp + 0x14], 1
jmp 0x538840
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x94]
add ecx, dword [eax + 0x74]
cmp esi, ecx
jne case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
add edx, 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], edx
jmp 0x538840
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x53997f
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x539948
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.00546f40
test eax, eax
je 0x542bd9
mov edx, dword [esp + 0x14]
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x542bd9
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x542bd9
cmp dword [edi + 0x1c], 1
je 0x5399ac
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x542bdb
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
cmp dword [edi + 0x48], ebp
jne case.0x5455a0.14
cmp dword [edi + 0x88], ebp
je 0x5399ac
cmp esi, dword [edi + 0x84]
jbe 0x5399ac
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x5456f7
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x48], ebp
jne case.0x5455a0.14
cmp dword [edi + 0x58], ebp
je 0x5399df
jmp 0x5399d0
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jb case.0x5455a0.14
jmp 0x539988
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x539a46
mov eax, dword [edi + 0x18]
cmp eax, ebp
lea ebp, [edi + 0x1c]
je 0x539a0d
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0x78]
push ecx
push ebp
push edx
push eax
push esi
call fcn.00546f40
test eax, eax
je 0x542c24
mov edx, dword [esp + 0x14]
jmp 0x539a38
mov eax, dword [edi + 0x78]
sub eax, dword [ebp]
cmp esi, eax
ja 0x542c24
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x542c24
cmp dword [ebp], 1
je 0x539a38
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x542c24
mov ecx, dword [edi + 0x78]
sub ecx, dword [ebp]
cmp esi, ecx
jne 0x542c24
cmp dword [edi + 0x88], 0
jmp 0x53998e
cmp dword [esp + 0x20], ebp
je 0x539d30
mov ebp, dword [esp + 0x10]
cmp esi, dword [ebp + 0x74]
je 0x539bb7
mov dl, byte [esi - 1]
lea eax, [esi - 1]
and dl, 0xc0
cmp dl, 0x80
jne 0x539a85
mov cl, byte [eax - 1]
sub eax, 1
and cl, 0xc0
cmp cl, 0x80
je 0x539a77
cmp eax, dword [ebp + 0x84]
jae 0x539a93
mov dword [ebp + 0x84], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x539b43
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x20
jne 0x539abb
and ecx, 0x1f
shl ecx, 6
or ecx, edx
jmp 0x539b43
test cl, 0x10
jne 0x539acf
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x539b37
test cl, 8
jne 0x539ae6
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x539b31
test cl, 4
jne 0x539b09
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 0x539b31
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 0x539b9f
cmp ecx, 0x5f
jne 0x539b53
lea edi, [ecx - 0x5e]
jmp 0x539bb9
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x539b75
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
mov eax, dword [ecx*4 + 0x574758]
cmp eax, 1
je 0x539b98
cmp eax, 3
jne 0x539bb7
mov edi, 1
jmp 0x539bb9
cmp ecx, 0x100
jae 0x539bb7
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x539bb7
mov edi, 1
jmp 0x539bb9
xor edi, edi
cmp esi, dword [ebp + 0x78]
jb 0x539bea
cmp dword [ebp + 0x88], 0
je 0x539be3
cmp esi, dword [ebp + 0x84]
jbe 0x539be3
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x5456f7
xor eax, eax
jmp 0x539e66
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x539cae
test cl, 0x20
jne 0x539c12
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x539cae
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x539c39
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x539cae
test cl, 8
jne 0x539c4c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x539c9e
and eax, 0x3f
test cl, 4
jne 0x539c7d
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 0x539cae
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 0x539d0d
cmp ecx, 0x5f
jne 0x539cc1
lea eax, [ecx - 0x5e]
jmp 0x539e66
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x539ce3
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
mov eax, dword [ecx*4 + 0x574758]
cmp eax, 1
je 0x539d26
cmp eax, 3
je 0x539d26
xor eax, eax
jmp 0x539e66
cmp ecx, 0x100
jae 0x539deb
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x539deb
mov eax, 1
jmp 0x539e66
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x74]
jne 0x539d40
xor edi, edi
jmp 0x539dc1
cmp esi, dword [ecx + 0x84]
ja 0x539d51
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
cmp dword [ecx + 0x54], 0
je 0x539db0
movzx edi, byte [esi - 1]
cmp edi, 0x5f
jne 0x539d67
mov edi, 1
jmp 0x539dc1
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x576898]
shl edx, 7
and edi, 0x8000007f
jns 0x539d89
dec edi
or edi, 0xffffff80
inc edi
add edx, edi
movzx eax, word [edx*2 + 0x578a98]
movzx edx, byte [eax*8 + 0x575219]
mov eax, dword [edx*4 + 0x574758]
cmp eax, 1
je 0x539d60
cmp eax, 3
je 0x539d60
xor edi, edi
jmp 0x539dc1
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 0x539df2
cmp dword [ecx + 0x88], 0
je 0x539deb
cmp esi, dword [ecx + 0x84]
jbe 0x539deb
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5456f7
xor eax, eax
jmp 0x539e66
cmp dword [ecx + 0x54], 0
je 0x539e56
movzx ecx, byte [esi]
cmp ecx, 0x5f
jne 0x539e05
lea eax, [ecx - 0x5e]
jmp 0x539e66
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x576898]
shl eax, 7
and ecx, 0x8000007f
jns 0x539e27
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578a98]
movzx edx, byte [ecx*8 + 0x575219]
mov eax, dword [edx*4 + 0x574758]
cmp eax, 1
je 0x539d26
cmp eax, 3
je 0x539d26
xor eax, eax
jmp 0x539e66
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 0x539e83
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
jmp 0x539e8c
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
test eax, eax
je 0x538840
xor eax, eax
jmp 0x54570a
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x539ecf
cmp esi, dword [edi + 0x78]
jae 0x539ef6
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.00546f40
test eax, eax
jne case.0x5455a0.14
mov edx, dword [esp + 0x14]
xor ebp, ebp
jmp 0x539ef6
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x539ef6
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x539ef6
cmp dword [edi + 0x1c], 1
je case.0x5455a0.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x5455a0.14
cmp dword [edi + 0x88], ebp
je 0x539f32
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb 0x539f32
cmp dword [edi + 0x18], ebp
jne 0x539f32
cmp dword [edi + 0x1c], 2
jne 0x539f32
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x539f32
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x5456f7
jmp 0x539f32
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x5431b7
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x5399ac
cmp esi, eax
jae 0x5399ac
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x5399ac
add esi, 1
cmp esi, eax
jb 0x539f52
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542c7a
add esi, 1
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c6f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a08d
cmp eax, 0xc0
jb 0x53a08d
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x539fd1
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a08d
test al, 0x10
jne 0x539ff1
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 0x53a08d
test al, 8
jne 0x53a01d
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 0x53a08d
test al, 4
jne 0x53a052
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 0x53a08d
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 0x5399ac
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
jne case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c6f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a1af
cmp eax, 0xc0
jb 0x53a1af
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a0f3
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a1af
test al, 0x10
jne 0x53a113
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 0x53a1af
test al, 8
jne 0x53a13f
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 0x53a1af
test al, 4
jne 0x53a174
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 0x53a1af
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.0x5455a0.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
je case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c6f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a2d1
cmp eax, 0xc0
jb 0x53a2d1
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a215
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a2d1
test al, 0x10
jne 0x53a235
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 0x53a2d1
test al, 8
jne 0x53a261
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 0x53a2d1
test al, 4
jne 0x53a296
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 0x53a2d1
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 0x5399ac
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
jne case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c6f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a3f3
cmp eax, 0xc0
jb 0x53a3f3
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a337
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a3f3
test al, 0x10
jne 0x53a357
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 0x53a3f3
test al, 8
jne 0x53a383
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 0x53a3f3
test al, 4
jne 0x53a3b8
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 0x53a3f3
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.0x5455a0.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
je case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c6f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a515
cmp eax, 0xc0
jb 0x53a515
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a459
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a515
test al, 0x10
jne 0x53a479
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 0x53a515
test al, 8
jne 0x53a4a5
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 0x53a515
test al, 4
jne 0x53a4da
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 0x53a515
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 0x5399ac
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x542c6f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a637
cmp eax, 0xc0
jb 0x53a637
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a57b
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a637
test al, 0x10
jne 0x53a59b
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 0x53a637
test al, 8
jne 0x53a5c7
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 0x53a637
test al, 4
jne 0x53a5fc
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 0x53a637
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.0x5455a0.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
je case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
cmp esi, edi
jae 0x542c6f
movzx eax, byte [esi]
mov ebp, 1
add esi, ebp
cmp dword [esp + 0x20], 0
je 0x53a75e
cmp eax, 0xc0
jb 0x53a75e
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a6a3
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, ebp
jmp 0x53a75e
test al, 0x10
jne 0x53a6c3
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 0x53a75e
test al, 8
jne 0x53a6ef
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 0x53a75e
test al, 4
jne 0x53a724
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 0x53a75e
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 0x53a7b6
je 0x53a775
cmp eax, 0xa
je 0x53a7dd
jbe case.0x5455a0.14
cmp eax, 0xc
jmp 0x53a7cd
cmp esi, edi
jb 0x53a7a4
cmp dword [ecx + 0x88], 0
je 0x53a7dd
cmp esi, dword [ecx + 0x84]
jbe 0x53a7dd
mov dword [ecx + 0x64], ebp
cmp dword [ecx + 0x88], ebp
jg 0x5456f7
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x538840
cmp byte [esi], 0xa
jne 0x53a7dd
add esi, ebp
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x538840
cmp eax, 0x85
je 0x53a7d3
cmp eax, 0x2027
jbe case.0x5455a0.14
cmp eax, 0x2029
ja case.0x5455a0.14
cmp dword [ecx + 0x68], 0
jne case.0x5455a0.14
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x538840
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542c7a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a8e6
cmp eax, 0xc0
jb 0x53a8e6
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53a82a
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53a8e6
test al, 0x10
jne 0x53a84a
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 0x53a8e6
test al, 8
jne 0x53a876
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 0x53a8e6
test al, 4
jne 0x53a8ab
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 0x53a8e6
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 0x53a915
je case.0x5455a0.14
cmp eax, 0xa0
ja 0x53a90e
je case.0x5455a0.14
cmp eax, 9
je case.0x5455a0.14
cmp eax, 0x20
jmp 0x53a944
cmp eax, 0x1680
jmp 0x53a944
cmp eax, 0x205f
ja 0x53a93f
je case.0x5455a0.14
cmp eax, 0x2000
jb 0x5399ac
cmp eax, 0x200a
jbe case.0x5455a0.14
cmp eax, 0x202f
jmp 0x53a944
cmp eax, 0x3000
je case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542c7a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53aa54
cmp eax, 0xc0
jb 0x53aa54
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53a998
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53aa54
test al, 0x10
jne 0x53a9b8
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 0x53aa54
test al, 8
jne 0x53a9e4
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 0x53aa54
test al, 4
jne 0x53aa19
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 0x53aa54
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 0x53aa83
je 0x5399ac
cmp eax, 0xa0
ja 0x53aa7c
je 0x5399ac
cmp eax, 9
je 0x5399ac
cmp eax, 0x20
jmp 0x53aab2
cmp eax, 0x1680
jmp 0x53aab2
cmp eax, 0x205f
ja 0x53aaad
je 0x5399ac
cmp eax, 0x2000
jb case.0x5455a0.14
cmp eax, 0x200a
jbe 0x5399ac
cmp eax, 0x202f
jmp 0x53aab2
cmp eax, 0x3000
jne case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542c7a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53abc2
cmp eax, 0xc0
jb 0x53abc2
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53ab06
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53abc2
test al, 0x10
jne 0x53ab26
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 0x53abc2
test al, 8
jne 0x53ab52
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 0x53abc2
test al, 4
jne 0x53ab87
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 0x53abc2
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 0x53abdd
je case.0x5455a0.14
cmp eax, 0xa
jb 0x5399ac
cmp eax, 0xd
jmp 0x53abed
cmp eax, 0x2028
jb 0x5399ac
cmp eax, 0x2029
jbe case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542c7a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53acfd
cmp eax, 0xc0
jb 0x53acfd
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53ac41
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53acfd
test al, 0x10
jne 0x53ac61
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 0x53acfd
test al, 8
jne 0x53ac8d
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 0x53acfd
test al, 4
jne 0x53acc2
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 0x53acfd
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 0x53ad18
je 0x5399ac
cmp eax, 0xa
jb case.0x5455a0.14
cmp eax, 0xd
jmp 0x53ad28
cmp eax, 0x2028
jb case.0x5455a0.14
cmp eax, 0x2029
ja case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x538840
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542c7a
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53ae49
cmp ecx, 0xc0
jb 0x53ae49
test cl, 0x20
jne 0x53ad7f
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53ae49
test cl, 0x10
jne 0x53ada6
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 0x53ae49
test cl, 8
jne 0x53add9
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 0x53ae49
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53ae15
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 0x53ae49
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 + 0x576898]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53ae6d
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 + 0x578a98]
lea eax, [eax*8 + 0x575218]
ja case.default.0x53ae8f
jmp dword [edx*4 + 0x545944]
cmp ebx, 0xf
jmp 0x53b0a1
mov al, byte [eax + 1]
cmp al, 9
je 0x53aebe
cmp al, 5
je 0x53aebe
cmp al, 8
je 0x53aebe
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53b0a1
xor ecx, ecx
cmp ebx, 0xf
sete cl
mov eax, 1
cmp eax, ecx
jmp 0x53b0a1
movzx edx, byte [eax + 1]
movzx eax, byte [edi + 2]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x574758]
setne cl
xor edx, edx
cmp ebx, 0x10
sete dl
cmp ecx, edx
jmp 0x53b0a1
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 0x53b0a1
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 0x53b0a1
movzx ecx, byte [eax + 1]
mov eax, dword [ecx*4 + 0x574758]
cmp eax, 1
je 0x53b092
cmp eax, 3
je 0x53b092
xor eax, eax
jmp 0x53b097
cmp ecx, 0x180e
ja 0x53af8f
je case.0x53ae8f.0
cmp ecx, 0x85
ja 0x53af7b
je case.0x53ae8f.0
cmp ecx, 9
jb case.0x53afaf.8203
cmp ecx, 0xd
jbe case.0x53ae8f.0
cmp ecx, 0x20
jmp 0x53afc8
cmp ecx, 0xa0
je case.0x53ae8f.0
cmp ecx, 0x1680
jmp 0x53afc8
cmp ecx, 0x202f
ja 0x53afb6
je case.0x53ae8f.0
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x53afaf.8203
movzx ecx, byte [ecx + 0x545978]
jmp dword [ecx*4 + 0x545970]
cmp ecx, 0x205f
je case.0x53ae8f.0
cmp ecx, 0x3000
je case.0x53ae8f.0
movzx edx, byte [eax + 1]
xor eax, eax
cmp dword [edx*4 + 0x574758], 6
sete al
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53b0a1
movzx edx, byte [eax + 1]
mov eax, dword [edx*4 + 0x574758]
cmp eax, 1
je 0x53aebe
cmp eax, 3
je 0x53aebe
cmp ecx, 0x5f
je 0x53aebe
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53b0a1
movzx edx, byte [edi + 2]
mov eax, dword [edx*4 + 0x5750d8]
cmp ecx, eax
lea edx, [edx*4 + 0x5750d8]
jb 0x53b04d
jmp 0x53b040
add edx, 4
cmp ecx, eax
je 0x53b052
mov eax, dword [edx]
cmp ecx, eax
jae 0x53b040
cmp ebx, 0x10
jmp 0x53b0a1
cmp ebx, 0x10
jne case.0x5455a0.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x538840
cmp ecx, 0x24
je 0x53b092
cmp ecx, 0x40
je 0x53b092
cmp ecx, 0x60
je 0x53b092
cmp ecx, 0xa0
jb 0x53b086
cmp ecx, 0xd7ff
jbe 0x53b092
cmp ecx, 0xe000
jae 0x53b092
xor eax, eax
jmp 0x53b097
mov eax, 1
xor edx, edx
cmp ebx, 0xf
sete dl
cmp eax, edx
je case.0x5455a0.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x538840
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x543569
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53b1c4
cmp ecx, 0xc0
jb 0x53b1c4
test cl, 0x20
jne 0x53b0fa
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53b1c4
test cl, 0x10
jne 0x53b121
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 0x53b1c4
test cl, 8
jne 0x53b154
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 0x53b1c4
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53b190
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 0x53b1c4
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x53b1e6
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebp
movzx eax, word [edx*2 + 0x578a98]
movzx ebx, byte [eax*8 + 0x57521a]
jae 0x53b343
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x53b2f3
cmp ecx, 0xc0
jb 0x53b2f3
test cl, 0x20
jne 0x53b23b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53b2f1
test cl, 0x10
jne 0x53b265
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 0x53b2f3
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53b288
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53b2e3
and eax, 0x3f
test cl, 4
jne 0x53b2be
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 0x53b2f3
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x53b315
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x57521a]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x5746e4], edx
je 0x53b343
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x53b200
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53b379
cmp esi, ebp
jb 0x53b379
cmp esi, dword [eax + 0x84]
jbe 0x53b379
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5456f7
add dword [esp + 0x14], ecx
jmp 0x538840
mov ecx, 1
add dword [esp + 0x14], ecx
jmp 0x538840
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 0x53b458
movzx ebx, byte [eax + 1]
mov bh, byte [eax]
sub ecx, 1
add ebx, ebx
cmp ebx, dword [esp + 0x170]
jge 0x53b3ee
mov edx, dword [ebp + 0xc]
cmp dword [edx + ebx*4], 0
jge 0x53b3fa
add eax, dword [ebp + 0x24]
test ecx, ecx
jg 0x53b3d1
jmp 0x53b458
mov eax, edx
mov edi, dword [eax + ebx*4 + 4]
sub edi, dword [eax + ebx*4]
lea eax, [eax + ebx*4]
jmp 0x53b458
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 0x53b44c
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + ebx*4]
test ecx, ecx
lea eax, [edx + ebx*4]
jl 0x53b44c
mov edi, dword [eax + 4]
sub edi, ecx
jmp 0x53b458
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.0x53b474
movzx edx, byte [edx + 0x5459ac]
jmp dword [edx*4 + 0x5459a4]
movsx ebp, byte [eax + 0x574506]
add dword [esp + 0x14], 1
add eax, 0xffffff9e
mov ecx, eax
movsx eax, byte [eax + 0x574574]
and ecx, 1
test eax, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x53b4e5
mov dword [esp + 0x18], closesocket
jmp 0x53b4e5
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 0x53b4de
mov dword [esp + 0x18], closesocket
add eax, 5
mov dword [esp + 0x14], eax
test edi, edi
je 0x538840
jge 0x53b4f7
test ebp, ebp
je 0x538840
cmp ebp, 1
mov dword [esp + 0x30], 1
jl 0x53b532
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.00538400
test eax, eax
jl 0x542c85
add esi, eax
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, ebp
mov dword [esp + 0x30], eax
jle 0x53b504
mov eax, dword [esp + 0x18]
cmp ebp, eax
je 0x538840
cmp dword [esp + 0x34], 0
je 0x542c9a
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.00538740
test eax, eax
jne 0x54570a
mov ebp, dword [esp + 0x10]
jmp 0x53b590
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x38]
push eax
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00538400
test eax, eax
jl 0x542d4c
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.00538740
test eax, eax
je 0x53b590
jmp 0x54570a
mov ecx, dword [esp + 0x38]
push ecx
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00538400
test eax, eax
jl 0x542d4c
add esi, eax
jmp 0x538840
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.0x53b63b
movzx edx, byte [edx + 0x5459bc]
jmp dword [edx*4 + 0x5459b4]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x53b65c
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x53b664
mov dword [esp + 0x3c], 1
movsx edx, byte [eax + 0x574568]
movsx eax, byte [eax + 0x574574]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53b6cc
mov dword [esp + 0x18], closesocket
jmp 0x53b6cc
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 0x53b6ba
mov dword [esp + 0x18], closesocket
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x53b6cc
mov edx, 1
mov dword [esp + 0x18], edx
cmp dword [esp + 0x20], 0
mov edi, 1
je 0x53b81a
cmp edx, edi
jl 0x53b859
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x53b6f4
mov ebx, dword [esp + 0x40]
cmp esi, ebp
jae 0x543565
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53b7e3
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53b727
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53b7e3
test al, 0x10
jne 0x53b747
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 0x53b7e3
test al, 8
jne 0x53b773
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 0x53b7e3
test al, 4
jne 0x53b7a8
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 0x53b7e3
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 0x53b7ef
cmp ebx, 0x6e
jmp 0x53b807
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.0x5455a0.14
add edi, 1
cmp edi, edx
jle 0x53b6f0
jmp 0x53b859
cmp edx, 1
jl 0x53b859
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x5439f4
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.0x5455a0.14
add edi, 1
cmp edi, edx
jle 0x53b826
mov eax, dword [esp + 0x18]
cmp edx, eax
mov ecx, dword [esp + 0x10]
je 0x538840
cmp dword [esp + 0x34], 0
jne 0x542d89
cmp dword [esp + 0x20], 0
mov ebx, esi
mov dword [esp + 0x34], ebx
je 0x53ba65
cmp edx, eax
mov ebp, edx
jge 0x53b9d5
mov edx, dword [ecx + 0x78]
cmp esi, edx
mov edi, 1
jae 0x53b9b3
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53b974
movzx ebx, byte [esi + 1]
and ebx, 0x3f
test al, 0x20
jne 0x53b8c8
and eax, 0x1f
shl eax, 6
mov edi, 2
jmp 0x53b972
test al, 0x10
jne 0x53b8e2
and eax, 0xf
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
mov edi, 3
jmp 0x53b96c
test al, 8
jne 0x53b908
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 0x53b96c
test al, 4
jne 0x53b937
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 0x53b96c
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 0x53b984
cmp dword [esp + 0x40], 0x6e
je 0x53b9d5
jmp 0x53b9a2
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 0x53b9d5
mov ecx, dword [esp + 0x10]
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53b892
jmp 0x53b9d5
cmp dword [ecx + 0x88], 0
je 0x53b9d5
cmp esi, dword [ecx + 0x84]
jbe 0x53b9d5
mov eax, edi
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
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.00538740
test eax, eax
jne 0x54570a
mov edx, esi
sub esi, 1
cmp edx, dword [esp + 0x34]
je case.0x5455a0.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53ba3e
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53ba30
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.00538740
test eax, eax
je 0x53ba15
jmp 0x54570a
cmp edx, eax
mov edi, edx
jge 0x53bacc
mov ebp, dword [ecx + 0x78]
jmp 0x53ba78
mov ecx, dword [esp + 0x10]
cmp esi, ebp
jae 0x53baa7
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 0x53bacc
add edi, 1
add esi, 1
cmp edi, dword [esp + 0x18]
jl 0x53ba74
jmp 0x53bacc
cmp dword [ecx + 0x88], 0
je 0x53bacc
cmp esi, dword [ecx + 0x84]
jbe 0x53bacc
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, ebx
jb case.0x5455a0.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.00538740
test eax, eax
jne 0x54570a
sub esi, 1
cmp esi, dword [esp + 0x34]
jae 0x53baf0
xor eax, eax
jmp 0x54570a
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.0x53bb58
movzx edx, byte [edx + 0x5459d0]
jmp dword [edx*4 + 0x5459c8]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x53bb79
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x53bb81
mov dword [esp + 0x3c], 1
movsx ebx, byte [eax + 0x574568]
movsx eax, byte [eax + 0x574574]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53bbe9
mov dword [esp + 0x18], closesocket
jmp 0x53bbe9
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 0x53bbd7
mov dword [esp + 0x18], closesocket
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x53bbe9
mov ebx, 1
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x20]
mov edi, 1
cmp ebx, edi
jl 0x53bd26
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x53bd07
cmp eax, 0xc0
jb 0x53bd07
test al, 0x20
jne 0x53bc40
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53bd07
test al, 0x10
jne 0x53bc66
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 0x53bd07
test al, 8
jne 0x53bc98
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 0x53bd07
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53bcd3
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 0x53bd07
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.005476c0
test eax, eax
je case.0x5455a0.14
add edi, 1
cmp edi, ebx
jle 0x53bc00
cmp ebx, dword [esp + 0x18]
je 0x538840
cmp dword [esp + 0x34], 0
jne 0x542fdc
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x34], esi
jge 0x53be89
lea esp, [esp]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
mov edi, 1
jae 0x53be69
test ebp, ebp
movzx eax, byte [esi]
je 0x53be48
cmp eax, 0xc0
jb 0x53be48
test al, 0x20
jne 0x53bd93
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edi, 2
jmp 0x53be46
test al, 0x10
jne 0x53bdbc
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 0x53be48
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
test al, 8
jne 0x53bdde
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x53be38
and edx, 0x3f
test al, 4
jne 0x53be13
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 0x53be48
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.005476c0
test eax, eax
je 0x53be89
add ebx, 1
add esi, edi
cmp ebx, dword [esp + 0x18]
jl 0x53bd50
jmp 0x53be89
cmp dword [eax + 0x88], 0
je 0x53be89
cmp esi, dword [eax + 0x84]
jbe 0x53be89
mov dword [eax + 0x64], edi
cmp dword [eax + 0x88], edi
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
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.00538740
test eax, eax
jne 0x54570a
lea esp, [esp]
mov eax, esi
sub esi, 1
cmp eax, dword [esp + 0x34]
je case.0x5455a0.14
cmp dword [esp + 0x20], 0
je 0x53befe
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53befe
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53bef0
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.00538740
test eax, eax
je 0x53bed0
jmp 0x54570a
cmp dword [esp + 0x20], ebp
je 0x53bfb5
mov eax, dword [esp + 0x14]
mov ecx, 1
add eax, ecx
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x53bf76
test al, 0x20
jne 0x53bf53
mov ecx, 2
jmp 0x53bf76
test al, 0x10
jne 0x53bf5e
mov ecx, 3
jmp 0x53bf76
test al, 8
jne 0x53bf69
mov ecx, 4
jmp 0x53bf76
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 0x543174
test ecx, ecx
jle 0x538840
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.0x5455a0.14
test ecx, ecx
jg 0x53bf93
jmp 0x538840
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
sub ecx, esi
cmp ecx, 1
jl 0x54318c
mov al, byte [esi]
add esi, 1
cmp byte [edx + 1], al
jne case.0x5455a0.14
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x538840
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x5431b7
cmp dword [esp + 0x20], ebp
je 0x53c263
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 0x53c0fc
movzx eax, byte [edx + 1]
and eax, 0x3f
test cl, 0x20
jne 0x53c035
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x53c0fc
test cl, 0x10
jne 0x53c058
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 0x53c0fc
test cl, 8
jne 0x53c087
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 0x53c0fc
test cl, 4
jne 0x53c0bf
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 0x53c0fc
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 0x53c125
mov eax, dword [edi + 0x38]
movzx edi, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edi + eax]
jne case.0x5455a0.14
add edx, 1
mov dword [esp + 0x14], edx
add esi, 1
jmp 0x538840
movzx ebx, byte [esi]
add esi, 1
cmp ebx, 0xc0
jb 0x53c211
movzx edx, byte [esi]
and edx, 0x3f
test bl, 0x20
jne 0x53c152
and ebx, 0x1f
shl ebx, 6
or ebx, edx
add esi, 1
jmp 0x53c211
test bl, 0x10
jne 0x53c173
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 0x53c211
test bl, 8
jne 0x53c1a0
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 0x53c211
test bl, 4
jne 0x53c1d6
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 0x53c211
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 0x538840
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x576898]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53c241
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x578a98]
mov edx, dword [eax*8 + 0x57521c]
add edx, ecx
cmp ebx, edx
je 0x538840
xor eax, eax
jmp 0x54570a
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.0x5455a0.14
add esi, 1
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x538840
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 0x53c36d
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 0x53c2ca
cmp al, 0x35
mov dword [esp + 0x34], ebp
jne 0x53c2d2
mov dword [esp + 0x34], 1
mov edi, dword [esp + 0x2c]
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x53c36d
xor edi, edi
add edx, 1
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x53c365
mov edi, 1
add edx, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x53c365
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 0x53c36d
cmp ebx, 0x2e
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x2e
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x574568]
mov ecx, eax
movsx eax, byte [eax + 0x574574]
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 0x53c36d
mov dword [esp + 0x18], closesocket
cmp dword [esp + 0x20], ebp
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax]
je 0x53c8ad
cmp ebx, 0xc0
mov ebp, 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x4c], eax
jb 0x53c45b
test bl, 0x20
jne 0x53c3b5
movzx edx, byte [eax + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov ebp, 2
jmp 0x53c457
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53c3d7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
mov ebp, 3
jmp 0x53c44d
and edx, 0x3f
test bl, 8
jne 0x53c3f7
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
mov ebp, 4
jmp 0x53c44d
test bl, 4
jne 0x53c420
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 0x53c44d
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 0x53c8b4
cmp dword [esp + 0x40], 0x2e
jb 0x53c4c0
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x576898]
mov ecx, ebx
shl eax, 7
and ecx, 0x8000007f
jns 0x53c495
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x578a98]
mov eax, dword [edx*8 + 0x57521c]
add eax, ebx
cmp eax, ebx
je 0x53c4c0
lea ecx, [esp + 0x154]
push ecx
push eax
call fcn.005472f0
mov dword [esp + 0x40], eax
jmp 0x53c4c8
mov dword [esp + 0x40], 0
cmp edi, 1
mov dword [esp + 0x30], 1
jl 0x53c65e
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 0x53c4f4
mov ecx, dword [esp + 0x50]
cmp esi, ecx
ja 0x53c596
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53c524
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c528
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c510
test eax, eax
je 0x53c585
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c577
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c585
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c577
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c585
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c577
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c585
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53c585
test edi, edi
mov eax, 1
jg 0x53c587
or eax, 0xffffffff
jmp 0x53c587
xor eax, eax
test eax, eax
mov eax, dword [esp + 0x40]
jne 0x53c596
add esi, ebp
jmp 0x53c645
test eax, eax
jle 0x5431c2
mov ecx, dword [esp + 0x24]
sub ecx, eax
cmp esi, ecx
ja 0x5431c2
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53c5d4
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c5d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c5c0
test eax, eax
je 0x53c635
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c627
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c635
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c627
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c635
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c627
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c635
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x53c635
test edi, edi
mov eax, 1
jg 0x53c637
or eax, 0xffffffff
jmp 0x53c637
xor eax, eax
test eax, eax
jne 0x5431c2
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 0x53c4f0
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
cmp edi, eax
je 0x538840
cmp dword [esp + 0x34], 0
jne 0x5431fb
cmp edi, eax
mov dword [esp + 0x34], esi
mov ebx, edi
jge 0x53c836
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x24], eax
sub eax, ebp
mov dword [esp + 0x50], eax
jmp 0x53c6a4
mov eax, dword [esp + 0x50]
cmp esi, eax
ja 0x53c74a
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53c6d4
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c6d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c6c0
test eax, eax
je 0x53c73d
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c727
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c739
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c727
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c739
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c727
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c739
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x53c739
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53c73f
or eax, 0xffffffff
jmp 0x53c73f
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53c74a
add esi, ebp
jmp 0x53c7f9
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x53c808
mov edx, dword [esp + 0x24]
sub edx, eax
cmp esi, edx
ja 0x53c808
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53c786
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c78a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c772
test eax, eax
je 0x53c7ef
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c7d9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c7eb
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c7d9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c7eb
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c7d9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c7eb
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53c7eb
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53c7f1
or eax, 0xffffffff
jmp 0x53c7f1
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53c808
add esi, dword [esp + 0x40]
add ebx, 1
cmp ebx, dword [esp + 0x18]
jl 0x53c6a0
jmp 0x53c836
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53c836
cmp esi, dword [ecx + 0x78]
jb 0x53c836
cmp esi, dword [ecx + 0x84]
jbe 0x53c836
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, dword [esp + 0x34]
jbe 0x541de3
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.00538740
test eax, eax
jne 0x54570a
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
jne 0x53c8a2
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53c894
cmp esi, dword [esp + 0x34]
ja 0x53c860
jmp 0x541de3
add eax, 1
mov dword [esp + 0x14], eax
cmp dword [esp + 0x40], 0x2e
jb 0x53c9d4
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 0x53c903
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
cmp ebx, eax
je 0x53c8f7
cmp ebp, eax
jne case.0x5455a0.14
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x2c]
jle 0x53c8e0
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x2c], edx
je 0x538840
cmp dword [esp + 0x34], 0
jne 0x543425
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
mov dword [esp + 0x34], esi
jge 0x53c972
mov edx, dword [edi + 0x78]
jmp 0x53c930
cmp esi, edx
jae 0x53c94d
movzx eax, byte [esi]
cmp ebx, eax
je 0x53c93f
cmp ebp, eax
jne 0x53c972
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x18]
jl 0x53c930
jmp 0x53c972
cmp dword [edi + 0x88], 0
je 0x53c972
cmp esi, dword [edi + 0x84]
jbe 0x53c972
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, dword [esp + 0x34]
je 0x541de3
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
jmp 0x53c9a0
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.00538740
sub esi, 1
test eax, eax
jne 0x54570a
cmp esi, dword [esp + 0x34]
jne 0x53c9a0
jmp 0x541de3
mov edx, dword [esp + 0x10]
mov eax, 1
cmp edi, eax
jl 0x53ca01
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x5456ca
movzx ebp, byte [esi]
add esi, 1
cmp ebx, ebp
jne case.0x5455a0.14
add eax, 1
cmp eax, edi
jle 0x53c9e4
cmp edi, dword [esp + 0x18]
je 0x538840
cmp dword [esp + 0x34], 0
jne 0x5434c0
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x18]
mov edi, esi
mov dword [esp + 0x34], edi
jge 0x53ca6e
mov ecx, dword [edx + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x53ca49
movzx ebp, byte [esi]
cmp ebx, ebp
jne 0x53ca6e
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53ca30
jmp 0x53ca6e
cmp dword [edx + 0x88], 0
je 0x53ca6e
cmp esi, dword [edx + 0x84]
jbe 0x53ca6e
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, edi
je 0x541de3
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.00538740
sub esi, 1
test eax, eax
jne 0x54570a
cmp esi, dword [esp + 0x34]
jne 0x53ca90
jmp 0x541de3
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x54355a
cmp dword [esp + 0x20], ebp
je 0x53cd2e
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 0x53cbd4
movzx ecx, byte [eax]
and ecx, 0x3f
test bl, 0x20
jne 0x53cb14
and ebx, 0x1f
shl ebx, 6
or ebx, ecx
add eax, 1
jmp 0x53cbd0
test bl, 0x10
jne 0x53cb35
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 0x53cbd0
test bl, 8
jne 0x53cb5f
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 0x53cbd0
test bl, 4
jne 0x53cb95
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 0x53cbd0
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 0x53ccbd
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x53cc01
and ecx, 0x1f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x53ccbd
test cl, 0x10
jne 0x53cc22
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 0x53ccbd
test cl, 8
jne 0x53cc4c
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 0x53ccbd
test cl, 4
jne 0x53cc82
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 0x53ccbd
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 0x53ccd3
cmp ebx, ecx
jne 0x538840
xor eax, eax
jmp 0x54570a
cmp ebx, 0x7f
jbe 0x53cd10
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x576898]
mov eax, ebx
shl edx, 7
and eax, 0x8000007f
jns 0x53ccfb
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x578a98]
mov eax, dword [edx*8 + 0x57521c]
add eax, ebx
jmp 0x53cd17
mov eax, dword [edx + 0x3c]
movzx eax, byte [eax + ebx]
cmp ebx, ecx
je case.0x5455a0.14
cmp eax, ecx
jne 0x538840
xor eax, eax
jmp 0x54570a
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 1]
movzx ecx, byte [esi]
add esi, 1
cmp eax, ecx
je case.0x5455a0.14
cmp ebx, 0x20
jne 0x53cd58
mov edx, dword [edx + 0x3c]
movzx eax, byte [edx + eax]
cmp eax, ecx
je case.0x5455a0.14
add dword [esp + 0x14], 2
jmp 0x538840
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 0x53ce25
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 0x53cd92
cmp al, 0x4f
mov dword [esp + 0x34], ebp
jne 0x53cd9a
mov dword [esp + 0x34], 1
add edx, 3
jmp 0x53ce25
xor edi, edi
mov dword [esp + 0x3c], 1
add edx, 1
jmp 0x53ce1d
mov edi, 1
mov dword [esp + 0x3c], edi
add edx, edi
jmp 0x53ce1d
mov eax, 1
xor edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
add edx, eax
jmp 0x53ce25
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 0x53ce25
cmp ebx, 0x48
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x48
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x574568]
mov ecx, eax
movsx eax, byte [eax + 0x574574]
and ecx, 1
add edx, 1
cmp eax, ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x53ce25
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 0x53cf23
cmp ebx, 0xc0
jb 0x53cf23
test bl, 0x20
jne 0x53ce6a
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 0x53cf1b
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53ce91
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add edx, 2
jmp 0x53cf17
test bl, 8
jne 0x53ceb4
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 0x53cf17
test bl, 4
jne 0x53cee3
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 0x53cf17
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 0x53d374
test ebp, ebp
je 0x53cf70
cmp ebx, 0x7f
jbe 0x53cf70
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x576898]
mov edx, ebx
shl ecx, 7
and edx, 0x8000007f
jns 0x53cf5b
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x578a98]
mov eax, dword [eax*8 + 0x57521c]
add eax, ebx
jmp 0x53cf7b
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x3c]
movzx eax, byte [edx + ebx]
test ebp, ebp
mov dword [esp + 0x38], eax
je 0x53d0ab
mov ecx, 1
cmp edi, ecx
jl 0x53d0e7
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
jmp 0x53cfa0
cmp esi, ebp
jae 0x5439f4
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53d08c
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53cfd3
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53d08c
test al, 0x10
jne 0x53cff3
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 0x53d08c
test al, 8
jne 0x53d01c
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 0x53d08c
test al, 4
jne 0x53d051
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 0x53d08c
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.0x5455a0.14
cmp dword [esp + 0x38], eax
je case.0x5455a0.14
add ecx, 1
cmp ecx, edi
jle 0x53cfa0
jmp 0x53d0e7
mov edx, 1
cmp edi, edx
jl 0x53d0e7
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x53d0c0
cmp esi, ebp
jae 0x543565
movzx eax, byte [esi]
cmp ebx, eax
je case.0x5455a0.14
cmp dword [esp + 0x38], eax
je case.0x5455a0.14
add edx, 1
add esi, 1
cmp edx, edi
jle 0x53d0c0
mov edx, dword [esp + 0x18]
cmp edi, edx
je 0x538840
cmp dword [esp + 0x34], 0
jne 0x543595
cmp dword [esp + 0x20], 0
mov dword [esp + 0x34], esi
je 0x53d2cb
cmp edi, edx
jge 0x53d25b
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x53d126
mov eax, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53d23b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d222
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d15e
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d222
test al, 0x10
jne 0x53d180
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 0x53d222
test al, 8
jne 0x53d1ae
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 0x53d222
test al, 4
jne 0x53d1e5
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 0x53d222
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 0x53d25b
cmp edx, eax
je 0x53d25b
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53d122
jmp 0x53d25b
cmp dword [eax + 0x88], 0
je 0x53d25b
cmp esi, dword [eax + 0x84]
jbe 0x53d25b
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, dword [esp + 0x34]
jbe 0x541de3
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.00538740
test eax, eax
jne 0x54570a
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x53d2c0
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53d2b2
cmp esi, dword [esp + 0x34]
ja 0x53d280
jmp 0x541de3
cmp edi, edx
mov ecx, edi
jge 0x53d31a
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
cmp esi, edi
jae 0x53d2f5
movzx eax, byte [esi]
cmp ebx, eax
je 0x53d31a
cmp dword [esp + 0x38], eax
je 0x53d31a
add ecx, 1
add esi, 1
cmp ecx, edx
jl 0x53d2d8
jmp 0x53d31a
cmp dword [ebp + 0x88], 0
je 0x53d31a
cmp esi, dword [ebp + 0x84]
jbe 0x53d31a
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, dword [esp + 0x34]
je 0x541de3
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.00538740
test eax, eax
jne 0x54570a
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53d340
jmp 0x541de3
test ebp, ebp
je 0x53d496
mov ecx, 1
cmp edi, ecx
jl 0x53d4c7
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 0x78]
cmp esi, ebp
jae 0x5437b6
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53d47f
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53d3c3
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53d47f
test al, 0x10
jne 0x53d3e3
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 0x53d47f
test al, 8
jne 0x53d40f
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 0x53d47f
test al, 4
jne 0x53d444
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 0x53d47f
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.0x5455a0.14
add ecx, 1
cmp ecx, edi
jle 0x53d390
jmp 0x53d4cb
mov eax, 1
cmp edi, eax
jl 0x53d4c7
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x5437b6
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x5455a0.14
add eax, 1
cmp eax, edi
jle 0x53d4a6
jmp 0x53d4cb
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
cmp edi, ecx
je 0x538840
cmp dword [esp + 0x34], 0
jne 0x5437e2
cmp dword [esp + 0x20], 0
mov edx, esi
mov dword [esp + 0x34], edx
je 0x53d6ab
cmp edi, ecx
jge 0x53d637
mov ebp, dword [ebx + 0x78]
jmp 0x53d504
mov ebx, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53d617
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d600
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d53c
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d600
test al, 0x10
jne 0x53d55e
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 0x53d600
test al, 8
jne 0x53d58c
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 0x53d600
test al, 4
jne 0x53d5c3
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 0x53d600
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 0x53d637
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53d500
jmp 0x53d637
cmp dword [ebx + 0x88], 0
je 0x53d637
cmp esi, dword [ebx + 0x84]
jbe 0x53d637
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, edx
jbe 0x541de3
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.00538740
test eax, eax
jne 0x54570a
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
jne 0x53d6a0
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
je 0x53d694
cmp esi, dword [esp + 0x34]
ja 0x53d660
jmp 0x541de3
cmp edi, ecx
mov eax, edi
jge 0x53d6fa
mov ecx, dword [ebx + 0x78]
jmp 0x53d6ba
mov ebx, dword [esp + 0x10]
cmp esi, ecx
jae 0x53d6d5
movzx edi, byte [esi]
cmp dword [esp + 0x30], edi
je 0x53d6fa
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53d6b6
jmp 0x53d6fa
cmp dword [ebx + 0x88], 0
je 0x53d6fa
cmp esi, dword [ebx + 0x84]
jbe 0x53d6fa
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, edx
je 0x541de3
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.00538740
test eax, eax
jne 0x54570a
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53d720
jmp 0x541de3
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 0x53d82b
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 0x53d82b
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], ebp
add edx, 1
mov ebx, ebp
jmp 0x53d823
mov eax, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], eax
add edx, eax
mov ebx, eax
jmp 0x53d823
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 0x53d82b
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 0x53d82b
lea eax, [ebx - 0x55]
movsx ebx, byte [eax + 0x574568]
mov ecx, eax
movsx eax, byte [eax + 0x574574]
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 0x53d82b
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 0x53d84c
cmp edi, 0xf
je 0x53d84c
mov ebp, dword [esp + 0x44]
or eax, 0xffffffff
jmp 0x53d86f
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 0x53fa77
test eax, eax
jl 0x53e753
cmp eax, 0xa
ja case.default.0x53ae8f
jmp dword [eax*4 + 0x5459dc]
test ebp, ebp
jne case.0x5455a0.14
lea ecx, [ebp + 1]
cmp ebx, ecx
jl 0x53fa77
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
mov ebp, dword [esp + 0x20]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x53d8f1
cmp eax, 0xc0
jb 0x53d8f1
test al, 0x20
jne 0x53d8d3
add esi, 1
jmp 0x53d8f1
test al, 0x10
jne 0x53d8dc
add esi, 2
jmp 0x53d8f1
test al, 8
jne 0x53d8e5
add esi, 3
jmp 0x53d8f1
test al, 4
jne 0x53d8ee
add esi, 4
jmp 0x53d8f1
add esi, 5
add ecx, 1
cmp ecx, ebx
jle 0x53d8b1
jmp 0x53da87
mov edi, 1
cmp ebx, edi
jl 0x53fa77
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x5439f4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53da1c
cmp ecx, 0xc0
jb 0x53da1c
test cl, 0x20
jne 0x53d952
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53da1c
test cl, 0x10
jne 0x53d979
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 0x53da1c
test cl, 8
jne 0x53d9ac
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 0x53da1c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53d9e8
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 0x53da1c
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x53da3e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx eax, byte [eax*8 + 0x575219]
cmp eax, 9
je 0x53da63
cmp eax, 5
je 0x53da63
cmp eax, 8
je 0x53da63
xor eax, eax
jmp 0x53da68
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455a0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53d915
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x18]
cmp ebx, ebp
je 0x538840
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x4c]
jne 0x543a9e
test eax, eax
mov dword [esp + 0x34], esi
jl 0x5409f9
cmp eax, 0xa
ja case.default.0x53ae8f
jmp dword [eax*4 + 0x545a08]
mov edi, 1
cmp ebx, edi
jl 0x53fa77
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x5439f4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53dbdd
cmp ecx, 0xc0
jb 0x53dbdd
test cl, 0x20
jne 0x53db13
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53dbdd
test cl, 0x10
jne 0x53db3a
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 0x53dbdd
test cl, 8
jne 0x53db6d
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 0x53dbdd
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53dba9
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 0x53dbdd
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 + 0x576898]
shl eax, 7
and ecx, 0x8000007f
jns 0x53dbff
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578a98]
movzx edx, byte [ecx*8 + 0x575219]
mov ecx, dword [esp + 0x48]
xor eax, eax
cmp dword [edx*4 + 0x574758], ecx
sete al
cmp eax, dword [esp + 0x44]
je case.0x5455a0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53dad6
jmp 0x53da7f
mov edi, 1
cmp ebx, edi
jl 0x53fa77
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x5439f4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53dd5c
cmp ecx, 0xc0
jb 0x53dd5c
test cl, 0x20
jne 0x53dc92
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53dd5c
test cl, 0x10
jne 0x53dcb9
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 0x53dd5c
test cl, 8
jne 0x53dcec
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 0x53dd5c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53dd28
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 0x53dd5c
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x53dd7e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455a0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53dc55
jmp 0x53da7f
mov edi, 1
cmp ebx, edi
jl 0x53fa77
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
lea ecx, [ecx]
cmp esi, ebp
jae 0x5439f4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53ded7
cmp ecx, 0xc0
jb 0x53ded7
test cl, 0x20
jne 0x53de0d
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53ded7
test cl, 0x10
jne 0x53de34
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 0x53ded7
test cl, 8
jne 0x53de67
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 0x53ded7
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53dea3
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 0x53ded7
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 + 0x576898]
shl eax, 7
and ecx, 0x8000007f
jns 0x53def9
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578a98]
movzx edx, byte [ecx*8 + 0x575218]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x5455a0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53ddd0
jmp 0x53da7f
mov edi, 1
cmp ebx, edi
jl 0x53fa77
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x5439f4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53e04f
cmp ecx, 0xc0
jb 0x53e04f
test cl, 0x20
jne 0x53df85
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e04f
test cl, 0x10
jne 0x53dfac
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 0x53e04f
test cl, 8
jne 0x53dfdf
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 0x53e04f
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e01b
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 0x53e04f
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 + 0x576898]
shl eax, 7
and ecx, 0x8000007f
jns 0x53e071
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578a98]
movzx edx, byte [ecx*8 + 0x575219]
mov eax, dword [edx*4 + 0x574758]
cmp eax, 1
je 0x53e098
cmp eax, 3
je 0x53e098
xor eax, eax
jmp 0x53e09d
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455a0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53df48
jmp 0x53da7f
mov edi, 1
cmp ebx, edi
jl 0x53fa77
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ebp, [edi + 5]
cmp esi, ebx
jae 0x5439f4
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53e1da
cmp ecx, 0xc0
jb 0x53e1da
test cl, 0x20
jne 0x53e110
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e1da
test cl, 0x10
jne 0x53e137
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 0x53e1da
test cl, 8
jne 0x53e16a
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 0x53e1da
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e1a6
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 0x53e1da
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 0x53e21d
je case.0x53e23d.8192
cmp ecx, 0x85
ja 0x53e209
je case.0x53e23d.8192
cmp ecx, 9
jb case.0x53e23d.8203
cmp ecx, 0xd
jbe case.0x53e23d.8192
cmp ecx, 0x20
jmp 0x53e252
cmp ecx, 0xa0
je case.0x53e23d.8192
cmp ecx, 0x1680
jmp 0x53e252
cmp ecx, 0x202f
ja 0x53e244
je case.0x53e23d.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x53e23d.8203
movzx eax, byte [eax + 0x545a3c]
jmp dword [eax*4 + 0x545a34]
cmp ecx, 0x205f
je case.0x53e23d.8192
cmp ecx, 0x3000
je case.0x53e23d.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x53e276
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
xor edx, edx
cmp dword [ecx*4 + 0x574758], ebp
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455a0.14
jmp 0x53e2ab
cmp dword [esp + 0x44], 0
jne case.0x5455a0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53e0d0
jmp 0x53da7f
mov edi, 1
cmp ebx, edi
jl 0x53fa77
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x5439f4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53e3dc
cmp ecx, 0xc0
jb 0x53e3dc
test cl, 0x20
jne 0x53e312
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e3dc
test cl, 0x10
jne 0x53e339
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 0x53e3dc
test cl, 8
jne 0x53e36c
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 0x53e3dc
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e3a8
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 0x53e3dc
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 + 0x576898]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53e400
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x578a98]
movzx edx, byte [eax*8 + 0x575219]
mov eax, dword [edx*4 + 0x574758]
cmp eax, 1
je 0x53e42c
cmp eax, 3
je 0x53e42c
cmp ecx, 0x5f
je 0x53e42c
xor eax, eax
jmp 0x53e431
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455a0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53e2d5
jmp 0x53da7f
mov edi, 1
cmp ebx, edi
jl 0x53fa77
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x5439f4
movzx eax, byte [esi]
add esi, 1
test ebx, ebx
je 0x53e567
cmp eax, 0xc0
jb 0x53e567
test al, 0x20
jne 0x53e4a0
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53e567
test al, 0x10
jne 0x53e4c6
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 0x53e567
test al, 8
jne 0x53e4f8
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 0x53e567
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53e533
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 0x53e567
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 + 0x5750d8]
cmp eax, ecx
lea edx, [edx*4 + 0x5750d8]
jb 0x53e58d
lea ecx, [ecx]
add edx, 4
cmp eax, ecx
je 0x53e59a
mov ecx, dword [edx]
cmp eax, ecx
jae 0x53e580
cmp dword [esp + 0x44], 0
je case.0x5455a0.14
jmp 0x53e5a5
cmp dword [esp + 0x44], 0
jne case.0x5455a0.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53e465
jmp 0x53da7f
mov ecx, 1
cmp ebx, ecx
jl 0x53fa77
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
jmp 0x53e5d0
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53e70e
cmp eax, 0xc0
jb 0x53e70e
test al, 0x20
jne 0x53e616
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 0x53e70a
test al, 0x10
jne 0x53e644
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 0x53e70a
test al, 8
jne 0x53e67e
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 0x53e70a
test al, 4
jne 0x53e6c1
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 0x53e70a
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 0x53e736
cmp eax, 0x40
je 0x53e736
cmp eax, 0x60
je 0x53e736
cmp eax, 0xa0
jb 0x53e72b
cmp eax, 0xd7ff
jbe 0x53e736
cmp eax, 0xe000
jae 0x53e736
xor eax, eax
jmp 0x53e73b
mov eax, 1
cmp eax, ebp
je case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53e5d0
jmp 0x53da87
cmp edi, 0x16
jne 0x53ea53
cmp ebx, 1
mov dword [esp + 0x30], 1
jl 0x53fa77
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov dword [esp + 0x24], edi
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53e885
cmp ecx, 0xc0
jb 0x53e885
test cl, 0x20
jne 0x53e7bb
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e885
test cl, 0x10
jne 0x53e7e2
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 0x53e885
test cl, 8
jne 0x53e815
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 0x53e885
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e851
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 0x53e885
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 + 0x576898]
shl eax, 7
and ecx, 0x8000007f
jns 0x53e8a7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, edi
movzx ecx, word [eax*2 + 0x578a98]
movzx ebp, byte [ecx*8 + 0x57521a]
jae 0x53ea0a
mov ebx, dword [esp + 0x20]
test ebx, ebx
movzx ecx, byte [esi]
mov edi, 1
je 0x53e9b8
cmp ecx, 0xc0
jb 0x53e9b8
test cl, 0x20
jne 0x53e8fd
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53e9b6
test cl, 0x10
jne 0x53e927
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 0x53e9b8
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53e94d
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53e9a8
and eax, 0x3f
test cl, 4
jne 0x53e983
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 0x53e9b8
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x53e9da
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x57521a]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x5746e4], edx
je 0x53ea0a
add esi, edi
cmp esi, dword [esp + 0x24]
mov ebp, ecx
jb 0x53e8c5
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53ea39
cmp esi, dword [esp + 0x24]
jb 0x53ea39
cmp esi, dword [eax + 0x84]
jbe 0x53ea39
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5456f7
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
jle 0x53e770
jmp 0x53da7f
cmp dword [esp + 0x20], 0
lea eax, [edi - 6]
je 0x53f682
cmp eax, 0xf
ja case.default.0x53ae8f
jmp dword [eax*4 + 0x545a68]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53da7f
mov ebx, dword [esp + 0x10]
mov ecx, ebp
cmp esi, dword [ebx + 0x78]
jae 0x543a24
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x53eab7
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00546f40
test eax, eax
jne case.0x5455a0.14
lea ecx, [eax + 1]
jmp 0x53eadb
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x53eadb
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x53eadb
cmp dword [edi], ecx
je case.0x5455a0.14
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.0x5455a0.14
cmp dword [ebx + 0x88], 0
je 0x53eb0d
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x53eb0d
cmp dword [ebx + 0x18], 0
jne 0x53eb0d
cmp dword [edi], 2
jne 0x53eb0d
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x53eb0d
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x5456f7
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x53eb26
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53eb26
add esi, ecx
cmp esi, eax
jb 0x53eb16
add ebp, ecx
cmp ebp, dword [esp + 0x2c]
jle 0x53ea86
mov edi, ebx
jmp 0x53da83
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, eax
jae 0x543a72
add esi, 1
cmp esi, eax
jae 0x53eb71
nop
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53eb71
add esi, 1
cmp esi, eax
jb 0x53eb60
add ecx, 1
cmp ecx, ebx
jle 0x53eb50
jmp 0x53da87
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x5455a0.14
add esi, ebx
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ecdf
test al, 0x20
jne 0x53ebeb
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 0x53ecdf
test al, 0x10
jne 0x53ec19
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 0x53ecdf
test al, 8
jne 0x53ec53
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 0x53ecdf
test al, 4
jne 0x53ec96
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 0x53ecdf
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 0x53ed04
je 0x53ecf6
cmp eax, 0xa
je 0x53ed2b
jbe case.0x5455a0.14
cmp eax, 0xc
jmp 0x53ed1b
cmp esi, edx
jae 0x53ed2b
cmp byte [esi], 0xa
jne 0x53ed2b
add esi, 1
jmp 0x53ed2b
cmp eax, 0x85
je 0x53ed21
cmp eax, 0x2027
jbe case.0x5455a0.14
cmp eax, 0x2029
ja case.0x5455a0.14
cmp dword [edi + 0x68], 0
jne case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53ebb0
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ee7f
test al, 0x20
jne 0x53ed8b
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 0x53ee7f
test al, 0x10
jne 0x53edb9
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 0x53ee7f
test al, 8
jne 0x53edf3
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 0x53ee7f
test al, 4
jne 0x53ee36
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 0x53ee7f
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 0x53eeae
je case.0x5455a0.14
cmp eax, 0xa0
ja 0x53eea7
je case.0x5455a0.14
cmp eax, 9
je case.0x5455a0.14
cmp eax, 0x20
jmp 0x53eed9
cmp eax, 0x1680
jmp 0x53eed9
cmp eax, 0x205f
ja 0x53eed4
je case.0x5455a0.14
cmp eax, 0x2000
jb 0x53eedf
cmp eax, 0x200a
jbe case.0x5455a0.14
cmp eax, 0x202f
jmp 0x53eed9
cmp eax, 0x3000
je case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53ed50
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f032
test al, 0x20
jne 0x53ef3e
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 0x53f032
test al, 0x10
jne 0x53ef6c
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 0x53f032
test al, 8
jne 0x53efa6
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 0x53f032
test al, 4
jne 0x53efe9
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 0x53f032
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 0x53f055
je 0x53f082
cmp eax, 0xa0
ja 0x53f04e
je 0x53f082
cmp eax, 9
je 0x53f082
cmp eax, 0x20
jmp 0x53f07c
cmp eax, 0x1680
jmp 0x53f07c
cmp eax, 0x205f
ja 0x53f077
je 0x53f082
cmp eax, 0x2000
jb case.0x5455a0.14
cmp eax, 0x200a
jbe 0x53f082
cmp eax, 0x202f
jmp 0x53f07c
cmp eax, 0x3000
jne case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53ef03
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f1d5
test al, 0x20
jne 0x53f0e1
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 0x53f1d5
test al, 0x10
jne 0x53f10f
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 0x53f1d5
test al, 8
jne 0x53f149
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 0x53f1d5
test al, 4
jne 0x53f18c
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 0x53f1d5
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 0x53f1ec
je case.0x5455a0.14
cmp eax, 0xa
jb 0x53f1fe
cmp eax, 0xd
jmp 0x53f1f8
cmp eax, 0x2028
jb 0x53f1fe
cmp eax, 0x2029
jbe case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f0a6
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f351
test al, 0x20
jne 0x53f25d
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 0x53f351
test al, 0x10
jne 0x53f28b
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 0x53f351
test al, 8
jne 0x53f2c5
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 0x53f351
test al, 4
jne 0x53f308
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 0x53f351
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 0x53f368
je 0x53f37e
cmp eax, 0xa
jb case.0x5455a0.14
cmp eax, 0xd
jmp 0x53f378
cmp eax, 0x2028
jb case.0x5455a0.14
cmp eax, 0x2029
ja case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f222
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f4d1
test al, 0x20
jne 0x53f3dd
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 0x53f4d1
test al, 0x10
jne 0x53f40b
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 0x53f4d1
test al, 8
jne 0x53f445
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 0x53f4d1
test al, 4
jne 0x53f488
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 0x53f4d1
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 0x53f4e5
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
jne case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f3a2
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x5455a0.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
je case.0x5455a0.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53f510
jmp 0x53da87
mov edx, 1
cmp ebx, edx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x543a72
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53f575
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
jne case.0x5455a0.14
add esi, 1
cmp esi, ecx
jae 0x53f58f
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53f58f
add esi, 1
cmp esi, ecx
jb 0x53f580
add edx, 1
cmp edx, ebx
jle 0x53f556
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x5455a0.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
je case.0x5455a0.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53f5b0
jmp 0x53da87
mov edx, 1
cmp ebx, edx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x543a72
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53f615
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
jne case.0x5455a0.14
add esi, 1
cmp esi, ecx
jae 0x53f62f
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53f62f
add esi, 1
cmp esi, ecx
jb 0x53f620
add edx, 1
cmp edx, ebx
jle 0x53f5f6
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x5455a0.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
je case.0x5455a0.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53f650
jmp 0x53da87
cmp eax, 0xf
ja case.default.0x53ae8f
jmp dword [eax*4 + 0x545aa8]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53da7f
mov ecx, dword [esp + 0x10]
lea ebx, [esi + 1]
mov edx, ebp
lea ebx, [ebx]
cmp esi, dword [ecx + 0x78]
jae 0x543a4b
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x53f6e6
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.00546f40
test eax, eax
jne case.0x5455a0.14
mov ecx, dword [esp + 0x10]
lea edx, [eax + 1]
jmp 0x53f70d
mov eax, dword [ecx + 0x78]
sub eax, dword [ecx + 0x1c]
lea edi, [ecx + 0x1c]
cmp esi, eax
ja 0x53f70d
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53f70d
cmp dword [edi], edx
je case.0x5455a0.14
mov al, byte [ebx]
cmp al, byte [ecx + 0x35]
je case.0x5455a0.14
cmp dword [ecx + 0x88], 0
je 0x53f73c
cmp ebx, dword [ecx + 0x78]
jb 0x53f73c
cmp dword [ecx + 0x18], 0
jne 0x53f73c
cmp dword [edi], 2
jne 0x53f73c
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53f73c
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jg 0x5456f7
add ebp, edx
add esi, edx
add ebx, edx
cmp ebp, dword [esp + 0x2c]
jle 0x53f6b0
jmp 0x53da7f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
sub ecx, ebx
cmp esi, ecx
ja 0x543a72
add esi, ebx
jmp 0x53da87
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
sub edx, ebx
cmp esi, edx
ja 0x543a72
add esi, ebx
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
sub eax, 0xa
add esi, 1
cmp eax, 0x7b
ja case.0x5455a0.14
movzx eax, byte [eax + 0x545af8]
jmp dword [eax*4 + 0x545ae8]
cmp esi, edx
jae case.0x53f7b6.10
cmp byte [esi], 0xa
jne case.0x53f7b6.10
add esi, 1
jmp case.0x53f7b6.10
cmp dword [edi + 0x68], 0
jne case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f795
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je case.0x5455a0.14
cmp eax, 0x20
je case.0x5455a0.14
cmp eax, 0xa0
je case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f7f5
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je 0x53f863
cmp eax, 0x20
je 0x53f863
cmp eax, 0xa0
jne case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f840
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl 0x53f8aa
cmp eax, 0xd
jle case.0x5455a0.14
cmp eax, 0x85
je case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f883
jmp 0x53da87
mov ecx, 1
cmp ebx, ecx
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea ebx, [ebx]
cmp esi, edx
jae 0x543a72
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl case.0x5455a0.14
cmp eax, 0xd
jle 0x53f8f7
cmp eax, 0x85
jne case.0x5455a0.14
add ecx, 1
cmp ecx, ebx
jle 0x53f8d0
jmp 0x53da87
mov eax, 1
cmp ebx, eax
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x543a72
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
jne case.0x5455a0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f917
jmp 0x53da87
mov eax, 1
cmp ebx, eax
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x543a72
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
je case.0x5455a0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f952
jmp 0x53da87
mov eax, 1
cmp ebx, eax
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, ecx
jae 0x543a72
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
jne case.0x5455a0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f990
jmp 0x53da87
mov eax, 1
cmp ebx, eax
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53f9d0
cmp esi, ecx
jae 0x543a72
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
je case.0x5455a0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f9d0
jmp 0x53da87
mov eax, 1
cmp ebx, eax
jl 0x53da7f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53fa10
cmp esi, ecx
jae 0x543a72
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
jne case.0x5455a0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53fa10
jmp 0x53da87
mov edi, dword [esp + 0x10]
mov eax, 1
cmp ebx, eax
jl 0x53da87
mov ecx, dword [edi + 0x78]
jmp 0x53fa50
cmp esi, ecx
jae 0x543a72
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
je case.0x5455a0.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53fa50
jmp 0x53da87
mov edi, dword [esp + 0x10]
jmp 0x53da87
cmp ebx, ebp
mov edx, ebx
jge 0x540978
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov ecx, 1
jae 0x54094b
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x53fadd
cmp eax, 0xc0
jb 0x53fadd
test al, 0x20
jne 0x53faba
mov ecx, 2
jmp 0x53fadd
test al, 0x10
jne 0x53fac5
mov ecx, 3
jmp 0x53fadd
test al, 8
jne 0x53fad0
mov ecx, 4
jmp 0x53fadd
and al, 4
neg al
sbb eax, eax
neg eax
add eax, 5
mov ecx, eax
cmp dword [esp + 0x44], 0
jne 0x540978
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53fa91
jmp 0x540978
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540978
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53fc78
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53fc0e
cmp ecx, 0xc0
jb 0x53fc0e
test cl, 0x20
jne 0x53fb53
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53fc0c
test cl, 0x10
jne 0x53fb7d
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 0x53fc0e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53fba3
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53fbfe
and eax, 0x3f
test cl, 4
jne 0x53fbd9
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 0x53fc0e
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fc30
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx eax, byte [eax*8 + 0x575219]
cmp eax, 9
je 0x53fc55
cmp eax, 5
je 0x53fc55
cmp eax, 8
je 0x53fc55
xor eax, eax
jmp 0x53fc5a
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x540978
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fb10
jmp 0x540978
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x540978
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x540978
mov ecx, edi
jmp 0x540967
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540978
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53fc78
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53fdad
cmp ecx, 0xc0
jb 0x53fdad
test cl, 0x20
jne 0x53fcf2
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53fdab
test cl, 0x10
jne 0x53fd1c
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 0x53fdad
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53fd42
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53fd9d
and eax, 0x3f
test cl, 4
jne 0x53fd78
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 0x53fdad
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fdcf
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x574758], eax
sete dl
cmp edx, dword [esp + 0x44]
je 0x540978
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fcb3
jmp 0x540978
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540978
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x53fe30
cmp esi, ebx
mov edi, 1
jae 0x53ff89
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53ff2e
cmp ecx, 0xc0
jb 0x53ff2e
test cl, 0x20
jne 0x53fe73
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53ff2c
test cl, 0x10
jne 0x53fe9d
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 0x53ff2e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53fec3
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53ff1e
and eax, 0x3f
test cl, 4
jne 0x53fef9
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 0x53ff2e
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x53ff50
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x540978
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fe30
jmp 0x540978
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x540978
mov ecx, eax
cmp esi, dword [ecx + 0x84]
jbe 0x540978
mov ecx, edi
jmp 0x540969
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540978
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53ff89
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x5400b7
cmp ecx, 0xc0
jb 0x5400b7
test cl, 0x20
jne 0x540005
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x5400b7
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x540031
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 0x5400b7
test cl, 8
jne 0x54004c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x5400a7
and eax, 0x3f
test cl, 4
jne 0x540082
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 0x5400b7
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x5400d9
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575218]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x540978
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53ffc4
jmp 0x540978
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540978
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
jmp 0x540130
cmp esi, ebx
mov edi, 1
jae 0x540293
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x540227
cmp ecx, 0xc0
jb 0x540227
test cl, 0x20
jne 0x540175
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x540227
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x5401a1
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 0x540227
test cl, 8
jne 0x5401bc
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x540217
and eax, 0x3f
test cl, 4
jne 0x5401f2
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 0x540227
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x540249
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
mov eax, dword [ecx*4 + 0x574758]
cmp eax, 1
je 0x540270
cmp eax, 3
je 0x540270
xor eax, eax
jmp 0x540275
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x540978
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x540130
jmp 0x540978
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x540978
mov eax, edx
cmp esi, dword [eax + 0x84]
jbe 0x540978
mov ecx, edi
jmp 0x540969
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540978
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edi, edi
cmp esi, ebx
mov edi, 1
jae 0x53fc78
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x5403ce
cmp ecx, 0xc0
jb 0x5403ce
test cl, 0x20
jne 0x540313
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x5403cc
test cl, 0x10
jne 0x54033d
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 0x5403ce
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x540363
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x5403be
and eax, 0x3f
test cl, 4
jne 0x540399
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 0x5403ce
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 0x540411
je case.0x540431.8192
cmp ecx, 0x85
ja 0x5403fd
je case.0x540431.8192
cmp ecx, 9
jb case.0x540431.8203
cmp ecx, 0xd
jbe case.0x540431.8192
cmp ecx, 0x20
jmp 0x54044a
cmp ecx, 0xa0
je case.0x540431.8192
cmp ecx, 0x1680
jmp 0x54044a
cmp ecx, 0x202f
ja 0x540438
je case.0x540431.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x540431.8203
movzx edx, byte [eax + 0x545b7c]
jmp dword [edx*4 + 0x545b74]
cmp ecx, 0x205f
je case.0x540431.8192
cmp ecx, 0x3000
je case.0x540431.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x576898]
shl eax, 7
and ecx, 0x8000007f
jns 0x54046e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578a98]
movzx edx, byte [ecx*8 + 0x575219]
xor eax, eax
cmp dword [edx*4 + 0x574758], 6
sete al
cmp eax, dword [esp + 0x44]
je 0x540978
jmp 0x5404a4
cmp dword [esp + 0x44], 0
jne 0x540978
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x5402d0
jmp 0x540978
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540978
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53fc78
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x5405ce
cmp ecx, 0xc0
jb 0x5405ce
test cl, 0x20
jne 0x540513
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x5405cc
test cl, 0x10
jne 0x54053d
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 0x5405ce
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x540563
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x5405be
and eax, 0x3f
test cl, 4
jne 0x540599
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 0x5405ce
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 + 0x576898]
mov eax, ecx
shl edx, 7
and eax, 0x8000007f
jns 0x5405f1
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x578a98]
movzx eax, byte [edx*8 + 0x575219]
mov eax, dword [eax*4 + 0x574758]
cmp eax, 1
je 0x54061d
cmp eax, 3
je 0x54061d
cmp ecx, 0x5f
je 0x54061d
xor eax, eax
jmp 0x540622
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x540978
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x5404d0
jmp 0x540978
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540978
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x540660
cmp esi, ebx
mov edx, 1
jae 0x5407bb
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x54076c
cmp eax, 0xc0
jb 0x54076c
test al, 0x20
jne 0x5406a1
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, 2
jmp 0x54076a
test al, 0x10
jne 0x5406ca
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 0x54076c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 8
jne 0x5406f7
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 0x540764
test al, 4
jne 0x540730
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 0x54076c
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 + 0x5750d8]
cmp eax, ecx
lea edi, [edi*4 + 0x5750d8]
jb 0x54078f
add edi, 4
cmp eax, ecx
je 0x54079c
mov ecx, dword [edi]
cmp eax, ecx
jae 0x540782
cmp dword [esp + 0x44], 0
je 0x540978
jmp 0x5407a7
cmp dword [esp + 0x44], 0
jne 0x540978
add ebp, 1
add esi, edx
cmp ebp, dword [esp + 0x18]
jl 0x540660
jmp 0x540978
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x540978
cmp esi, dword [eax + 0x84]
jbe 0x540978
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jmp 0x540972
cmp ebx, ebp
mov edx, ebx
jge 0x540978
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
jmp 0x540800
cmp esi, edi
mov ecx, 1
jae 0x54094b
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x540907
cmp eax, 0xc0
jb 0x540907
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540843
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x540907
test al, 0x10
jne 0x540865
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 0x540907
test al, 8
jne 0x540893
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 0x540907
test al, 4
jne 0x5408ca
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 0x540907
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 0x54092f
cmp eax, 0x40
je 0x54092f
cmp eax, 0x60
je 0x54092f
cmp eax, 0xa0
jb 0x540924
cmp eax, 0xd7ff
jbe 0x54092f
cmp eax, 0xe000
jae 0x54092f
xor eax, eax
jmp 0x540934
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x540978
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x540800
jmp 0x540978
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x540978
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x540978
mov ecx, 1
mov eax, edx
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, dword [esp + 0x34]
jbe 0x541de3
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.00538740
test eax, eax
jne 0x54570a
sub esi, 1
cmp dword [esp + 0x20], eax
je 0x5409ee
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x5409ee
lea esp, [esp]
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x5409e0
cmp esi, dword [esp + 0x34]
ja 0x5409a0
jmp 0x541de3
mov eax, dword [esp + 0x38]
cmp eax, 0x16
jne 0x540d88
cmp ebx, ebp
mov dword [esp + 0x30], ebx
jge 0x540d1d
lea edx, [eax - 0x15]
mov eax, dword [esp + 0x10]
lea esp, [esp]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x540cfd
movzx ecx, byte [esi]
add esi, edx
cmp dword [esp + 0x20], 0
je 0x540b31
cmp ecx, 0xc0
jb 0x540b31
test cl, 0x20
jne 0x540a61
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, edx
jmp 0x540b31
test cl, 0x10
jne 0x540a88
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 0x540b31
test cl, 8
jne 0x540abb
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 0x540b31
movzx eax, byte [esi]
and eax, 0x3f
test cl, 4
jne 0x540af7
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 0x540b31
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x540b53
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebx
movzx eax, word [edx*2 + 0x578a98]
movzx ebp, byte [eax*8 + 0x57521a]
jae 0x540cb3
lea ecx, [ecx]
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x540c63
cmp ecx, 0xc0
jb 0x540c63
test cl, 0x20
jne 0x540bab
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x540c61
test cl, 0x10
jne 0x540bd5
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 0x540c63
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x540bf8
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x540c53
and eax, 0x3f
test cl, 4
jne 0x540c2e
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 0x540c63
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x540c85
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x57521a]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x5746e4], edx
je 0x540cb3
add esi, edi
cmp esi, ebx
mov ebp, ecx
jb 0x540b70
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x540ce2
cmp esi, ebx
jb 0x540ce2
cmp esi, dword [eax + 0x84]
jbe 0x540ce2
mov edx, 1
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x5456f7
jmp 0x540ce7
mov edx, 1
mov ecx, dword [esp + 0x30]
add ecx, edx
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
jl 0x540a20
jmp 0x540d1d
cmp dword [eax + 0x88], 0
je 0x540d1d
cmp esi, dword [eax + 0x84]
jbe 0x540d1d
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, dword [esp + 0x34]
jbe 0x541de3
mov ebp, dword [esp + 0x20]
jmp 0x540d40
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.00538740
test eax, eax
jne 0x54570a
sub esi, 1
test ebp, ebp
jne 0x542383
movzx ecx, byte [esi]
jmp 0x54246c
add eax, 0xfffffffa
cmp dword [esp + 0x20], 0
je 0x541c33
cmp eax, 0xf
ja case.default.0x53ae8f
jmp dword [eax*4 + 0x545ba8]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x541b9e
mov ebx, dword [esp + 0x10]
mov ecx, 1
lea ecx, [ecx]
cmp esi, dword [ebx + 0x78]
jae 0x540e71
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x540df1
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00546f40
test eax, eax
jne 0x541b9e
lea ecx, [eax + 1]
jmp 0x540e15
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x540e15
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x540e15
cmp dword [edi], ecx
je 0x541b9e
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je 0x541b9e
cmp dword [ebx + 0x88], 0
je 0x540e47
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x540e47
cmp dword [ebx + 0x18], 0
jne 0x540e47
cmp dword [edi], 2
jne 0x540e47
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x540e47
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x5456f7
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x540e60
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x540e60
add esi, ecx
cmp esi, eax
jb 0x540e50
add ebp, ecx
cmp ebp, dword [esp + 0x18]
jl 0x540dc0
jmp 0x541b9e
cmp dword [ebx + 0x88], 0
je 0x541b9e
cmp esi, dword [ebx + 0x84]
jbe 0x541b9e
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x541b98
cmp ebp, 0x7fffffff
jge 0x540efd
cmp ebx, ebp
mov ecx, ebx
jge 0x541b9e
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x78]
mov edi, dword [esp + 0x18]
cmp esi, eax
jae 0x540edd
add esi, 1
cmp esi, eax
jae 0x540ed1
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x540ed1
add esi, 1
cmp esi, eax
jb 0x540ec0
add ecx, 1
cmp ecx, edi
jl 0x540eb5
jmp 0x541b9e
cmp dword [ebp + 0x88], 0
je 0x541b9e
mov eax, ebp
cmp esi, dword [eax + 0x84]
jbe 0x541b9e
jmp 0x541b8a
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x541b9e
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x84]
jbe 0x541b9e
mov eax, ecx
jmp 0x541b8a
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x540f56
cmp dword [edi + 0x88], 0
mov esi, dword [edi + 0x78]
je 0x541b9e
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x84]
jbe 0x541b9e
jmp 0x541b8a
add esi, eax
jmp 0x541b9e
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x541b9e
mov ebp, dword [esp + 0x10]
mov edx, dword [ebp + 0x78]
jmp 0x540f76
mov ebp, dword [esp + 0x10]
cmp esi, edx
mov ecx, 1
jae 0x5410d2
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x541072
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540fae
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x541072
test al, 0x10
jne 0x540fd0
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 0x541072
test al, 8
jne 0x540ffe
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 0x541072
test al, 4
jne 0x541035
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 0x541072
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 0x54108c
add esi, 1
cmp esi, edx
jae 0x541b9e
cmp byte [esi], 0xa
jne 0x5410c0
add esi, 1
jmp 0x5410c0
cmp eax, 0xa
je 0x5410be
cmp dword [ebp + 0x68], 0
jne 0x541b9e
cmp eax, 0xb
je 0x5410be
cmp eax, 0xc
je 0x5410be
cmp eax, 0x85
je 0x5410be
cmp eax, 0x2028
je 0x5410be
cmp eax, 0x2029
jne 0x541b9e
add esi, ecx
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x540f72
jmp 0x541b9e
cmp dword [ebp + 0x88], 0
jmp 0x540f07
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x541b9e
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x541100
cmp esi, ebp
mov ecx, 1
jae 0x541b71
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5411fc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541138
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5411fc
test al, 0x10
jne 0x54115a
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 0x5411fc
test al, 8
jne 0x541188
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 0x5411fc
test al, 4
jne 0x5411bf
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 0x5411fc
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 0x54121f
je 0x541248
cmp eax, 0xa0
ja 0x541218
je 0x541248
cmp eax, 9
je 0x541248
cmp eax, 0x20
jmp 0x541242
cmp eax, 0x1680
jmp 0x541242
cmp eax, 0x205f
ja 0x54123d
je 0x541248
cmp eax, 0x2000
jb 0x541244
cmp eax, 0x200a
jbe 0x541248
cmp eax, 0x202f
jmp 0x541242
cmp eax, 0x3000
je 0x541248
xor eax, eax
jmp 0x54124d
mov eax, 1
xor ebx, ebx
cmp edx, 0x12
sete bl
cmp eax, ebx
je 0x541b9e
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x541100
jmp 0x541b9e
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x541b9e
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x18]
jmp 0x541290
cmp esi, ebp
mov ecx, 1
jae 0x5413da
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54138c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5412c8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54138c
test al, 0x10
jne 0x5412ea
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 0x54138c
test al, 8
jne 0x541318
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 0x54138c
test al, 4
jne 0x54134f
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 0x54138c
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 0x5413c5
je 0x5413d3
cmp eax, 0xa
jb 0x54139f
cmp eax, 0xd
jbe 0x5413d3
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x38], 0x14
sete bl
cmp eax, ebx
je 0x541b9e
add edi, 1
add esi, ecx
cmp edi, edx
jl 0x541290
jmp 0x541b9e
cmp eax, 0x2028
jb 0x54139f
cmp eax, 0x2029
ja 0x54139f
mov eax, 1
jmp 0x5413a1
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x541b9e
cmp esi, dword [eax + 0x84]
jbe 0x541b9e
jmp 0x541b8f
cmp ebx, ebp
mov edx, ebx
jge 0x541b9e
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x5410d2
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54150c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541448
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54150c
test al, 0x10
jne 0x54146a
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 0x54150c
test al, 8
jne 0x541498
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 0x54150c
test al, 4
jne 0x5414cf
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 0x54150c
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 0x541524
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 4
jne 0x541b9e
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541410
jmp 0x541b9e
cmp ebx, ebp
mov edx, ebx
jge 0x541b9e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x541b71
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54164c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541588
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54164c
test al, 0x10
jne 0x5415aa
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 0x54164c
test al, 8
jne 0x5415d8
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 0x54164c
test al, 4
jne 0x54160f
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 0x54164c
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 0x541b9e
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 4
je 0x541b9e
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541550
jmp 0x541b9e
cmp ebx, ebp
mov edx, ebx
jge 0x541b9e
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x5410d2
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54178c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5416c8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54178c
test al, 0x10
jne 0x5416ea
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 0x54178c
test al, 8
jne 0x541718
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 0x54178c
test al, 4
jne 0x54174f
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 0x54178c
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 0x5417a4
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 1
jne 0x541b9e
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541690
jmp 0x541b9e
cmp ebx, ebp
mov edx, ebx
jge 0x541b9e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x541b71
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5418cc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541808
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5418cc
test al, 0x10
jne 0x54182a
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 0x5418cc
test al, 8
jne 0x541858
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 0x5418cc
test al, 4
jne 0x54188f
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 0x5418cc
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 0x541b9e
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 1
je 0x541b9e
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x5417d0
jmp 0x541b9e
cmp ebx, ebp
mov edx, ebx
jge 0x541b9e
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x5410d2
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x541a0c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541948
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x541a0c
test al, 0x10
jne 0x54196a
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 0x541a0c
test al, 8
jne 0x541998
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 0x541a0c
test al, 4
jne 0x5419cf
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 0x541a0c
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 0x541a24
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 0x10
jne 0x541b9e
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541910
jmp 0x541b9e
cmp ebx, ebp
mov edx, ebx
jge 0x541b9e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x541b71
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x541b4c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541a88
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x541b4c
test al, 0x10
jne 0x541aaa
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 0x541b4c
test al, 8
jne 0x541ad8
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 0x541b4c
test al, 4
jne 0x541b0f
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 0x541b4c
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 0x541b9e
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 0x10
je 0x541b9e
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541a50
jmp 0x541b9e
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x541b9e
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x541b9e
mov eax, edx
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, dword [esp + 0x34]
jbe 0x541de3
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x541bc0
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.00538740
test eax, eax
jne 0x54570a
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x541c0f
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x541c01
cmp ebx, 0x11
jne 0x541c2a
cmp esi, edi
jbe 0x541de3
cmp byte [esi], 0xa
jne 0x541c2a
cmp byte [esi - 1], 0xd
jne 0x541c2a
add esi, 0xffffffff
cmp esi, edi
ja 0x541bc0
jmp 0x541de3
cmp eax, 0xf
ja case.default.0x53ae8f
jmp dword [eax*4 + 0x545be8]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x541d6b
lea ebx, [esi + 1]
jmp 0x541c60
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x541d09
mov eax, dword [ecx + 0x18]
test eax, eax
lea edi, [ecx + 0x1c]
je 0x541c93
mov ecx, dword [ecx + 0x78]
push 0
push edi
push ecx
push eax
push esi
call fcn.00546f40
test eax, eax
jne 0x541d6b
mov ecx, dword [esp + 0x10]
jmp 0x541cbd
mov edx, dword [ecx + 0x78]
sub edx, dword [edi]
cmp esi, edx
ja 0x541cbd
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x541cbd
cmp dword [edi], 1
je 0x541d6b
mov cl, byte [ebx]
mov edx, dword [esp + 0x10]
cmp cl, byte [edx + 0x35]
je 0x541d6b
mov ecx, edx
cmp dword [ecx + 0x88], 0
je 0x541cf1
cmp ebx, dword [ecx + 0x78]
jb 0x541cf1
cmp dword [ecx + 0x18], 0
jne 0x541cf1
cmp dword [edi], 2
jne 0x541cf1
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x541cf1
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5456f7
add ebp, 1
add esi, 1
add ebx, 1
cmp ebp, dword [esp + 0x18]
jl 0x541c60
jmp 0x541d6b
cmp dword [ecx + 0x88], 0
je 0x541d6b
cmp esi, dword [ecx + 0x84]
jbe 0x541d6b
mov eax, dword [esp + 0x10]
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x541d65
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x541e00
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x541d6b
cmp esi, dword [edi + 0x84]
jbe 0x541d6b
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x5456f7
cmp dword [esp + 0x3c], 0
jne 0x538840
cmp esi, dword [esp + 0x34]
je 0x541de3
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x541d90
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.00538740
test eax, eax
jne 0x54570a
sub esi, 1
cmp ebx, 0x11
jne 0x541ddf
cmp esi, edi
jbe 0x541de1
cmp byte [esi], 0xa
jne 0x541ddf
cmp byte [esi - 1], 0xd
jne 0x541ddf
add esi, 0xffffffff
cmp esi, edi
jne 0x541d90
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 0x542608
xor edx, edx
jmp 0x538804
add esi, eax
jmp 0x541d6b
cmp ebx, ebp
mov ecx, ebx
jge 0x541d6b
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x541e6e
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x541e3d
add esi, ebx
cmp esi, edx
jae 0x541d6b
cmp byte [esi], 0xa
jne 0x541e63
jmp 0x541e61
cmp eax, 0xa
je 0x541e61
cmp dword [edi + 0x68], 0
jne 0x541d6b
cmp eax, 0xb
je 0x541e61
cmp eax, 0xc
je 0x541e61
cmp eax, 0x85
jne 0x541d6b
add esi, ebx
add ecx, ebx
cmp ecx, ebp
jl 0x541e20
jmp 0x541d6b
cmp dword [edi + 0x88], 0
je 0x541d6b
cmp esi, dword [edi + 0x84]
jbe 0x541d6b
mov dword [edi + 0x64], ebx
cmp dword [edi + 0x88], ebx
jmp 0x541d65
cmp ebx, ebp
mov ecx, ebx
jge 0x541d6b
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x541e6e
mov al, byte [esi]
cmp al, 9
je 0x541d6b
cmp al, 0x20
je 0x541d6b
cmp al, 0xa0
je 0x541d6b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541ea7
jmp 0x541d6b
cmp ebx, ebp
mov ecx, ebx
jge 0x541d6b
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x541e6e
mov al, byte [esi]
cmp al, 9
je 0x541efa
cmp al, 0x20
je 0x541efa
cmp al, 0xa0
jne 0x541d6b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541ee4
jmp 0x541d6b
cmp ebx, ebp
mov ecx, ebx
jge 0x541d6b
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x541e6e
mov al, byte [esi]
cmp al, 0xa
jb 0x541f3e
cmp al, 0xd
jbe 0x541d6b
cmp al, 0x85
je 0x541d6b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541f20
jmp 0x541d6b
cmp ebx, ebp
mov ecx, ebx
jge 0x541d6b
mov edx, dword [edi + 0x78]
mov ebx, 1
lea ecx, [ecx]
cmp esi, edx
jae 0x541e6e
mov al, byte [esi]
cmp al, 0xa
jb 0x541d6b
cmp al, 0xd
jbe 0x541f7e
cmp al, 0x85
jne 0x541d6b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541f60
jmp 0x541d6b
cmp ebx, ebp
mov eax, ebx
jge 0x541d6b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541d46
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
jne 0x541d6b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541f98
jmp 0x541d6b
cmp ebx, ebp
mov eax, ebx
jge 0x541d6b
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x541d46
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
je 0x541d6b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541fd0
jmp 0x541d6b
cmp ebx, ebp
mov eax, ebx
jge 0x541d6b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541d46
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
jne 0x541d6b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x542004
jmp 0x541d6b
cmp ebx, ebp
mov eax, ebx
jge 0x541d6b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541d46
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
je 0x541d6b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x542038
jmp 0x541d6b
cmp ebx, ebp
mov eax, ebx
jge 0x541d6b
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x541d46
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
jne 0x541d6b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x542070
jmp 0x541d6b
cmp ebx, ebp
mov eax, ebx
jge 0x541d6b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541d46
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
je 0x541d6b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x5420a4
jmp 0x541d6b
mov ecx, dword [esp + 0x17c]
add ecx, 1
cmp byte [edx], 0x7a
push ecx
push ebx
push edi
push eax
push ebp
jne 0x542102
mov edx, dword [esp + 0x28]
add edx, 3
push edx
push esi
call fcn.00538740
test eax, eax
jne 0x54570a
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
jmp 0x541de3
mov edx, dword [esp + 0x54]
push edx
push esi
call fcn.00538740
test eax, eax
jne 0x54570a
add dword [esp + 0x14], 3
jmp 0x541de3
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 0x54220b
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 0x542180
cmp dword [esp + 0x40], 0x88
jb 0x542194
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 + 0x574580]
push eax
add edx, ebx
push edx
push esi
call fcn.00538740
cmp eax, 0xfffffc1b
je 0x54297c
cmp eax, 0xfffffc20
jne 0x542949
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x54570a
cmp byte [ebx], 0x77
je 0x542200
cmp byte [ecx], 0x77
jne 0x54570a
xor eax, eax
jmp 0x542951
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
cmp eax, 0x88
jae 0x542246
cmp eax, 0x81
je 0x542246
cmp dword [edi + 0x6c], 0
jne 0x542250
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
cmp byte [eax + edx], 0x77
je 0x542250
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x574580]
add edx, ecx
mov dword [esp + 0x14], edx
jmp 0x541de3
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 + 0x574580]
add ecx, eax
push ecx
push esi
call fcn.00538740
cmp eax, 0xfffffc20
jne 0x5422bf
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 0x54570a
cmp byte [ecx], 0x77
je 0x5422c7
cmp byte [edx], 0x77
jne 0x54570a
jmp 0x5422c7
test eax, eax
jne 0x5429a7
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.0x5455a0.14
mov dword [edi + 0x90], ebx
mov edx, eax
jmp 0x54220b
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 0x542346
mov ecx, dword [esp + 0x28]
add ecx, 3
push ecx
push esi
call fcn.00538740
test eax, eax
jne 0x54570a
mov ecx, dword [esp + 0x40]
mov al, byte [ecx]
cmp al, 0x81
je 0x542b09
cmp al, 0x88
jae 0x542b43
mov dword [esp + 0x14], ecx
jmp 0x541de3
mov ecx, dword [esp + 0x54]
push ecx
push esi
call fcn.00538740
cmp eax, 0xfffffc1b
jne 0x542364
mov edx, dword [ebp + 0xb4]
cmp edx, dword [esp + 0x40]
jmp 0x542366
test eax, eax
jne 0x54570a
mov eax, dword [esp + 0x40]
cmp byte [eax], 0x81
je 0x542b66
add dword [esp + 0x14], 3
jmp 0x541de3
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x54239e
jmp 0x542390
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x542390
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x54246c
test cl, 0x20
jne 0x5423c4
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
jmp 0x54246a
test cl, 0x10
jne 0x5423e9
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 0x54246c
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x54240a
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x54245c
and eax, 0x3f
test cl, 4
jne 0x54243b
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 0x54246c
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x54248e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ebx, byte [eax*8 + 0x57521a]
cmp esi, dword [esp + 0x34]
jbe 0x541de3
mov ebp, dword [esp + 0x20]
test ebp, ebp
lea edi, [esi - 1]
jne 0x5424bd
movzx ecx, byte [edi]
jmp 0x54259c
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x5424d5
mov dl, byte [edi - 1]
sub edi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x5424c7
movzx ecx, byte [edi]
cmp ecx, 0xc0
jb 0x54259c
test cl, 0x20
jne 0x5424fd
movzx eax, byte [edi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x54259c
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x542524
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x54259c
test cl, 8
jne 0x54253a
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
jmp 0x54258c
and eax, 0x3f
test cl, 4
jne 0x54256b
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 0x54259c
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x5425be
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx eax, byte [eax*8 + 0x57521a]
mov edx, 1
mov ecx, ebx
shl edx, cl
test dword [eax*4 + 0x5746e4], edx
je 0x5425eb
mov esi, edi
mov ebx, eax
jmp 0x5424a0
cmp esi, dword [esp + 0x34]
ja 0x540d40
jmp 0x541de3
sub ecx, 1
je case.0x5455a0.14
jmp 0x54570a
add dword [eax], 1
mov eax, 0xfffffff8
jmp 0x54570a
mov eax, 0xffffffeb
jmp 0x54570a
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 + 0x574580]
movzx ecx, byte [eax + 1]
add edx, eax
add ecx, edx
push ecx
push esi
call fcn.00538740
cmp eax, 1
je 0x54267d
cmp eax, 0xfffffc19
jne 0x542691
cmp dword [ebx + 0xac], 0
jne 0x542691
mov dword [ebx + 0xac], edi
jmp 0x54570a
cmp eax, 0xfffffc1f
jne 0x54570a
mov edx, edi
mov edi, dword [ebx + 0x7c]
mov cl, byte [edx]
cmp cl, byte [edi]
jne 0x5426b8
test cl, cl
je 0x5426c6
mov cl, byte [edx + 1]
add edx, 1
add edi, 1
cmp cl, byte [edi]
je 0x5426a7
movzx edi, byte [edi]
movzx ecx, byte [edx]
sub ecx, edi
jne 0x54570a
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x54570a
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 + 0x574580]
add edx, eax
push edx
push esi
call fcn.00538740
test eax, eax
jne 0x54570a
mov eax, 0xfffffc1c
jmp 0x54570a
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 + 0x574580]
add ecx, eax
push ecx
push esi
call fcn.00538740
test eax, eax
jne 0x54570a
mov eax, 0xfffffc1d
jmp 0x54570a
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 + 0x574580]
movzx edx, byte [eax + 1]
add ecx, eax
add edx, ecx
push edx
push esi
call fcn.00538740
cmp eax, 1
je 0x5427c7
cmp eax, 0xfffffc19
jne 0x5427d6
cmp dword [ebx + 0xac], 0
jne 0x5427d6
mov dword [ebx + 0xac], edi
test eax, eax
jne 0x54570a
mov eax, 0xfffffc1d
jmp 0x54570a
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 + 0x574580]
add edx, eax
push edx
push esi
call fcn.00538740
test eax, eax
jne 0x54570a
mov dword [edi + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x54570a
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 + 0x574580]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.00538740
test eax, eax
jne 0x54570a
add ebx, 2
mov dword [edi + 0x7c], ebx
mov eax, 0xfffffc1f
jmp 0x54570a
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 + 0x574580]
push ecx
add eax, edi
push eax
push esi
call fcn.00538740
jmp 0x542934
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 + 0x574580]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.00538740
cmp eax, 1
je 0x542925
cmp eax, 0xfffffc19
jne 0x542934
cmp dword [ebx + 0xac], 0
jne 0x542934
mov dword [ebx + 0xac], ebp
test eax, eax
jne 0x54570a
mov dword [ebx + 0x7c], edi
mov eax, 0xfffffc20
jmp 0x54570a
test eax, eax
jne 0x54570a
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 0x542180
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 0x54570a
cmp eax, 0xfffffc1b
jne 0x54570a
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx]
cmp dl, 0x81
je 0x5429db
cmp dl, 0x77
jne 0x5429d1
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add ecx, edx
cmp byte [ecx], 0x77
je 0x5429c2
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
sub ecx, edx
cmp dword [edi + 0xb4], ecx
jne 0x54570a
xor eax, eax
jmp 0x54570a
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jne 0x542a28
cmp ebx, 0x9f
je 0x542a28
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa4], ebp
jne 0x542a2c
cmp dword [eax + 0x5c], ebp
jne 0x542a21
cmp dword [eax + 0x60], ebp
je 0x542a2c
mov edx, dword [eax + 0x94]
add edx, dword [eax + 0x74]
cmp ecx, edx
jne 0x542a2c
xor eax, eax
jmp 0x54570a
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 0x54570a
mov eax, 0xffffffe6
jmp 0x54570a
mov eax, 0xfffffffa
jmp 0x54570a
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0xdc]
cmp eax, edx
je 0x542a7f
push eax
call dword [0x597ef0]
mov eax, edi
jmp 0x54570a
mov eax, dword [esp + 0x54]
mov dword [ebp + 0xa4], eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x542aa6
push eax
call dword [0x597ef0]
xor eax, eax
jmp 0x54570a
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 0x54570a
mov edx, dword [esp + 0x28]
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x7c], edx
mov eax, 1
jmp 0x54570a
mov eax, dword [esp + 0x28]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x8c], ebx
mov eax, 0xfffffc1a
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
mov ecx, dword [esp + 0x40]
mov dword [ebp + 0xb4], ecx
mov eax, 0xfffffc1b
jmp 0x54570a
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.00538740
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
mov edx, dword [esp + 0x40]
mov dword [ebp + 0xb4], edx
mov eax, 0xfffffc1b
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
mov dword [ebp + 0xb4], edi
mov eax, 0xfffffc1b
jmp 0x54570a
xor ebp, ebp
cmp dword [edi + 0x88], ebp
je case.0x5455a0.14
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb case.0x5455a0.14
cmp dword [edi + 0x18], ebp
jne case.0x5455a0.14
cmp dword [edi + 0x1c], 2
jne case.0x5455a0.14
mov dl, byte [esi]
cmp dl, byte [edi + 0x34]
jne case.0x5455a0.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x5456f1
cmp dword [edi + 0x88], 0
je case.0x5455a0.14
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb case.0x5455a0.14
cmp dword [edi + 0x18], 0
jne case.0x5455a0.14
cmp dword [edi + 0x1c], 2
jne case.0x5455a0.14
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne case.0x5455a0.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x5456f1
cmp dword [ecx + 0x88], ebp
jmp 0x543570
cmp dword [eax + 0x88], ebp
jmp 0x5439ff
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x10]
jne 0x5433f0
mov esi, dword [eax + 0x78]
jmp 0x5433f0
cmp ebp, eax
mov dword [esp + 0x34], esi
jge 0x542d03
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.00538400
test eax, eax
jl 0x542ccc
add ebp, 1
add esi, eax
cmp ebp, dword [esp + 0x18]
jl 0x542ca6
jmp 0x542cfd
cmp eax, 0xfffffffe
jne 0x542cfd
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x542cfd
mov edx, dword [eax + 0x78]
cmp edx, dword [eax + 0x84]
jbe 0x542cfd
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5456f7
cmp esi, dword [esp + 0x34]
jb 0x542d45
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
jmp 0x542d10
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.00538740
test eax, eax
jne 0x54570a
sub esi, edi
cmp esi, dword [esp + 0x34]
jae 0x542d10
xor eax, eax
jmp 0x54570a
cmp eax, 0xfffffffe
jne 0x542d54
mov esi, dword [ebp + 0x78]
cmp dword [ebp + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [ebp + 0x78]
jb case.0x5455a0.14
cmp esi, dword [ebp + 0x84]
jbe case.0x5455a0.14
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jmp 0x5456f1
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov edi, edx
je 0x542f3a
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.00538740
test eax, eax
jne 0x54570a
jmp 0x542dd0
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x542ed9
test al, 0x20
jne 0x542e12
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x542ed9
test al, 0x10
jne 0x542e38
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 0x542ed9
test al, 8
jne 0x542e6a
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 0x542ed9
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x542ea5
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 0x542ed9
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 0x542ee7
cmp dword [esp + 0x40], 0x6e
jmp 0x542eff
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.0x5455a0.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.00538740
test eax, eax
je 0x542dd0
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
jmp 0x542f70
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
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.0x5455a0.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.00538740
test eax, eax
je 0x542f70
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543127
cmp eax, 0xc0
jb 0x543127
test al, 0x20
jne 0x543060
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x543127
test al, 0x10
jne 0x543086
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 0x543127
test al, 8
jne 0x5430b8
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 0x543127
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x5430f3
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 0x543127
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.005476c0
test eax, eax
je case.0x5455a0.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.00538740
test eax, eax
je 0x543013
jmp 0x54570a
cmp dword [eax + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [eax + 0x78]
jb case.0x5455a0.14
jmp 0x543198
cmp dword [eax + 0x88], ebp
je case.0x5455a0.14
cmp esi, dword [eax + 0x84]
jbe case.0x5455a0.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x5456f1
cmp dword [edi + 0x88], ebp
jmp 0x543a79
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [ecx + 0x78]
jb case.0x5455a0.14
cmp esi, dword [ecx + 0x84]
jbe case.0x5455a0.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x5456f1
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.00538740
test eax, eax
jne 0x54570a
jmp 0x543240
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x18]
jge case.0x5455a0.14
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edx, ebx
sub edx, ebp
cmp esi, edx
ja 0x5432fe
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x543284
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x54328c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x543270
test eax, eax
je 0x5432f1
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x5432db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5432ed
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x5432db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5432ed
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x5432db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5432ed
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x5432ed
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x5432f3
or eax, 0xffffffff
jmp 0x5432f3
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x5432fe
add esi, ebp
jmp 0x5433ad
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x5433ec
sub ebx, eax
cmp esi, ebx
ja 0x5433ec
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x543336
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x54333e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x543322
test eax, eax
je 0x5433a3
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x543395
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5433a3
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x543395
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5433a3
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x543395
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5433a3
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x5433a3
test edi, edi
mov eax, 1
jg 0x5433a5
or eax, 0xffffffff
jmp 0x5433a5
xor eax, eax
test eax, eax
jne 0x5433ec
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.00538740
test eax, eax
je 0x543240
jmp 0x54570a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [eax + 0x78]
jb case.0x5455a0.14
cmp esi, dword [eax + 0x84]
jbe case.0x5455a0.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x5456f1
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.00538740
test eax, eax
jne 0x54570a
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
cmp ebx, eax
je 0x543488
cmp dword [esp + 0x38], eax
jne case.0x5455a0.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.00538740
test eax, eax
je 0x543460
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
lea esp, [esp]
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx edx, byte [esi]
add esi, 1
cmp ebx, edx
jne case.0x5455a0.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.00538740
test eax, eax
je 0x543500
jmp 0x54570a
cmp dword [edx + 0x88], ebp
jmp 0x5456d1
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [ecx + 0x84]
jbe case.0x5455a0.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x5456f1
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x543727
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x5436de
test al, 0x20
jne 0x543617
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x5436de
test al, 0x10
jne 0x54363d
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 0x5436de
test al, 8
jne 0x54366f
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 0x5436de
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x5436aa
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 0x5436de
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.0x5455a0.14
cmp dword [esp + 0x38], eax
je case.0x5455a0.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.00538740
test eax, eax
je 0x5435d5
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
cmp dword [esp + 0x30], eax
je case.0x5455a0.14
cmp dword [esp + 0x38], eax
je case.0x5455a0.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.00538740
test eax, eax
je 0x543754
jmp 0x54570a
cmp dword [ebx + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [ebx + 0x84]
jbe case.0x5455a0.14
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jmp 0x5456f1
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x54396a
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x54392b
test al, 0x20
jne 0x543864
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x54392b
test al, 0x10
jne 0x54388a
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 0x54392b
test al, 8
jne 0x5438bc
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 0x54392b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x5438f7
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 0x54392b
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.0x5455a0.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.00538740
test eax, eax
je 0x543822
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
jmp 0x5439a0
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x5455a0.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.00538740
test eax, eax
je 0x5439a0
jmp 0x54570a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [eax + 0x84]
jbe case.0x5455a0.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x5456f1
cmp dword [ebx + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [ebx + 0x84]
jbe case.0x5455a0.14
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x5456f1
cmp dword [ecx + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [ecx + 0x84]
jbe case.0x5455a0.14
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jmp 0x5456f1
cmp dword [edi + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [edi + 0x84]
jbe case.0x5455a0.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x5456f1
test eax, eax
jl 0x544c83
cmp eax, 0xa
ja case.default.0x53ae8f
jmp dword [eax*4 + 0x545c28]
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.00538740
test eax, eax
jne 0x54570a
nop
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543b42
cmp eax, 0xc0
jb 0x543b42
test al, 0x20
jne 0x543b24
add esi, 1
jmp 0x543b42
test al, 0x10
jne 0x543b2d
add esi, 2
jmp 0x543b42
test al, 8
jne 0x543b36
add esi, 3
jmp 0x543b42
test al, 4
jne 0x543b3f
add esi, 4
jmp 0x543b42
add esi, 5
cmp dword [esp + 0x44], 0
jne case.0x5455a0.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.00538740
test eax, eax
je 0x543af0
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
jmp 0x543bc0
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543cd9
cmp ecx, 0xc0
jb 0x543cd9
test cl, 0x20
jne 0x543c0f
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x543cd9
test cl, 0x10
jne 0x543c36
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 0x543cd9
test cl, 8
jne 0x543c69
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 0x543cd9
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x543ca5
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 0x543cd9
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x543cfb
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx eax, byte [eax*8 + 0x575219]
cmp eax, 9
je 0x543d20
cmp eax, 5
je 0x543d20
cmp eax, 8
je 0x543d20
xor eax, eax
jmp 0x543d25
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455a0.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.00538740
test eax, eax
je 0x543bc0
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
lea ecx, [ecx]
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543eb9
cmp ecx, 0xc0
jb 0x543eb9
test cl, 0x20
jne 0x543def
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x543eb9
test cl, 0x10
jne 0x543e16
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 0x543eb9
test cl, 8
jne 0x543e49
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 0x543eb9
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x543e85
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 0x543eb9
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x543edb
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x574758], eax
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455a0.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.00538740
test eax, eax
je 0x543da0
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x54408e
cmp ecx, 0xc0
jb 0x54408e
test cl, 0x20
jne 0x543fc4
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x54408e
test cl, 0x10
jne 0x543feb
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 0x54408e
test cl, 8
jne 0x54401e
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 0x54408e
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x54405a
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 0x54408e
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x5440b0
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455a0.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.00538740
test eax, eax
je 0x543f75
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x54425c
cmp ecx, 0xc0
jb 0x54425c
test cl, 0x20
jne 0x544192
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x54425c
test cl, 0x10
jne 0x5441b9
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 0x54425c
test cl, 8
jne 0x5441ec
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 0x54425c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x544228
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 0x54425c
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 + 0x576898]
shl eax, 7
and ecx, 0x8000007f
jns 0x54427e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x578a98]
movzx edx, byte [ecx*8 + 0x575218]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x5455a0.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.00538740
test eax, eax
je 0x544143
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x54442a
cmp ecx, 0xc0
jb 0x54442a
test cl, 0x20
jne 0x544360
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x54442a
test cl, 0x10
jne 0x544387
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 0x54442a
test cl, 8
jne 0x5443ba
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 0x54442a
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x5443f6
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 0x54442a
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x54444c
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
mov eax, dword [ecx*4 + 0x574758]
cmp eax, 1
je 0x544473
cmp eax, 3
je 0x544473
xor eax, eax
jmp 0x544478
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455a0.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.00538740
test eax, eax
je 0x544311
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544609
cmp ecx, 0xc0
jb 0x544609
test cl, 0x20
jne 0x54453f
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x544609
test cl, 0x10
jne 0x544566
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 0x544609
test cl, 8
jne 0x544599
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 0x544609
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x5445d5
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 0x544609
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 0x544653
je case.0x544673.8192
cmp ecx, 0x85
ja 0x54463f
je case.0x544673.8192
cmp ecx, 9
jb case.0x544673.8203
cmp ecx, 0xd
jbe case.0x544673.8192
cmp ecx, 0x20
jmp 0x54468c
cmp ecx, 0xa0
je case.0x544673.8192
cmp ecx, 0x1680
jmp 0x54468c
cmp ecx, 0x202f
ja 0x54467a
je case.0x544673.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x544673.8203
movzx eax, byte [eax + 0x545c5c]
jmp dword [eax*4 + 0x545c54]
cmp ecx, 0x205f
je case.0x544673.8192
cmp ecx, 0x3000
je case.0x544673.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x5446b4
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x575219]
xor edx, edx
cmp dword [ecx*4 + 0x574758], 6
sete dl
cmp edx, dword [esp + 0x44]
je case.0x5455a0.14
jmp 0x5446ea
cmp dword [esp + 0x44], 0
jne case.0x5455a0.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.00538740
test eax, eax
je 0x5444f0
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
jmp 0x544760
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544879
cmp ecx, 0xc0
jb 0x544879
test cl, 0x20
jne 0x5447af
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x544879
test cl, 0x10
jne 0x5447d6
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 0x544879
test cl, 8
jne 0x544809
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 0x544879
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x544845
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 0x544879
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 + 0x576898]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x54489d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x578a98]
movzx edx, byte [eax*8 + 0x575219]
mov eax, dword [edx*4 + 0x574758]
cmp eax, 1
je 0x5448c9
cmp eax, 3
je 0x5448c9
cmp ecx, 0x5f
je 0x5448c9
xor eax, eax
jmp 0x5448ce
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455a0.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.00538740
test eax, eax
je 0x544760
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544a5a
cmp eax, 0xc0
jb 0x544a5a
test al, 0x20
jne 0x544993
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x544a5a
test al, 0x10
jne 0x5449b9
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 0x544a5a
test al, 8
jne 0x5449eb
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 0x544a5a
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x544a26
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 0x544a5a
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 + 0x5750d8]
cmp eax, ecx
lea edx, [edx*4 + 0x5750d8]
jb 0x544a7d
add edx, 4
cmp eax, ecx
je 0x544a8a
mov ecx, dword [edx]
cmp eax, ecx
jae 0x544a70
cmp dword [esp + 0x44], 0
je case.0x5455a0.14
jmp 0x544a95
cmp dword [esp + 0x44], 0
jne case.0x5455a0.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.00538740
test eax, eax
je 0x544946
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5439f8
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544c17
cmp eax, 0xc0
jb 0x544c17
test al, 0x20
jne 0x544b50
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x544c17
test al, 0x10
jne 0x544b76
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 0x544c17
test al, 8
jne 0x544ba8
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 0x544c17
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x544be3
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 0x544c17
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 0x544c3f
cmp eax, 0x40
je 0x544c3f
cmp eax, 0x60
je 0x544c3f
cmp eax, 0xa0
jb 0x544c34
cmp eax, 0xd7ff
jbe 0x544c3f
cmp eax, 0xe000
jae 0x544c3f
xor eax, eax
jmp 0x544c44
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5455a0.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.00538740
test eax, eax
je 0x544b03
jmp 0x54570a
cmp dword [esp + 0x38], 0x16
jne 0x544fd7
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.00538740
test eax, eax
jne 0x54570a
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
jge case.0x5455a0.14
mov ebp, dword [eax + 0x78]
cmp esi, ebp
jae 0x5439f8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544de2
cmp ecx, 0xc0
jb 0x544de2
test cl, 0x20
jne 0x544d18
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x544de2
test cl, 0x10
jne 0x544d3f
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 0x544de2
test cl, 8
jne 0x544d72
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 0x544de2
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x544dae
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 0x544de2
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 + 0x576898]
shl eax, 7
and ecx, 0x8000007f
jns 0x544e04
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, ebp
movzx ecx, word [eax*2 + 0x578a98]
movzx ebx, byte [ecx*8 + 0x57521a]
jae 0x544f69
mov edi, edi
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x544f19
cmp ecx, 0xc0
jb 0x544f19
test cl, 0x20
jne 0x544e5b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x544f17
test cl, 0x10
jne 0x544e85
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 0x544f19
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x544eab
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x544f09
and eax, 0x3f
test cl, 4
jne 0x544ee4
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 0x544f19
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 + 0x576898]
shl edx, 7
and ecx, 0x8000007f
jns 0x544f3b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x578a98]
movzx ecx, byte [eax*8 + 0x57521a]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x5746e4], edx
je 0x544f69
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x544e20
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x544f98
cmp esi, ebp
jb 0x544f98
cmp esi, dword [eax + 0x84]
jbe 0x544f98
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5456f7
jmp 0x544f9d
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.00538740
test eax, eax
je 0x544cc3
jmp 0x54570a
cmp dword [esp + 0x20], 0
mov ebp, dword [esp + 0x28]
je 0x545479
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.00538740
test eax, eax
jne 0x54570a
nop
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x30], ecx
jge case.0x5455a0.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x5456ca
cmp dword [esp + 0x38], 0xc
jne 0x54509a
mov eax, dword [edx + 0x18]
test eax, eax
je 0x545073
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.00546f40
test eax, eax
jne case.0x5455a0.14
mov edx, dword [esp + 0x10]
jmp 0x54509a
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x54509a
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x54509a
cmp dword [edx + 0x1c], 1
je case.0x5455a0.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x5455a0.14
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x545184
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x5450c5
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x545184
test al, 0x10
jne 0x5450e5
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 0x545184
test al, 8
jne 0x545111
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 0x545184
test al, 4
jne 0x545149
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 0x545184
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.0x53ae8f
jmp dword [ecx*4 + 0x545c88]
cmp dword [edx + 0x88], 0
je case.0x545194.13
cmp esi, dword [edx + 0x78]
jb case.0x545194.13
cmp dword [edx + 0x18], 0
jne case.0x545194.13
cmp dword [edx + 0x1c], 2
jne case.0x545194.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x545194.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x5456f7
jmp case.0x545194.13
cmp eax, 0xd
ja 0x54521f
je 0x545205
cmp eax, 0xa
je case.0x545194.13
jbe case.0x5455a0.14
cmp eax, 0xc
jmp 0x545236
cmp esi, dword [edx + 0x78]
jae case.0x545194.13
cmp byte [esi], 0xa
jne case.0x545194.13
add esi, 1
jmp case.0x545194.13
cmp eax, 0x85
je 0x54523c
cmp eax, 0x2027
jbe case.0x5455a0.14
cmp eax, 0x2029
ja case.0x5455a0.14
cmp dword [edx + 0x68], 0
jne case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x180e
ja 0x545280
je case.0x5455a0.14
cmp eax, 0xa0
ja 0x545276
je case.0x5455a0.14
cmp eax, 9
je case.0x5455a0.14
cmp eax, 0x20
jmp 0x545443
cmp eax, 0x1680
jmp 0x545443
cmp eax, 0x205f
ja 0x5452ad
je case.0x5455a0.14
cmp eax, 0x2000
jb case.0x545194.13
cmp eax, 0x200a
jbe case.0x5455a0.14
cmp eax, 0x202f
jmp 0x545443
cmp eax, 0x3000
jmp 0x545443
cmp eax, 0x180e
ja 0x5452f8
je case.0x545194.13
cmp eax, 0xa0
ja 0x5452e8
je case.0x545194.13
cmp eax, 9
je case.0x545194.13
cmp eax, 0x20
jne case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x1680
jne case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x205f
ja 0x54532b
je case.0x545194.13
cmp eax, 0x2000
jb case.0x5455a0.14
cmp eax, 0x200a
jbe case.0x545194.13
cmp eax, 0x202f
jne case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x3000
jne case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x85
ja 0x54535f
je case.0x5455a0.14
cmp eax, 0xa
jb case.0x545194.13
cmp eax, 0xd
jbe case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x2028
jb case.0x545194.13
cmp eax, 0x2029
jbe case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x85
ja 0x54539e
je case.0x545194.13
cmp eax, 0xa
jb case.0x5455a0.14
cmp eax, 0xd
ja case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x2028
jb case.0x5455a0.14
cmp eax, 0x2029
ja case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x100
jae case.0x545194.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jne case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x100
jae case.0x5455a0.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jmp 0x545443
cmp eax, 0x100
jae case.0x545194.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jne case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x100
jae case.0x5455a0.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jmp 0x545443
cmp eax, 0x100
jae case.0x545194.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
jne case.0x5455a0.14
jmp case.0x545194.13
cmp eax, 0x100
jae case.0x5455a0.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
je case.0x5455a0.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.00538740
test eax, eax
je 0x545020
jmp 0x54570a
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.00538740
test eax, eax
jne 0x54570a
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x5455a0.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x5456ca
cmp dword [esp + 0x38], 0xc
jne 0x545521
mov eax, dword [edx + 0x18]
test eax, eax
je 0x5454fa
push 0
mov ecx, edx
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edx
push ecx
push eax
push esi
call fcn.00546f40
test eax, eax
jne case.0x5455a0.14
mov edx, dword [esp + 0x10]
jmp 0x545521
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x545521
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x545521
cmp dword [edx + 0x1c], 1
je case.0x5455a0.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x5455a0.14
mov ecx, dword [esp + 0x38]
movzx eax, byte [esi]
add ecx, 0xfffffffa
add esi, 1
cmp ecx, 0xf
ja case.default.0x53ae8f
jmp dword [ecx*4 + 0x545cc8]
cmp dword [edx + 0x88], 0
je case.0x545537.13
cmp esi, dword [edx + 0x78]
jb case.0x545537.13
cmp dword [edx + 0x18], 0
jne case.0x545537.13
cmp dword [edx + 0x1c], 2
jne case.0x545537.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x545537.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x5456f7
jmp case.0x545537.13
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x5455a0.14
movzx eax, byte [eax + 0x545d18]
jmp dword [eax*4 + 0x545d08]
cmp esi, dword [edx + 0x78]
jae case.0x545537.13
cmp byte [esi], 0xa
jne case.0x545537.13
add esi, 1
jmp case.0x545537.13
cmp dword [edx + 0x68], 0
jne case.0x5455a0.14
jmp case.0x545537.13
cmp eax, 9
je case.0x5455a0.14
cmp eax, 0x20
je case.0x5455a0.14
cmp eax, 0xa0
jmp 0x545692
cmp eax, 9
je case.0x545537.13
cmp eax, 0x20
je case.0x545537.13
cmp eax, 0xa0
jne case.0x5455a0.14
jmp case.0x545537.13
cmp eax, 0xa
jb case.0x545537.13
cmp eax, 0xd
jbe case.0x5455a0.14
cmp eax, 0x85
jmp 0x545692
cmp eax, 0xa
jb case.0x5455a0.14
cmp eax, 0xd
jbe case.0x545537.13
cmp eax, 0x85
jne case.0x5455a0.14
jmp case.0x545537.13
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jne case.0x5455a0.14
jmp case.0x545537.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jmp 0x545692
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jne case.0x5455a0.14
jmp case.0x545537.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jmp 0x545692
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x5455a0.14
jmp case.0x545537.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
je case.0x5455a0.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.00538740
test eax, eax
je 0x5454b0
jmp 0x54570a
cmp dword [edx + 0x88], 0
je case.0x5455a0.14
cmp esi, dword [edx + 0x84]
jbe case.0x5455a0.14
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jle case.0x5455a0.14
mov eax, 0xfffffff4
jmp 0x54570a
mov eax, 0xfffffff2
jmp 0x54570a
mov eax, 0xfffffffb
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x150]
pop esi
xor ecx, esp
call fcn.005498cd
add esp, 0x150
ret 0x1c