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

Disassembly:
sub esp, 0x150
mov eax, dword [0x596fb8]
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 0x538547
cmp dword [esp + 0x170], edx
lea eax, [esp + 0x170]
jne 0x538523
push 1
push edx
push edx
push edx
push edx
push edx
push eax
call fcn.005384a0
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.0054962d
add esp, 0x150
ret 0x1c
sub eax, esi
cmp eax, edx
jle 0x54546d
neg eax
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.0054962d
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 0x542368
add ecx, 1
mov dword [eax], ecx
mov ecx, dword [esp + 0x17c]
cmp ecx, dword [eax + 8]
jae 0x542375
cmp dword [eax + 0x98], 2
jne 0x5385a0
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.0x5385ca.98
movzx ecx, byte [ebx + 0x5455d4]
jmp dword [ecx*4 + 0x545488]
mov edi, dword [esp + 0x10]
add dword [edi + 0x28], 1
mov eax, dword [edi + 0x28]
cmp eax, dword [edi + 0x2c]
ja 0x542596
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x573630]
movzx eax, byte [edx + 1]
add eax, edx
add eax, ecx
mov dword [esp + 0x14], eax
jmp 0x5385a0
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 0x538620
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.005384a0
cmp eax, 1
je 0x5386a2
cmp eax, 0xfffffc20
jne 0x538677
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 0x54546a
cmp byte [edx], 0x77
je 0x538683
cmp byte [ecx], 0x77
jne 0x54546a
jmp 0x538683
test eax, eax
jne 0x54546a
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 0x538620
jmp 0x5386ad
mov ebp, dword [edi + 0x7c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov al, byte [edx]
cmp al, 0x82
je 0x5386c0
cmp al, 0x77
jne case.0x545300.14
jmp 0x5386c0
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je 0x5386c0
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 0x5386f5
cmp esi, dword [esp + 0x3c]
jne 0x541e2b
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov dword [esp + 0x34], ebp
jmp 0x5391d4
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 0x538754
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 + 0x573630]
push edi
push ebx
push ebp
add ecx, eax
push ecx
push esi
call fcn.005384a0
cmp eax, 0xfffffc1a
jne 0x5392d8
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 0x539334
mov esi, dword [edi + 0x80]
jmp 0x538740
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 0x5388d4
mov ecx, dword [0x598370]
cmp ecx, ebp
mov ebp, dword [esp + 0x10]
je 0x5388c1
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 0x53888e
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.0x545300.14
jl 0x54546a
mov edx, dword [esp + 0x14]
movzx eax, byte [0x5736a6]
add edx, eax
sub dword [esp + 0x38], eax
mov dword [esp + 0x14], edx
jmp 0x5388d8
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.0x5388fa.146
movzx edx, byte [eax + 0x545690]
jmp dword [edx*4 + 0x545678]
cmp dword [ebp + 0xa4], 0
je case.0x5388fa.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 0x538a1a
mov edx, dword [ebp + 0xa4]
cmp eax, dword [edx + 4]
je 0x538a1a
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 0x538950
cmp byte [ecx - 3], 0x77
jne 0x5385a0
cmp dword [esp + 0x40], 0x8c
jne 0x541b43
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.005384a0
jmp 0x54546a
cmp dword [ebp + 0xa4], 0
je case.0x5388fa.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.0x5388fa.145
mov ecx, dword [ebp + 0xa4]
mov ecx, dword [ecx + 4]
jmp 0x5389d0
movzx edx, byte [eax + 1]
mov dh, byte [eax]
xor ebx, ebx
sub edi, 1
cmp edx, ecx
sete bl
test ebx, ebx
jne 0x538a1f
add eax, dword [ebp + 0x24]
test edi, edi
jg 0x5389d0
jmp case.0x5388fa.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 0x538932
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jl 0x538932
mov ebx, 1
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x573630]
jmp 0x538938
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.0x5388fa.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 0x538a72
mov edi, dword [ebp + 0xc]
cmp dword [edi + ecx*4], 0
jge 0x538a1a
add eax, dword [ebp + 0x24]
test edx, edx
jg 0x538a54
jmp case.0x5388fa.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.005384a0
cmp eax, 1
jne 0x538b17
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esp + 0x170]
jle 0x538ac9
mov dword [esp + 0x170], eax
cmp byte [edi], 0x92
mov ebx, 1
jne 0x538ad5
add edi, ebx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
jne 0x538af3
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add edi, ecx
cmp byte [edi], 0x77
je 0x538ae4
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x573630]
mov ecx, 3
sub ecx, eax
movzx eax, byte [edx + 0x573630]
add edi, ecx
mov dword [esp + 0x14], edi
jmp 0x538938
test eax, eax
je case.0x5388fa.145
cmp eax, 0xfffffc20
jne 0x54546a
jmp case.0x5388fa.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 0x538b73
or eax, 0x10000
add ebx, 3
mov dword [ecx + 0x90], eax
mov dword [esp + 0x14], ebx
jmp 0x5385a0
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 0x538bbf
mov ecx, dword [ecx + 0xc]
lea edi, [ecx + eax*4]
lea ecx, [ecx + edx*4]
cmp edi, ecx
jae 0x538bb5
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 0x5385a0
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x538bf2
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x538bf6
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.005384a0
cmp eax, 1
je 0x538c74
cmp eax, 0xfffffc19
je 0x538c74
cmp eax, 0xfffffc20
mov edx, dword [esp + 0x30]
mov dword [edi + 0xac], edx
jne 0x538c5b
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x54546a
cmp byte [ebx], 0x77
je 0x538c63
cmp byte [ecx], 0x77
jmp 0x538c5d
test eax, eax
jne 0x54546a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x77
je 0x538c00
jmp 0x538c7b
mov ecx, dword [edi + 0x7c]
mov dword [esp + 0x28], ecx
cmp byte [ebx], 0x78
je case.0x545300.14
cmp dword [esp + 0x38], 0
jne 0x542842
nop
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x77
je 0x538c90
mov eax, dword [edi + 0x8c]
add ebx, 3
mov dword [esp + 0x14], ebx
mov dword [esp + 0x170], eax
jmp 0x5385a0
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x538cdf
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x538ce3
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.005384a0
cmp eax, 0xfffffc20
mov ecx, dword [esp + 0x30]
mov dword [edi + 0xac], ecx
jg 0x538d40
jne 0x538d64
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 0x538d90
cmp byte [ecx], 0x77
je 0x538d4b
cmp byte [eax], 0x77
jne 0x538d85
jmp 0x538d4b
mov ecx, eax
sub ecx, 0
jne 0x54235a
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 0x538cf0
jmp 0x538da3
cmp eax, 0xfffffc19
je case.0x545300.14
cmp eax, 0xfffffc1b
jle 0x54546a
cmp eax, 0xfffffc1f
jg 0x54546a
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 0x538d90
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x38], 0
jne 0x542842
add dword [esp + 0x14], 3
jmp 0x5385a0
mov edi, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x20], ebp
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
je 0x538e04
cmp eax, ebp
jle 0x538e0f
mov ebp, dword [edi + 0x74]
sub esi, 1
sub eax, 1
cmp esi, ebp
jb case.0x545300.14
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x538dfe
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x538df0
test eax, eax
jg 0x538dd1
jmp 0x538e0f
sub esi, eax
cmp esi, dword [edi + 0x74]
jb case.0x545300.14
cmp esi, dword [edi + 0x84]
jae 0x538e1d
mov dword [edi + 0x84], esi
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov ebx, dword [0x598370]
cmp ebx, ebp
mov edi, dword [esp + 0x14]
je 0x538f12
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 0x538ee0
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.0x545300.14
jl 0x54546a
add edi, 6
mov dword [esp + 0x14], edi
jmp 0x5385a0
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 0x538f3e
mov ch, byte [ebx + 3]
mov cl, byte [ebx + 4]
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x538f5c
cmp ecx, dword [eax + 4]
jne 0x538f56
cmp esi, dword [eax + 0x14]
je 0x5427b5
mov eax, dword [eax]
test eax, eax
jne 0x538f48
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 0x538fa2
lea eax, [esp + 0xdc]
mov dword [esp + 0x5c], eax
jmp 0x538fbd
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x596f0c]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x5427bf
mov ecx, dword [esp + 0x60]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.005499b0
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 0x538fee
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 + 0x573630]
push edx
add ecx, ebx
push ecx
push esi
call fcn.005384a0
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.005499b0
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 0x5390a1
cmp edi, 0xfffffc19
je 0x5390a1
cmp edi, 0xfffffc1c
jl 0x539073
cmp edi, 0xfffffc20
jle 0x5427f0
test edi, edi
jne 0x5427c9
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 0x5427e6
mov eax, dword [esp + 0x38]
jmp 0x538fe0
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x5390b7
push eax
call dword [0x596f10]
mov edx, dword [ebp + 0x7c]
mov esi, dword [ebp + 0x80]
mov dword [esp + 0x28], edx
jmp 0x5385a0
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je case.0x5385ca.119
mov dword [esp + 0x14], edx
jmp 0x5385a0
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.005384a0
test eax, eax
jne 0x54546a
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
je 0x539120
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x5385a0
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 0x539140
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.005384a0
test eax, eax
jne 0x54546a
mov dword [esp + 0x14], edi
jmp 0x5385a0
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 0x539190
add eax, 3
mov dword [esp + 0x14], eax
jmp 0x5385a0
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 0x5391d4
cmp eax, 0x8b
jne 0x53870e
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 0x538712
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 0x539256
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 + 0x573630]
push ebx
add edx, eax
push edx
push esi
call fcn.005384a0
cmp eax, 0xfffffc1a
jne 0x539373
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 0x539420
mov esi, dword [edi + 0x80]
jmp 0x539230
cmp eax, 0xfffffc20
jne 0x539306
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 0x54546a
cmp byte [edx], 0x77
je 0x539312
cmp byte [ecx], 0x77
jne 0x54546a
jmp 0x539312
test eax, eax
jne 0x54546a
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 0x539355
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0x90], ecx
jmp 0x538740
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x539334
mov edx, eax
add edx, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x14], edx
jmp 0x5385a0
cmp dword [esp + 0x30], 0
jne 0x539367
cmp dword [esp + 0x34], 0
je case.0x545300.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x5385a0
cmp eax, 0xfffffc20
jne 0x5393a1
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 0x54546a
cmp byte [edx], 0x77
je 0x5393ad
cmp byte [ecx], 0x77
jne 0x54546a
jmp 0x5393ad
test eax, eax
jne 0x54546a
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 0x539230
cmp dword [esp + 0x30], 0
jne 0x539400
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 0x539412
cmp dword [esp + 0x30], 0
je case.0x545300.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x5385a0
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x539420
mov dword [esp + 0x14], eax
mov edx, eax
jmp 0x539400
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 0x53945d
cmp al, 0x81
je 0x53945d
mov dword [esp + 0x3c], 0
jmp 0x53946e
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 0x53947a
cmp al, 0x80
jbe 0x54280d
cmp al, 0x82
je 0x54280d
cmp al, 0x85
je 0x539496
cmp al, 0x8a
je 0x539496
cmp al, 0x86
je 0x539496
cmp al, 0x8b
jne 0x53953c
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 0x5394c3
mov eax, dword [ebp + 0xa4]
cmp dword [eax + 4], ecx
je 0x542835
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 0x5394ef
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x539547
cmp edx, ebx
jle 0x539510
mov eax, dword [ebp + 0xc]
lea edi, [eax + ebx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x539510
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 0x539547
lea ebx, [edx + 2]
mov dword [esp + 0x170], ebx
jmp 0x539547
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x54284c
cmp al, 0x78
je 0x539563
cmp esi, dword [esp + 0x3c]
jne 0x542055
mov edi, dword [esp + 0x40]
add ecx, 3
cmp byte [edi], 0x81
je 0x542903
mov dword [esp + 0x14], ecx
jmp 0x5385a0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x539594
cmp esi, dword [eax + 0x74]
je case.0x545300.14
jmp 0x539594
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x74]
jne case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x5395bb
cmp esi, dword [eax + 0x74]
je case.0x545300.14
mov edx, dword [eax + 0x74]
cmp esi, edx
je 0x539631
cmp esi, dword [eax + 0x78]
je case.0x545300.14
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x539600
cmp esi, edx
jbe case.0x545300.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.00546e60
test eax, eax
je case.0x545300.14
add dword [esp + 0x14], 1
jmp 0x5385a0
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x74]
add ecx, edx
cmp esi, ecx
jb case.0x545300.14
mov ecx, esi
sub ecx, edx
mov dl, byte [ecx]
cmp dl, byte [eax + 0x34]
jne case.0x545300.14
cmp dword [eax + 0x1c], 1
je 0x539631
mov cl, byte [ecx + 1]
cmp cl, byte [eax + 0x35]
jne case.0x545300.14
add dword [esp + 0x14], 1
jmp 0x5385a0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x94]
add ecx, dword [eax + 0x74]
cmp esi, ecx
jne case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
add edx, 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x5396df
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x5396a8
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.00546ca0
test eax, eax
je 0x542939
mov edx, dword [esp + 0x14]
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x542939
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x542939
cmp dword [edi + 0x1c], 1
je 0x53970c
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x54293b
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
cmp dword [edi + 0x48], ebp
jne case.0x545300.14
cmp dword [edi + 0x88], ebp
je 0x53970c
cmp esi, dword [edi + 0x84]
jbe 0x53970c
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x545457
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x48], ebp
jne case.0x545300.14
cmp dword [edi + 0x58], ebp
je 0x53973f
jmp 0x539730
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jb case.0x545300.14
jmp 0x5396e8
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x5397a6
mov eax, dword [edi + 0x18]
cmp eax, ebp
lea ebp, [edi + 0x1c]
je 0x53976d
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0x78]
push ecx
push ebp
push edx
push eax
push esi
call fcn.00546ca0
test eax, eax
je 0x542984
mov edx, dword [esp + 0x14]
jmp 0x539798
mov eax, dword [edi + 0x78]
sub eax, dword [ebp]
cmp esi, eax
ja 0x542984
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x542984
cmp dword [ebp], 1
je 0x539798
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x542984
mov ecx, dword [edi + 0x78]
sub ecx, dword [ebp]
cmp esi, ecx
jne 0x542984
cmp dword [edi + 0x88], 0
jmp 0x5396ee
cmp dword [esp + 0x20], ebp
je 0x539a90
mov ebp, dword [esp + 0x10]
cmp esi, dword [ebp + 0x74]
je 0x539917
mov dl, byte [esi - 1]
lea eax, [esi - 1]
and dl, 0xc0
cmp dl, 0x80
jne 0x5397e5
mov cl, byte [eax - 1]
sub eax, 1
and cl, 0xc0
cmp cl, 0x80
je 0x5397d7
cmp eax, dword [ebp + 0x84]
jae 0x5397f3
mov dword [ebp + 0x84], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x5398a3
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x20
jne 0x53981b
and ecx, 0x1f
shl ecx, 6
or ecx, edx
jmp 0x5398a3
test cl, 0x10
jne 0x53982f
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x539897
test cl, 8
jne 0x539846
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x539891
test cl, 4
jne 0x539869
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 0x539891
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 0x5398ff
cmp ecx, 0x5f
jne 0x5398b3
lea edi, [ecx - 0x5e]
jmp 0x539919
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x5398d5
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
mov eax, dword [ecx*4 + 0x573808]
cmp eax, 1
je 0x5398f8
cmp eax, 3
jne 0x539917
mov edi, 1
jmp 0x539919
cmp ecx, 0x100
jae 0x539917
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x539917
mov edi, 1
jmp 0x539919
xor edi, edi
cmp esi, dword [ebp + 0x78]
jb 0x53994a
cmp dword [ebp + 0x88], 0
je 0x539943
cmp esi, dword [ebp + 0x84]
jbe 0x539943
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x545457
xor eax, eax
jmp 0x539bc6
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x539a0e
test cl, 0x20
jne 0x539972
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x539a0e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x539999
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x539a0e
test cl, 8
jne 0x5399ac
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x5399fe
and eax, 0x3f
test cl, 4
jne 0x5399dd
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 0x539a0e
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 0x539a6d
cmp ecx, 0x5f
jne 0x539a21
lea eax, [ecx - 0x5e]
jmp 0x539bc6
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x539a43
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
mov eax, dword [ecx*4 + 0x573808]
cmp eax, 1
je 0x539a86
cmp eax, 3
je 0x539a86
xor eax, eax
jmp 0x539bc6
cmp ecx, 0x100
jae 0x539b4b
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x539b4b
mov eax, 1
jmp 0x539bc6
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x74]
jne 0x539aa0
xor edi, edi
jmp 0x539b21
cmp esi, dword [ecx + 0x84]
ja 0x539ab1
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
cmp dword [ecx + 0x54], 0
je 0x539b10
movzx edi, byte [esi - 1]
cmp edi, 0x5f
jne 0x539ac7
mov edi, 1
jmp 0x539b21
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575948]
shl edx, 7
and edi, 0x8000007f
jns 0x539ae9
dec edi
or edi, 0xffffff80
inc edi
add edx, edi
movzx eax, word [edx*2 + 0x577b48]
movzx edx, byte [eax*8 + 0x5742c9]
mov eax, dword [edx*4 + 0x573808]
cmp eax, 1
je 0x539ac0
cmp eax, 3
je 0x539ac0
xor edi, edi
jmp 0x539b21
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 0x539b52
cmp dword [ecx + 0x88], 0
je 0x539b4b
cmp esi, dword [ecx + 0x84]
jbe 0x539b4b
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545457
xor eax, eax
jmp 0x539bc6
cmp dword [ecx + 0x54], 0
je 0x539bb6
movzx ecx, byte [esi]
cmp ecx, 0x5f
jne 0x539b65
lea eax, [ecx - 0x5e]
jmp 0x539bc6
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x575948]
shl eax, 7
and ecx, 0x8000007f
jns 0x539b87
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577b48]
movzx edx, byte [ecx*8 + 0x5742c9]
mov eax, dword [edx*4 + 0x573808]
cmp eax, 1
je 0x539a86
cmp eax, 3
je 0x539a86
xor eax, eax
jmp 0x539bc6
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 0x539be3
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
jmp 0x539bec
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
test eax, eax
je 0x5385a0
xor eax, eax
jmp 0x54546a
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x539c2f
cmp esi, dword [edi + 0x78]
jae 0x539c56
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.00546ca0
test eax, eax
jne case.0x545300.14
mov edx, dword [esp + 0x14]
xor ebp, ebp
jmp 0x539c56
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x539c56
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x539c56
cmp dword [edi + 0x1c], 1
je case.0x545300.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x545300.14
cmp dword [edi + 0x88], ebp
je 0x539c92
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb 0x539c92
cmp dword [edi + 0x18], ebp
jne 0x539c92
cmp dword [edi + 0x1c], 2
jne 0x539c92
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x539c92
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x545457
jmp 0x539c92
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x542f17
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53970c
cmp esi, eax
jae 0x53970c
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53970c
add esi, 1
cmp esi, eax
jb 0x539cb2
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5429da
add esi, 1
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5429cf
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x539ded
cmp eax, 0xc0
jb 0x539ded
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x539d31
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x539ded
test al, 0x10
jne 0x539d51
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 0x539ded
test al, 8
jne 0x539d7d
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 0x539ded
test al, 4
jne 0x539db2
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 0x539ded
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 0x53970c
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
jne case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5429cf
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x539f0f
cmp eax, 0xc0
jb 0x539f0f
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x539e53
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x539f0f
test al, 0x10
jne 0x539e73
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 0x539f0f
test al, 8
jne 0x539e9f
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 0x539f0f
test al, 4
jne 0x539ed4
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 0x539f0f
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.0x545300.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
je case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5429cf
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a031
cmp eax, 0xc0
jb 0x53a031
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x539f75
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a031
test al, 0x10
jne 0x539f95
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 0x53a031
test al, 8
jne 0x539fc1
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 0x53a031
test al, 4
jne 0x539ff6
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 0x53a031
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 0x53970c
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
jne case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5429cf
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a153
cmp eax, 0xc0
jb 0x53a153
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a097
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a153
test al, 0x10
jne 0x53a0b7
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 0x53a153
test al, 8
jne 0x53a0e3
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 0x53a153
test al, 4
jne 0x53a118
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 0x53a153
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.0x545300.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
je case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5429cf
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a275
cmp eax, 0xc0
jb 0x53a275
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a1b9
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a275
test al, 0x10
jne 0x53a1d9
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 0x53a275
test al, 8
jne 0x53a205
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 0x53a275
test al, 4
jne 0x53a23a
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 0x53a275
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 0x53970c
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5429cf
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a397
cmp eax, 0xc0
jb 0x53a397
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a2db
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53a397
test al, 0x10
jne 0x53a2fb
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 0x53a397
test al, 8
jne 0x53a327
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 0x53a397
test al, 4
jne 0x53a35c
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 0x53a397
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.0x545300.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
je case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
cmp esi, edi
jae 0x5429cf
movzx eax, byte [esi]
mov ebp, 1
add esi, ebp
cmp dword [esp + 0x20], 0
je 0x53a4be
cmp eax, 0xc0
jb 0x53a4be
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53a403
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, ebp
jmp 0x53a4be
test al, 0x10
jne 0x53a423
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 0x53a4be
test al, 8
jne 0x53a44f
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 0x53a4be
test al, 4
jne 0x53a484
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 0x53a4be
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 0x53a516
je 0x53a4d5
cmp eax, 0xa
je 0x53a53d
jbe case.0x545300.14
cmp eax, 0xc
jmp 0x53a52d
cmp esi, edi
jb 0x53a504
cmp dword [ecx + 0x88], 0
je 0x53a53d
cmp esi, dword [ecx + 0x84]
jbe 0x53a53d
mov dword [ecx + 0x64], ebp
cmp dword [ecx + 0x88], ebp
jg 0x545457
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x5385a0
cmp byte [esi], 0xa
jne 0x53a53d
add esi, ebp
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x5385a0
cmp eax, 0x85
je 0x53a533
cmp eax, 0x2027
jbe case.0x545300.14
cmp eax, 0x2029
ja case.0x545300.14
cmp dword [ecx + 0x68], 0
jne case.0x545300.14
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5429da
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a646
cmp eax, 0xc0
jb 0x53a646
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53a58a
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53a646
test al, 0x10
jne 0x53a5aa
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 0x53a646
test al, 8
jne 0x53a5d6
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 0x53a646
test al, 4
jne 0x53a60b
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 0x53a646
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 0x53a675
je case.0x545300.14
cmp eax, 0xa0
ja 0x53a66e
je case.0x545300.14
cmp eax, 9
je case.0x545300.14
cmp eax, 0x20
jmp 0x53a6a4
cmp eax, 0x1680
jmp 0x53a6a4
cmp eax, 0x205f
ja 0x53a69f
je case.0x545300.14
cmp eax, 0x2000
jb 0x53970c
cmp eax, 0x200a
jbe case.0x545300.14
cmp eax, 0x202f
jmp 0x53a6a4
cmp eax, 0x3000
je case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5429da
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a7b4
cmp eax, 0xc0
jb 0x53a7b4
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53a6f8
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53a7b4
test al, 0x10
jne 0x53a718
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 0x53a7b4
test al, 8
jne 0x53a744
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 0x53a7b4
test al, 4
jne 0x53a779
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 0x53a7b4
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 0x53a7e3
je 0x53970c
cmp eax, 0xa0
ja 0x53a7dc
je 0x53970c
cmp eax, 9
je 0x53970c
cmp eax, 0x20
jmp 0x53a812
cmp eax, 0x1680
jmp 0x53a812
cmp eax, 0x205f
ja 0x53a80d
je 0x53970c
cmp eax, 0x2000
jb case.0x545300.14
cmp eax, 0x200a
jbe 0x53970c
cmp eax, 0x202f
jmp 0x53a812
cmp eax, 0x3000
jne case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5429da
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53a922
cmp eax, 0xc0
jb 0x53a922
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53a866
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53a922
test al, 0x10
jne 0x53a886
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 0x53a922
test al, 8
jne 0x53a8b2
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 0x53a922
test al, 4
jne 0x53a8e7
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 0x53a922
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 0x53a93d
je case.0x545300.14
cmp eax, 0xa
jb 0x53970c
cmp eax, 0xd
jmp 0x53a94d
cmp eax, 0x2028
jb 0x53970c
cmp eax, 0x2029
jbe case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5429da
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53aa5d
cmp eax, 0xc0
jb 0x53aa5d
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53a9a1
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53aa5d
test al, 0x10
jne 0x53a9c1
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 0x53aa5d
test al, 8
jne 0x53a9ed
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 0x53aa5d
test al, 4
jne 0x53aa22
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 0x53aa5d
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 0x53aa78
je 0x53970c
cmp eax, 0xa
jb case.0x545300.14
cmp eax, 0xd
jmp 0x53aa88
cmp eax, 0x2028
jb case.0x545300.14
cmp eax, 0x2029
ja case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x5429da
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53aba9
cmp ecx, 0xc0
jb 0x53aba9
test cl, 0x20
jne 0x53aadf
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53aba9
test cl, 0x10
jne 0x53ab06
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 0x53aba9
test cl, 8
jne 0x53ab39
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 0x53aba9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53ab75
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 0x53aba9
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 + 0x575948]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53abcd
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 + 0x577b48]
lea eax, [eax*8 + 0x5742c8]
ja case.default.0x53abef
jmp dword [edx*4 + 0x5456a4]
cmp ebx, 0xf
jmp 0x53ae01
mov al, byte [eax + 1]
cmp al, 9
je 0x53ac1e
cmp al, 5
je 0x53ac1e
cmp al, 8
je 0x53ac1e
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53ae01
xor ecx, ecx
cmp ebx, 0xf
sete cl
mov eax, 1
cmp eax, ecx
jmp 0x53ae01
movzx edx, byte [eax + 1]
movzx eax, byte [edi + 2]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x573808]
setne cl
xor edx, edx
cmp ebx, 0x10
sete dl
cmp ecx, edx
jmp 0x53ae01
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 0x53ae01
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 0x53ae01
movzx ecx, byte [eax + 1]
mov eax, dword [ecx*4 + 0x573808]
cmp eax, 1
je 0x53adf2
cmp eax, 3
je 0x53adf2
xor eax, eax
jmp 0x53adf7
cmp ecx, 0x180e
ja 0x53acef
je case.0x53abef.0
cmp ecx, 0x85
ja 0x53acdb
je case.0x53abef.0
cmp ecx, 9
jb case.0x53ad0f.8203
cmp ecx, 0xd
jbe case.0x53abef.0
cmp ecx, 0x20
jmp 0x53ad28
cmp ecx, 0xa0
je case.0x53abef.0
cmp ecx, 0x1680
jmp 0x53ad28
cmp ecx, 0x202f
ja 0x53ad16
je case.0x53abef.0
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x53ad0f.8203
movzx ecx, byte [ecx + 0x5456d8]
jmp dword [ecx*4 + 0x5456d0]
cmp ecx, 0x205f
je case.0x53abef.0
cmp ecx, 0x3000
je case.0x53abef.0
movzx edx, byte [eax + 1]
xor eax, eax
cmp dword [edx*4 + 0x573808], 6
sete al
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53ae01
movzx edx, byte [eax + 1]
mov eax, dword [edx*4 + 0x573808]
cmp eax, 1
je 0x53ac1e
cmp eax, 3
je 0x53ac1e
cmp ecx, 0x5f
je 0x53ac1e
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53ae01
movzx edx, byte [edi + 2]
mov eax, dword [edx*4 + 0x574188]
cmp ecx, eax
lea edx, [edx*4 + 0x574188]
jb 0x53adad
jmp 0x53ada0
add edx, 4
cmp ecx, eax
je 0x53adb2
mov eax, dword [edx]
cmp ecx, eax
jae 0x53ada0
cmp ebx, 0x10
jmp 0x53ae01
cmp ebx, 0x10
jne case.0x545300.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x5385a0
cmp ecx, 0x24
je 0x53adf2
cmp ecx, 0x40
je 0x53adf2
cmp ecx, 0x60
je 0x53adf2
cmp ecx, 0xa0
jb 0x53ade6
cmp ecx, 0xd7ff
jbe 0x53adf2
cmp ecx, 0xe000
jae 0x53adf2
xor eax, eax
jmp 0x53adf7
mov eax, 1
xor edx, edx
cmp ebx, 0xf
sete dl
cmp eax, edx
je case.0x545300.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x5385a0
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x5432c9
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53af24
cmp ecx, 0xc0
jb 0x53af24
test cl, 0x20
jne 0x53ae5a
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53af24
test cl, 0x10
jne 0x53ae81
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 0x53af24
test cl, 8
jne 0x53aeb4
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 0x53af24
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53aef0
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 0x53af24
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53af46
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebp
movzx eax, word [edx*2 + 0x577b48]
movzx ebx, byte [eax*8 + 0x5742ca]
jae 0x53b0a3
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x53b053
cmp ecx, 0xc0
jb 0x53b053
test cl, 0x20
jne 0x53af9b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53b051
test cl, 0x10
jne 0x53afc5
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 0x53b053
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53afe8
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53b043
and eax, 0x3f
test cl, 4
jne 0x53b01e
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 0x53b053
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53b075
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742ca]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x573794], edx
je 0x53b0a3
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x53af60
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53b0d9
cmp esi, ebp
jb 0x53b0d9
cmp esi, dword [eax + 0x84]
jbe 0x53b0d9
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545457
add dword [esp + 0x14], ecx
jmp 0x5385a0
mov ecx, 1
add dword [esp + 0x14], ecx
jmp 0x5385a0
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 0x53b1b8
movzx ebx, byte [eax + 1]
mov bh, byte [eax]
sub ecx, 1
add ebx, ebx
cmp ebx, dword [esp + 0x170]
jge 0x53b14e
mov edx, dword [ebp + 0xc]
cmp dword [edx + ebx*4], 0
jge 0x53b15a
add eax, dword [ebp + 0x24]
test ecx, ecx
jg 0x53b131
jmp 0x53b1b8
mov eax, edx
mov edi, dword [eax + ebx*4 + 4]
sub edi, dword [eax + ebx*4]
lea eax, [eax + ebx*4]
jmp 0x53b1b8
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 0x53b1ac
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + ebx*4]
test ecx, ecx
lea eax, [edx + ebx*4]
jl 0x53b1ac
mov edi, dword [eax + 4]
sub edi, ecx
jmp 0x53b1b8
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.0x53b1d4
movzx edx, byte [edx + 0x54570c]
jmp dword [edx*4 + 0x545704]
movsx ebp, byte [eax + 0x5735b6]
add dword [esp + 0x14], 1
add eax, 0xffffff9e
mov ecx, eax
movsx eax, byte [eax + 0x573624]
and ecx, 1
test eax, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x53b245
mov dword [esp + 0x18], closesocket
jmp 0x53b245
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 0x53b23e
mov dword [esp + 0x18], closesocket
add eax, 5
mov dword [esp + 0x14], eax
test edi, edi
je 0x5385a0
jge 0x53b257
test ebp, ebp
je 0x5385a0
cmp ebp, 1
mov dword [esp + 0x30], 1
jl 0x53b292
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.00538160
test eax, eax
jl 0x5429e5
add esi, eax
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, ebp
mov dword [esp + 0x30], eax
jle 0x53b264
mov eax, dword [esp + 0x18]
cmp ebp, eax
je 0x5385a0
cmp dword [esp + 0x34], 0
je 0x5429fa
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.005384a0
test eax, eax
jne 0x54546a
mov ebp, dword [esp + 0x10]
jmp 0x53b2f0
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x38]
push eax
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00538160
test eax, eax
jl 0x542aac
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.005384a0
test eax, eax
je 0x53b2f0
jmp 0x54546a
mov ecx, dword [esp + 0x38]
push ecx
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00538160
test eax, eax
jl 0x542aac
add esi, eax
jmp 0x5385a0
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.0x53b39b
movzx edx, byte [edx + 0x54571c]
jmp dword [edx*4 + 0x545714]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x53b3bc
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x53b3c4
mov dword [esp + 0x3c], 1
movsx edx, byte [eax + 0x573618]
movsx eax, byte [eax + 0x573624]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53b42c
mov dword [esp + 0x18], closesocket
jmp 0x53b42c
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 0x53b41a
mov dword [esp + 0x18], closesocket
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x53b42c
mov edx, 1
mov dword [esp + 0x18], edx
cmp dword [esp + 0x20], 0
mov edi, 1
je 0x53b57a
cmp edx, edi
jl 0x53b5b9
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x53b454
mov ebx, dword [esp + 0x40]
cmp esi, ebp
jae 0x5432c5
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53b543
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53b487
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53b543
test al, 0x10
jne 0x53b4a7
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 0x53b543
test al, 8
jne 0x53b4d3
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 0x53b543
test al, 4
jne 0x53b508
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 0x53b543
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 0x53b54f
cmp ebx, 0x6e
jmp 0x53b567
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.0x545300.14
add edi, 1
cmp edi, edx
jle 0x53b450
jmp 0x53b5b9
cmp edx, 1
jl 0x53b5b9
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x543754
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.0x545300.14
add edi, 1
cmp edi, edx
jle 0x53b586
mov eax, dword [esp + 0x18]
cmp edx, eax
mov ecx, dword [esp + 0x10]
je 0x5385a0
cmp dword [esp + 0x34], 0
jne 0x542ae9
cmp dword [esp + 0x20], 0
mov ebx, esi
mov dword [esp + 0x34], ebx
je 0x53b7c5
cmp edx, eax
mov ebp, edx
jge 0x53b735
mov edx, dword [ecx + 0x78]
cmp esi, edx
mov edi, 1
jae 0x53b713
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53b6d4
movzx ebx, byte [esi + 1]
and ebx, 0x3f
test al, 0x20
jne 0x53b628
and eax, 0x1f
shl eax, 6
mov edi, 2
jmp 0x53b6d2
test al, 0x10
jne 0x53b642
and eax, 0xf
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
mov edi, 3
jmp 0x53b6cc
test al, 8
jne 0x53b668
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 0x53b6cc
test al, 4
jne 0x53b697
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 0x53b6cc
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 0x53b6e4
cmp dword [esp + 0x40], 0x6e
je 0x53b735
jmp 0x53b702
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 0x53b735
mov ecx, dword [esp + 0x10]
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53b5f2
jmp 0x53b735
cmp dword [ecx + 0x88], 0
je 0x53b735
cmp esi, dword [ecx + 0x84]
jbe 0x53b735
mov eax, edi
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
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.005384a0
test eax, eax
jne 0x54546a
mov edx, esi
sub esi, 1
cmp edx, dword [esp + 0x34]
je case.0x545300.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53b79e
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53b790
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.005384a0
test eax, eax
je 0x53b775
jmp 0x54546a
cmp edx, eax
mov edi, edx
jge 0x53b82c
mov ebp, dword [ecx + 0x78]
jmp 0x53b7d8
mov ecx, dword [esp + 0x10]
cmp esi, ebp
jae 0x53b807
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 0x53b82c
add edi, 1
add esi, 1
cmp edi, dword [esp + 0x18]
jl 0x53b7d4
jmp 0x53b82c
cmp dword [ecx + 0x88], 0
je 0x53b82c
cmp esi, dword [ecx + 0x84]
jbe 0x53b82c
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, ebx
jb case.0x545300.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.005384a0
test eax, eax
jne 0x54546a
sub esi, 1
cmp esi, dword [esp + 0x34]
jae 0x53b850
xor eax, eax
jmp 0x54546a
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.0x53b8b8
movzx edx, byte [edx + 0x545730]
jmp dword [edx*4 + 0x545728]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x53b8d9
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x53b8e1
mov dword [esp + 0x3c], 1
movsx ebx, byte [eax + 0x573618]
movsx eax, byte [eax + 0x573624]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53b949
mov dword [esp + 0x18], closesocket
jmp 0x53b949
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 0x53b937
mov dword [esp + 0x18], closesocket
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x53b949
mov ebx, 1
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x20]
mov edi, 1
cmp ebx, edi
jl 0x53ba86
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x53ba67
cmp eax, 0xc0
jb 0x53ba67
test al, 0x20
jne 0x53b9a0
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53ba67
test al, 0x10
jne 0x53b9c6
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 0x53ba67
test al, 8
jne 0x53b9f8
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 0x53ba67
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53ba33
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 0x53ba67
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.00547420
test eax, eax
je case.0x545300.14
add edi, 1
cmp edi, ebx
jle 0x53b960
cmp ebx, dword [esp + 0x18]
je 0x5385a0
cmp dword [esp + 0x34], 0
jne 0x542d3c
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x34], esi
jge 0x53bbe9
lea esp, [esp]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
mov edi, 1
jae 0x53bbc9
test ebp, ebp
movzx eax, byte [esi]
je 0x53bba8
cmp eax, 0xc0
jb 0x53bba8
test al, 0x20
jne 0x53baf3
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edi, 2
jmp 0x53bba6
test al, 0x10
jne 0x53bb1c
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 0x53bba8
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
test al, 8
jne 0x53bb3e
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x53bb98
and edx, 0x3f
test al, 4
jne 0x53bb73
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 0x53bba8
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.00547420
test eax, eax
je 0x53bbe9
add ebx, 1
add esi, edi
cmp ebx, dword [esp + 0x18]
jl 0x53bab0
jmp 0x53bbe9
cmp dword [eax + 0x88], 0
je 0x53bbe9
cmp esi, dword [eax + 0x84]
jbe 0x53bbe9
mov dword [eax + 0x64], edi
cmp dword [eax + 0x88], edi
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
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.005384a0
test eax, eax
jne 0x54546a
lea esp, [esp]
mov eax, esi
sub esi, 1
cmp eax, dword [esp + 0x34]
je case.0x545300.14
cmp dword [esp + 0x20], 0
je 0x53bc5e
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53bc5e
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53bc50
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.005384a0
test eax, eax
je 0x53bc30
jmp 0x54546a
cmp dword [esp + 0x20], ebp
je 0x53bd15
mov eax, dword [esp + 0x14]
mov ecx, 1
add eax, ecx
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x53bcd6
test al, 0x20
jne 0x53bcb3
mov ecx, 2
jmp 0x53bcd6
test al, 0x10
jne 0x53bcbe
mov ecx, 3
jmp 0x53bcd6
test al, 8
jne 0x53bcc9
mov ecx, 4
jmp 0x53bcd6
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 0x542ed4
test ecx, ecx
jle 0x5385a0
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.0x545300.14
test ecx, ecx
jg 0x53bcf3
jmp 0x5385a0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
sub ecx, esi
cmp ecx, 1
jl 0x542eec
mov al, byte [esi]
add esi, 1
cmp byte [edx + 1], al
jne case.0x545300.14
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x5385a0
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x542f17
cmp dword [esp + 0x20], ebp
je 0x53bfc3
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 0x53be5c
movzx eax, byte [edx + 1]
and eax, 0x3f
test cl, 0x20
jne 0x53bd95
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x53be5c
test cl, 0x10
jne 0x53bdb8
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 0x53be5c
test cl, 8
jne 0x53bde7
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 0x53be5c
test cl, 4
jne 0x53be1f
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 0x53be5c
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 0x53be85
mov eax, dword [edi + 0x38]
movzx edi, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edi + eax]
jne case.0x545300.14
add edx, 1
mov dword [esp + 0x14], edx
add esi, 1
jmp 0x5385a0
movzx ebx, byte [esi]
add esi, 1
cmp ebx, 0xc0
jb 0x53bf71
movzx edx, byte [esi]
and edx, 0x3f
test bl, 0x20
jne 0x53beb2
and ebx, 0x1f
shl ebx, 6
or ebx, edx
add esi, 1
jmp 0x53bf71
test bl, 0x10
jne 0x53bed3
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 0x53bf71
test bl, 8
jne 0x53bf00
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 0x53bf71
test bl, 4
jne 0x53bf36
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 0x53bf71
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 0x5385a0
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x575948]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53bfa1
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x577b48]
mov edx, dword [eax*8 + 0x5742cc]
add edx, ecx
cmp ebx, edx
je 0x5385a0
xor eax, eax
jmp 0x54546a
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.0x545300.14
add esi, 1
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x5385a0
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 0x53c0cd
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 0x53c02a
cmp al, 0x35
mov dword [esp + 0x34], ebp
jne 0x53c032
mov dword [esp + 0x34], 1
mov edi, dword [esp + 0x2c]
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x53c0cd
xor edi, edi
add edx, 1
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x53c0c5
mov edi, 1
add edx, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x53c0c5
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 0x53c0cd
cmp ebx, 0x2e
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x2e
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x573618]
mov ecx, eax
movsx eax, byte [eax + 0x573624]
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 0x53c0cd
mov dword [esp + 0x18], closesocket
cmp dword [esp + 0x20], ebp
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax]
je 0x53c60d
cmp ebx, 0xc0
mov ebp, 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x4c], eax
jb 0x53c1bb
test bl, 0x20
jne 0x53c115
movzx edx, byte [eax + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov ebp, 2
jmp 0x53c1b7
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53c137
and ebx, 0xf
shl ebx, 6
or ecx, ebx
mov ebp, 3
jmp 0x53c1ad
and edx, 0x3f
test bl, 8
jne 0x53c157
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
mov ebp, 4
jmp 0x53c1ad
test bl, 4
jne 0x53c180
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 0x53c1ad
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 0x53c614
cmp dword [esp + 0x40], 0x2e
jb 0x53c220
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x575948]
mov ecx, ebx
shl eax, 7
and ecx, 0x8000007f
jns 0x53c1f5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x577b48]
mov eax, dword [edx*8 + 0x5742cc]
add eax, ebx
cmp eax, ebx
je 0x53c220
lea ecx, [esp + 0x154]
push ecx
push eax
call fcn.00547050
mov dword [esp + 0x40], eax
jmp 0x53c228
mov dword [esp + 0x40], 0
cmp edi, 1
mov dword [esp + 0x30], 1
jl 0x53c3be
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 0x53c254
mov ecx, dword [esp + 0x50]
cmp esi, ecx
ja 0x53c2f6
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53c284
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c288
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c270
test eax, eax
je 0x53c2e5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c2d7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c2e5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c2d7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c2e5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c2d7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c2e5
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53c2e5
test edi, edi
mov eax, 1
jg 0x53c2e7
or eax, 0xffffffff
jmp 0x53c2e7
xor eax, eax
test eax, eax
mov eax, dword [esp + 0x40]
jne 0x53c2f6
add esi, ebp
jmp 0x53c3a5
test eax, eax
jle 0x542f22
mov ecx, dword [esp + 0x24]
sub ecx, eax
cmp esi, ecx
ja 0x542f22
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53c334
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c338
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c320
test eax, eax
je 0x53c395
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c387
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c395
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c387
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c395
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53c387
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c395
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x53c395
test edi, edi
mov eax, 1
jg 0x53c397
or eax, 0xffffffff
jmp 0x53c397
xor eax, eax
test eax, eax
jne 0x542f22
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 0x53c250
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
cmp edi, eax
je 0x5385a0
cmp dword [esp + 0x34], 0
jne 0x542f5b
cmp edi, eax
mov dword [esp + 0x34], esi
mov ebx, edi
jge 0x53c596
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x24], eax
sub eax, ebp
mov dword [esp + 0x50], eax
jmp 0x53c404
mov eax, dword [esp + 0x50]
cmp esi, eax
ja 0x53c4aa
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53c434
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c438
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c420
test eax, eax
je 0x53c49d
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c487
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c499
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c487
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c499
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c487
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c499
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x53c499
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53c49f
or eax, 0xffffffff
jmp 0x53c49f
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53c4aa
add esi, ebp
jmp 0x53c559
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x53c568
mov edx, dword [esp + 0x24]
sub edx, eax
cmp esi, edx
ja 0x53c568
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53c4e6
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53c4ea
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53c4d2
test eax, eax
je 0x53c54f
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c539
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c54b
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c539
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c54b
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53c539
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53c54b
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53c54b
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53c551
or eax, 0xffffffff
jmp 0x53c551
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53c568
add esi, dword [esp + 0x40]
add ebx, 1
cmp ebx, dword [esp + 0x18]
jl 0x53c400
jmp 0x53c596
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53c596
cmp esi, dword [ecx + 0x78]
jb 0x53c596
cmp esi, dword [ecx + 0x84]
jbe 0x53c596
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, dword [esp + 0x34]
jbe 0x541b43
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.005384a0
test eax, eax
jne 0x54546a
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
jne 0x53c602
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53c5f4
cmp esi, dword [esp + 0x34]
ja 0x53c5c0
jmp 0x541b43
add eax, 1
mov dword [esp + 0x14], eax
cmp dword [esp + 0x40], 0x2e
jb 0x53c734
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 0x53c663
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
cmp ebx, eax
je 0x53c657
cmp ebp, eax
jne case.0x545300.14
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x2c]
jle 0x53c640
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x2c], edx
je 0x5385a0
cmp dword [esp + 0x34], 0
jne 0x543185
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
mov dword [esp + 0x34], esi
jge 0x53c6d2
mov edx, dword [edi + 0x78]
jmp 0x53c690
cmp esi, edx
jae 0x53c6ad
movzx eax, byte [esi]
cmp ebx, eax
je 0x53c69f
cmp ebp, eax
jne 0x53c6d2
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x18]
jl 0x53c690
jmp 0x53c6d2
cmp dword [edi + 0x88], 0
je 0x53c6d2
cmp esi, dword [edi + 0x84]
jbe 0x53c6d2
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, dword [esp + 0x34]
je 0x541b43
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
jmp 0x53c700
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.005384a0
sub esi, 1
test eax, eax
jne 0x54546a
cmp esi, dword [esp + 0x34]
jne 0x53c700
jmp 0x541b43
mov edx, dword [esp + 0x10]
mov eax, 1
cmp edi, eax
jl 0x53c761
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x54542a
movzx ebp, byte [esi]
add esi, 1
cmp ebx, ebp
jne case.0x545300.14
add eax, 1
cmp eax, edi
jle 0x53c744
cmp edi, dword [esp + 0x18]
je 0x5385a0
cmp dword [esp + 0x34], 0
jne 0x543220
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x18]
mov edi, esi
mov dword [esp + 0x34], edi
jge 0x53c7ce
mov ecx, dword [edx + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x53c7a9
movzx ebp, byte [esi]
cmp ebx, ebp
jne 0x53c7ce
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53c790
jmp 0x53c7ce
cmp dword [edx + 0x88], 0
je 0x53c7ce
cmp esi, dword [edx + 0x84]
jbe 0x53c7ce
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, edi
je 0x541b43
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.005384a0
sub esi, 1
test eax, eax
jne 0x54546a
cmp esi, dword [esp + 0x34]
jne 0x53c7f0
jmp 0x541b43
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x5432ba
cmp dword [esp + 0x20], ebp
je 0x53ca8e
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 0x53c934
movzx ecx, byte [eax]
and ecx, 0x3f
test bl, 0x20
jne 0x53c874
and ebx, 0x1f
shl ebx, 6
or ebx, ecx
add eax, 1
jmp 0x53c930
test bl, 0x10
jne 0x53c895
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 0x53c930
test bl, 8
jne 0x53c8bf
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 0x53c930
test bl, 4
jne 0x53c8f5
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 0x53c930
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 0x53ca1d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x53c961
and ecx, 0x1f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x53ca1d
test cl, 0x10
jne 0x53c982
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 0x53ca1d
test cl, 8
jne 0x53c9ac
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 0x53ca1d
test cl, 4
jne 0x53c9e2
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 0x53ca1d
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 0x53ca33
cmp ebx, ecx
jne 0x5385a0
xor eax, eax
jmp 0x54546a
cmp ebx, 0x7f
jbe 0x53ca70
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575948]
mov eax, ebx
shl edx, 7
and eax, 0x8000007f
jns 0x53ca5b
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x577b48]
mov eax, dword [edx*8 + 0x5742cc]
add eax, ebx
jmp 0x53ca77
mov eax, dword [edx + 0x3c]
movzx eax, byte [eax + ebx]
cmp ebx, ecx
je case.0x545300.14
cmp eax, ecx
jne 0x5385a0
xor eax, eax
jmp 0x54546a
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 1]
movzx ecx, byte [esi]
add esi, 1
cmp eax, ecx
je case.0x545300.14
cmp ebx, 0x20
jne 0x53cab8
mov edx, dword [edx + 0x3c]
movzx eax, byte [edx + eax]
cmp eax, ecx
je case.0x545300.14
add dword [esp + 0x14], 2
jmp 0x5385a0
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 0x53cb85
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 0x53caf2
cmp al, 0x4f
mov dword [esp + 0x34], ebp
jne 0x53cafa
mov dword [esp + 0x34], 1
add edx, 3
jmp 0x53cb85
xor edi, edi
mov dword [esp + 0x3c], 1
add edx, 1
jmp 0x53cb7d
mov edi, 1
mov dword [esp + 0x3c], edi
add edx, edi
jmp 0x53cb7d
mov eax, 1
xor edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
add edx, eax
jmp 0x53cb85
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 0x53cb85
cmp ebx, 0x48
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x48
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x573618]
mov ecx, eax
movsx eax, byte [eax + 0x573624]
and ecx, 1
add edx, 1
cmp eax, ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x53cb85
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 0x53cc83
cmp ebx, 0xc0
jb 0x53cc83
test bl, 0x20
jne 0x53cbca
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 0x53cc7b
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53cbf1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add edx, 2
jmp 0x53cc77
test bl, 8
jne 0x53cc14
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 0x53cc77
test bl, 4
jne 0x53cc43
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 0x53cc77
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 0x53d0d4
test ebp, ebp
je 0x53ccd0
cmp ebx, 0x7f
jbe 0x53ccd0
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x575948]
mov edx, ebx
shl ecx, 7
and edx, 0x8000007f
jns 0x53ccbb
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x577b48]
mov eax, dword [eax*8 + 0x5742cc]
add eax, ebx
jmp 0x53ccdb
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x3c]
movzx eax, byte [edx + ebx]
test ebp, ebp
mov dword [esp + 0x38], eax
je 0x53ce0b
mov ecx, 1
cmp edi, ecx
jl 0x53ce47
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
jmp 0x53cd00
cmp esi, ebp
jae 0x543754
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53cdec
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53cd33
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53cdec
test al, 0x10
jne 0x53cd53
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 0x53cdec
test al, 8
jne 0x53cd7c
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 0x53cdec
test al, 4
jne 0x53cdb1
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 0x53cdec
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.0x545300.14
cmp dword [esp + 0x38], eax
je case.0x545300.14
add ecx, 1
cmp ecx, edi
jle 0x53cd00
jmp 0x53ce47
mov edx, 1
cmp edi, edx
jl 0x53ce47
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x53ce20
cmp esi, ebp
jae 0x5432c5
movzx eax, byte [esi]
cmp ebx, eax
je case.0x545300.14
cmp dword [esp + 0x38], eax
je case.0x545300.14
add edx, 1
add esi, 1
cmp edx, edi
jle 0x53ce20
mov edx, dword [esp + 0x18]
cmp edi, edx
je 0x5385a0
cmp dword [esp + 0x34], 0
jne 0x5432f5
cmp dword [esp + 0x20], 0
mov dword [esp + 0x34], esi
je 0x53d02b
cmp edi, edx
jge 0x53cfbb
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x53ce86
mov eax, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53cf9b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53cf82
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53cebe
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53cf82
test al, 0x10
jne 0x53cee0
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 0x53cf82
test al, 8
jne 0x53cf0e
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 0x53cf82
test al, 4
jne 0x53cf45
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 0x53cf82
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 0x53cfbb
cmp edx, eax
je 0x53cfbb
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53ce82
jmp 0x53cfbb
cmp dword [eax + 0x88], 0
je 0x53cfbb
cmp esi, dword [eax + 0x84]
jbe 0x53cfbb
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, dword [esp + 0x34]
jbe 0x541b43
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.005384a0
test eax, eax
jne 0x54546a
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x53d020
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53d012
cmp esi, dword [esp + 0x34]
ja 0x53cfe0
jmp 0x541b43
cmp edi, edx
mov ecx, edi
jge 0x53d07a
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
cmp esi, edi
jae 0x53d055
movzx eax, byte [esi]
cmp ebx, eax
je 0x53d07a
cmp dword [esp + 0x38], eax
je 0x53d07a
add ecx, 1
add esi, 1
cmp ecx, edx
jl 0x53d038
jmp 0x53d07a
cmp dword [ebp + 0x88], 0
je 0x53d07a
cmp esi, dword [ebp + 0x84]
jbe 0x53d07a
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, dword [esp + 0x34]
je 0x541b43
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.005384a0
test eax, eax
jne 0x54546a
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53d0a0
jmp 0x541b43
test ebp, ebp
je 0x53d1f6
mov ecx, 1
cmp edi, ecx
jl 0x53d227
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 0x78]
cmp esi, ebp
jae 0x543516
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53d1df
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53d123
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53d1df
test al, 0x10
jne 0x53d143
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 0x53d1df
test al, 8
jne 0x53d16f
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 0x53d1df
test al, 4
jne 0x53d1a4
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 0x53d1df
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.0x545300.14
add ecx, 1
cmp ecx, edi
jle 0x53d0f0
jmp 0x53d22b
mov eax, 1
cmp edi, eax
jl 0x53d227
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x543516
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x545300.14
add eax, 1
cmp eax, edi
jle 0x53d206
jmp 0x53d22b
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
cmp edi, ecx
je 0x5385a0
cmp dword [esp + 0x34], 0
jne 0x543542
cmp dword [esp + 0x20], 0
mov edx, esi
mov dword [esp + 0x34], edx
je 0x53d40b
cmp edi, ecx
jge 0x53d397
mov ebp, dword [ebx + 0x78]
jmp 0x53d264
mov ebx, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53d377
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d360
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d29c
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d360
test al, 0x10
jne 0x53d2be
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 0x53d360
test al, 8
jne 0x53d2ec
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 0x53d360
test al, 4
jne 0x53d323
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 0x53d360
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 0x53d397
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53d260
jmp 0x53d397
cmp dword [ebx + 0x88], 0
je 0x53d397
cmp esi, dword [ebx + 0x84]
jbe 0x53d397
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, edx
jbe 0x541b43
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.005384a0
test eax, eax
jne 0x54546a
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
jne 0x53d400
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
je 0x53d3f4
cmp esi, dword [esp + 0x34]
ja 0x53d3c0
jmp 0x541b43
cmp edi, ecx
mov eax, edi
jge 0x53d45a
mov ecx, dword [ebx + 0x78]
jmp 0x53d41a
mov ebx, dword [esp + 0x10]
cmp esi, ecx
jae 0x53d435
movzx edi, byte [esi]
cmp dword [esp + 0x30], edi
je 0x53d45a
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53d416
jmp 0x53d45a
cmp dword [ebx + 0x88], 0
je 0x53d45a
cmp esi, dword [ebx + 0x84]
jbe 0x53d45a
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, edx
je 0x541b43
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.005384a0
test eax, eax
jne 0x54546a
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53d480
jmp 0x541b43
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 0x53d58b
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 0x53d58b
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], ebp
add edx, 1
mov ebx, ebp
jmp 0x53d583
mov eax, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], eax
add edx, eax
mov ebx, eax
jmp 0x53d583
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 0x53d58b
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 0x53d58b
lea eax, [ebx - 0x55]
movsx ebx, byte [eax + 0x573618]
mov ecx, eax
movsx eax, byte [eax + 0x573624]
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 0x53d58b
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 0x53d5ac
cmp edi, 0xf
je 0x53d5ac
mov ebp, dword [esp + 0x44]
or eax, 0xffffffff
jmp 0x53d5cf
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 0x53f7d7
test eax, eax
jl 0x53e4b3
cmp eax, 0xa
ja case.default.0x53abef
jmp dword [eax*4 + 0x54573c]
test ebp, ebp
jne case.0x545300.14
lea ecx, [ebp + 1]
cmp ebx, ecx
jl 0x53f7d7
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
mov ebp, dword [esp + 0x20]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x53d651
cmp eax, 0xc0
jb 0x53d651
test al, 0x20
jne 0x53d633
add esi, 1
jmp 0x53d651
test al, 0x10
jne 0x53d63c
add esi, 2
jmp 0x53d651
test al, 8
jne 0x53d645
add esi, 3
jmp 0x53d651
test al, 4
jne 0x53d64e
add esi, 4
jmp 0x53d651
add esi, 5
add ecx, 1
cmp ecx, ebx
jle 0x53d611
jmp 0x53d7e7
mov edi, 1
cmp ebx, edi
jl 0x53f7d7
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543754
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53d77c
cmp ecx, 0xc0
jb 0x53d77c
test cl, 0x20
jne 0x53d6b2
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53d77c
test cl, 0x10
jne 0x53d6d9
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 0x53d77c
test cl, 8
jne 0x53d70c
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 0x53d77c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53d748
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 0x53d77c
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53d79e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx eax, byte [eax*8 + 0x5742c9]
cmp eax, 9
je 0x53d7c3
cmp eax, 5
je 0x53d7c3
cmp eax, 8
je 0x53d7c3
xor eax, eax
jmp 0x53d7c8
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x545300.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53d675
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x18]
cmp ebx, ebp
je 0x5385a0
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x4c]
jne 0x5437fe
test eax, eax
mov dword [esp + 0x34], esi
jl 0x540759
cmp eax, 0xa
ja case.default.0x53abef
jmp dword [eax*4 + 0x545768]
mov edi, 1
cmp ebx, edi
jl 0x53f7d7
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543754
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53d93d
cmp ecx, 0xc0
jb 0x53d93d
test cl, 0x20
jne 0x53d873
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53d93d
test cl, 0x10
jne 0x53d89a
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 0x53d93d
test cl, 8
jne 0x53d8cd
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 0x53d93d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53d909
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 0x53d93d
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 + 0x575948]
shl eax, 7
and ecx, 0x8000007f
jns 0x53d95f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577b48]
movzx edx, byte [ecx*8 + 0x5742c9]
mov ecx, dword [esp + 0x48]
xor eax, eax
cmp dword [edx*4 + 0x573808], ecx
sete al
cmp eax, dword [esp + 0x44]
je case.0x545300.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53d836
jmp 0x53d7df
mov edi, 1
cmp ebx, edi
jl 0x53f7d7
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543754
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53dabc
cmp ecx, 0xc0
jb 0x53dabc
test cl, 0x20
jne 0x53d9f2
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53dabc
test cl, 0x10
jne 0x53da19
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 0x53dabc
test cl, 8
jne 0x53da4c
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 0x53dabc
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53da88
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 0x53dabc
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53dade
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x545300.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53d9b5
jmp 0x53d7df
mov edi, 1
cmp ebx, edi
jl 0x53f7d7
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
lea ecx, [ecx]
cmp esi, ebp
jae 0x543754
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53dc37
cmp ecx, 0xc0
jb 0x53dc37
test cl, 0x20
jne 0x53db6d
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53dc37
test cl, 0x10
jne 0x53db94
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 0x53dc37
test cl, 8
jne 0x53dbc7
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 0x53dc37
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53dc03
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 0x53dc37
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 + 0x575948]
shl eax, 7
and ecx, 0x8000007f
jns 0x53dc59
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577b48]
movzx edx, byte [ecx*8 + 0x5742c8]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x545300.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53db30
jmp 0x53d7df
mov edi, 1
cmp ebx, edi
jl 0x53f7d7
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543754
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53ddaf
cmp ecx, 0xc0
jb 0x53ddaf
test cl, 0x20
jne 0x53dce5
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53ddaf
test cl, 0x10
jne 0x53dd0c
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 0x53ddaf
test cl, 8
jne 0x53dd3f
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 0x53ddaf
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53dd7b
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 0x53ddaf
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 + 0x575948]
shl eax, 7
and ecx, 0x8000007f
jns 0x53ddd1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577b48]
movzx edx, byte [ecx*8 + 0x5742c9]
mov eax, dword [edx*4 + 0x573808]
cmp eax, 1
je 0x53ddf8
cmp eax, 3
je 0x53ddf8
xor eax, eax
jmp 0x53ddfd
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x545300.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53dca8
jmp 0x53d7df
mov edi, 1
cmp ebx, edi
jl 0x53f7d7
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ebp, [edi + 5]
cmp esi, ebx
jae 0x543754
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53df3a
cmp ecx, 0xc0
jb 0x53df3a
test cl, 0x20
jne 0x53de70
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53df3a
test cl, 0x10
jne 0x53de97
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 0x53df3a
test cl, 8
jne 0x53deca
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 0x53df3a
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53df06
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 0x53df3a
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 0x53df7d
je case.0x53df9d.8192
cmp ecx, 0x85
ja 0x53df69
je case.0x53df9d.8192
cmp ecx, 9
jb case.0x53df9d.8203
cmp ecx, 0xd
jbe case.0x53df9d.8192
cmp ecx, 0x20
jmp 0x53dfb2
cmp ecx, 0xa0
je case.0x53df9d.8192
cmp ecx, 0x1680
jmp 0x53dfb2
cmp ecx, 0x202f
ja 0x53dfa4
je case.0x53df9d.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x53df9d.8203
movzx eax, byte [eax + 0x54579c]
jmp dword [eax*4 + 0x545794]
cmp ecx, 0x205f
je case.0x53df9d.8192
cmp ecx, 0x3000
je case.0x53df9d.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53dfd6
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
xor edx, edx
cmp dword [ecx*4 + 0x573808], ebp
sete dl
cmp edx, dword [esp + 0x44]
je case.0x545300.14
jmp 0x53e00b
cmp dword [esp + 0x44], 0
jne case.0x545300.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53de30
jmp 0x53d7df
mov edi, 1
cmp ebx, edi
jl 0x53f7d7
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543754
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53e13c
cmp ecx, 0xc0
jb 0x53e13c
test cl, 0x20
jne 0x53e072
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e13c
test cl, 0x10
jne 0x53e099
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 0x53e13c
test cl, 8
jne 0x53e0cc
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 0x53e13c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e108
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 0x53e13c
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 + 0x575948]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53e160
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x577b48]
movzx edx, byte [eax*8 + 0x5742c9]
mov eax, dword [edx*4 + 0x573808]
cmp eax, 1
je 0x53e18c
cmp eax, 3
je 0x53e18c
cmp ecx, 0x5f
je 0x53e18c
xor eax, eax
jmp 0x53e191
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x545300.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53e035
jmp 0x53d7df
mov edi, 1
cmp ebx, edi
jl 0x53f7d7
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x543754
movzx eax, byte [esi]
add esi, 1
test ebx, ebx
je 0x53e2c7
cmp eax, 0xc0
jb 0x53e2c7
test al, 0x20
jne 0x53e200
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53e2c7
test al, 0x10
jne 0x53e226
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 0x53e2c7
test al, 8
jne 0x53e258
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 0x53e2c7
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53e293
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 0x53e2c7
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 + 0x574188]
cmp eax, ecx
lea edx, [edx*4 + 0x574188]
jb 0x53e2ed
lea ecx, [ecx]
add edx, 4
cmp eax, ecx
je 0x53e2fa
mov ecx, dword [edx]
cmp eax, ecx
jae 0x53e2e0
cmp dword [esp + 0x44], 0
je case.0x545300.14
jmp 0x53e305
cmp dword [esp + 0x44], 0
jne case.0x545300.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53e1c5
jmp 0x53d7df
mov ecx, 1
cmp ebx, ecx
jl 0x53f7d7
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
jmp 0x53e330
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53e46e
cmp eax, 0xc0
jb 0x53e46e
test al, 0x20
jne 0x53e376
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 0x53e46a
test al, 0x10
jne 0x53e3a4
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 0x53e46a
test al, 8
jne 0x53e3de
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 0x53e46a
test al, 4
jne 0x53e421
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 0x53e46a
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 0x53e496
cmp eax, 0x40
je 0x53e496
cmp eax, 0x60
je 0x53e496
cmp eax, 0xa0
jb 0x53e48b
cmp eax, 0xd7ff
jbe 0x53e496
cmp eax, 0xe000
jae 0x53e496
xor eax, eax
jmp 0x53e49b
mov eax, 1
cmp eax, ebp
je case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53e330
jmp 0x53d7e7
cmp edi, 0x16
jne 0x53e7b3
cmp ebx, 1
mov dword [esp + 0x30], 1
jl 0x53f7d7
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov dword [esp + 0x24], edi
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53e5e5
cmp ecx, 0xc0
jb 0x53e5e5
test cl, 0x20
jne 0x53e51b
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53e5e5
test cl, 0x10
jne 0x53e542
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 0x53e5e5
test cl, 8
jne 0x53e575
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 0x53e5e5
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53e5b1
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 0x53e5e5
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 + 0x575948]
shl eax, 7
and ecx, 0x8000007f
jns 0x53e607
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, edi
movzx ecx, word [eax*2 + 0x577b48]
movzx ebp, byte [ecx*8 + 0x5742ca]
jae 0x53e76a
mov ebx, dword [esp + 0x20]
test ebx, ebx
movzx ecx, byte [esi]
mov edi, 1
je 0x53e718
cmp ecx, 0xc0
jb 0x53e718
test cl, 0x20
jne 0x53e65d
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53e716
test cl, 0x10
jne 0x53e687
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 0x53e718
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53e6ad
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53e708
and eax, 0x3f
test cl, 4
jne 0x53e6e3
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 0x53e718
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53e73a
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742ca]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x573794], edx
je 0x53e76a
add esi, edi
cmp esi, dword [esp + 0x24]
mov ebp, ecx
jb 0x53e625
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53e799
cmp esi, dword [esp + 0x24]
jb 0x53e799
cmp esi, dword [eax + 0x84]
jbe 0x53e799
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545457
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
jle 0x53e4d0
jmp 0x53d7df
cmp dword [esp + 0x20], 0
lea eax, [edi - 6]
je 0x53f3e2
cmp eax, 0xf
ja case.default.0x53abef
jmp dword [eax*4 + 0x5457c8]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53d7df
mov ebx, dword [esp + 0x10]
mov ecx, ebp
cmp esi, dword [ebx + 0x78]
jae 0x543784
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x53e817
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00546ca0
test eax, eax
jne case.0x545300.14
lea ecx, [eax + 1]
jmp 0x53e83b
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x53e83b
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x53e83b
cmp dword [edi], ecx
je case.0x545300.14
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.0x545300.14
cmp dword [ebx + 0x88], 0
je 0x53e86d
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x53e86d
cmp dword [ebx + 0x18], 0
jne 0x53e86d
cmp dword [edi], 2
jne 0x53e86d
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x53e86d
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x545457
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x53e886
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53e886
add esi, ecx
cmp esi, eax
jb 0x53e876
add ebp, ecx
cmp ebp, dword [esp + 0x2c]
jle 0x53e7e6
mov edi, ebx
jmp 0x53d7e3
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, eax
jae 0x5437d2
add esi, 1
cmp esi, eax
jae 0x53e8d1
nop
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53e8d1
add esi, 1
cmp esi, eax
jb 0x53e8c0
add ecx, 1
cmp ecx, ebx
jle 0x53e8b0
jmp 0x53d7e7
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x545300.14
add esi, ebx
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ea3f
test al, 0x20
jne 0x53e94b
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 0x53ea3f
test al, 0x10
jne 0x53e979
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 0x53ea3f
test al, 8
jne 0x53e9b3
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 0x53ea3f
test al, 4
jne 0x53e9f6
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 0x53ea3f
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 0x53ea64
je 0x53ea56
cmp eax, 0xa
je 0x53ea8b
jbe case.0x545300.14
cmp eax, 0xc
jmp 0x53ea7b
cmp esi, edx
jae 0x53ea8b
cmp byte [esi], 0xa
jne 0x53ea8b
add esi, 1
jmp 0x53ea8b
cmp eax, 0x85
je 0x53ea81
cmp eax, 0x2027
jbe case.0x545300.14
cmp eax, 0x2029
ja case.0x545300.14
cmp dword [edi + 0x68], 0
jne case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53e910
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ebdf
test al, 0x20
jne 0x53eaeb
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 0x53ebdf
test al, 0x10
jne 0x53eb19
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 0x53ebdf
test al, 8
jne 0x53eb53
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 0x53ebdf
test al, 4
jne 0x53eb96
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 0x53ebdf
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 0x53ec0e
je case.0x545300.14
cmp eax, 0xa0
ja 0x53ec07
je case.0x545300.14
cmp eax, 9
je case.0x545300.14
cmp eax, 0x20
jmp 0x53ec39
cmp eax, 0x1680
jmp 0x53ec39
cmp eax, 0x205f
ja 0x53ec34
je case.0x545300.14
cmp eax, 0x2000
jb 0x53ec3f
cmp eax, 0x200a
jbe case.0x545300.14
cmp eax, 0x202f
jmp 0x53ec39
cmp eax, 0x3000
je case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53eab0
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ed92
test al, 0x20
jne 0x53ec9e
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 0x53ed92
test al, 0x10
jne 0x53eccc
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 0x53ed92
test al, 8
jne 0x53ed06
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 0x53ed92
test al, 4
jne 0x53ed49
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 0x53ed92
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 0x53edb5
je 0x53ede2
cmp eax, 0xa0
ja 0x53edae
je 0x53ede2
cmp eax, 9
je 0x53ede2
cmp eax, 0x20
jmp 0x53eddc
cmp eax, 0x1680
jmp 0x53eddc
cmp eax, 0x205f
ja 0x53edd7
je 0x53ede2
cmp eax, 0x2000
jb case.0x545300.14
cmp eax, 0x200a
jbe 0x53ede2
cmp eax, 0x202f
jmp 0x53eddc
cmp eax, 0x3000
jne case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53ec63
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ef35
test al, 0x20
jne 0x53ee41
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 0x53ef35
test al, 0x10
jne 0x53ee6f
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 0x53ef35
test al, 8
jne 0x53eea9
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 0x53ef35
test al, 4
jne 0x53eeec
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 0x53ef35
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 0x53ef4c
je case.0x545300.14
cmp eax, 0xa
jb 0x53ef5e
cmp eax, 0xd
jmp 0x53ef58
cmp eax, 0x2028
jb 0x53ef5e
cmp eax, 0x2029
jbe case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53ee06
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f0b1
test al, 0x20
jne 0x53efbd
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 0x53f0b1
test al, 0x10
jne 0x53efeb
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 0x53f0b1
test al, 8
jne 0x53f025
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 0x53f0b1
test al, 4
jne 0x53f068
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 0x53f0b1
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 0x53f0c8
je 0x53f0de
cmp eax, 0xa
jb case.0x545300.14
cmp eax, 0xd
jmp 0x53f0d8
cmp eax, 0x2028
jb case.0x545300.14
cmp eax, 0x2029
ja case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53ef82
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f231
test al, 0x20
jne 0x53f13d
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 0x53f231
test al, 0x10
jne 0x53f16b
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 0x53f231
test al, 8
jne 0x53f1a5
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 0x53f231
test al, 4
jne 0x53f1e8
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 0x53f231
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 0x53f245
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
jne case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53f102
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x545300.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
je case.0x545300.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53f270
jmp 0x53d7e7
mov edx, 1
cmp ebx, edx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x5437d2
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53f2d5
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
jne case.0x545300.14
add esi, 1
cmp esi, ecx
jae 0x53f2ef
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53f2ef
add esi, 1
cmp esi, ecx
jb 0x53f2e0
add edx, 1
cmp edx, ebx
jle 0x53f2b6
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x545300.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
je case.0x545300.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53f310
jmp 0x53d7e7
mov edx, 1
cmp ebx, edx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x5437d2
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53f375
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
jne case.0x545300.14
add esi, 1
cmp esi, ecx
jae 0x53f38f
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53f38f
add esi, 1
cmp esi, ecx
jb 0x53f380
add edx, 1
cmp edx, ebx
jle 0x53f356
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x545300.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
je case.0x545300.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53f3b0
jmp 0x53d7e7
cmp eax, 0xf
ja case.default.0x53abef
jmp dword [eax*4 + 0x545808]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53d7df
mov ecx, dword [esp + 0x10]
lea ebx, [esi + 1]
mov edx, ebp
lea ebx, [ebx]
cmp esi, dword [ecx + 0x78]
jae 0x5437ab
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x53f446
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.00546ca0
test eax, eax
jne case.0x545300.14
mov ecx, dword [esp + 0x10]
lea edx, [eax + 1]
jmp 0x53f46d
mov eax, dword [ecx + 0x78]
sub eax, dword [ecx + 0x1c]
lea edi, [ecx + 0x1c]
cmp esi, eax
ja 0x53f46d
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53f46d
cmp dword [edi], edx
je case.0x545300.14
mov al, byte [ebx]
cmp al, byte [ecx + 0x35]
je case.0x545300.14
cmp dword [ecx + 0x88], 0
je 0x53f49c
cmp ebx, dword [ecx + 0x78]
jb 0x53f49c
cmp dword [ecx + 0x18], 0
jne 0x53f49c
cmp dword [edi], 2
jne 0x53f49c
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53f49c
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jg 0x545457
add ebp, edx
add esi, edx
add ebx, edx
cmp ebp, dword [esp + 0x2c]
jle 0x53f410
jmp 0x53d7df
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
sub ecx, ebx
cmp esi, ecx
ja 0x5437d2
add esi, ebx
jmp 0x53d7e7
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
sub edx, ebx
cmp esi, edx
ja 0x5437d2
add esi, ebx
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
sub eax, 0xa
add esi, 1
cmp eax, 0x7b
ja case.0x545300.14
movzx eax, byte [eax + 0x545858]
jmp dword [eax*4 + 0x545848]
cmp esi, edx
jae case.0x53f516.10
cmp byte [esi], 0xa
jne case.0x53f516.10
add esi, 1
jmp case.0x53f516.10
cmp dword [edi + 0x68], 0
jne case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53f4f5
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je case.0x545300.14
cmp eax, 0x20
je case.0x545300.14
cmp eax, 0xa0
je case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53f555
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je 0x53f5c3
cmp eax, 0x20
je 0x53f5c3
cmp eax, 0xa0
jne case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53f5a0
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl 0x53f60a
cmp eax, 0xd
jle case.0x545300.14
cmp eax, 0x85
je case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53f5e3
jmp 0x53d7e7
mov ecx, 1
cmp ebx, ecx
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea ebx, [ebx]
cmp esi, edx
jae 0x5437d2
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl case.0x545300.14
cmp eax, 0xd
jle 0x53f657
cmp eax, 0x85
jne case.0x545300.14
add ecx, 1
cmp ecx, ebx
jle 0x53f630
jmp 0x53d7e7
mov eax, 1
cmp ebx, eax
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x5437d2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
jne case.0x545300.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f677
jmp 0x53d7e7
mov eax, 1
cmp ebx, eax
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x5437d2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
je case.0x545300.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f6b2
jmp 0x53d7e7
mov eax, 1
cmp ebx, eax
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, ecx
jae 0x5437d2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
jne case.0x545300.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f6f0
jmp 0x53d7e7
mov eax, 1
cmp ebx, eax
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53f730
cmp esi, ecx
jae 0x5437d2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
je case.0x545300.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f730
jmp 0x53d7e7
mov eax, 1
cmp ebx, eax
jl 0x53d7df
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53f770
cmp esi, ecx
jae 0x5437d2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
jne case.0x545300.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f770
jmp 0x53d7e7
mov edi, dword [esp + 0x10]
mov eax, 1
cmp ebx, eax
jl 0x53d7e7
mov ecx, dword [edi + 0x78]
jmp 0x53f7b0
cmp esi, ecx
jae 0x5437d2
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
je case.0x545300.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53f7b0
jmp 0x53d7e7
mov edi, dword [esp + 0x10]
jmp 0x53d7e7
cmp ebx, ebp
mov edx, ebx
jge 0x5406d8
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov ecx, 1
jae 0x5406ab
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x53f83d
cmp eax, 0xc0
jb 0x53f83d
test al, 0x20
jne 0x53f81a
mov ecx, 2
jmp 0x53f83d
test al, 0x10
jne 0x53f825
mov ecx, 3
jmp 0x53f83d
test al, 8
jne 0x53f830
mov ecx, 4
jmp 0x53f83d
and al, 4
neg al
sbb eax, eax
neg eax
add eax, 5
mov ecx, eax
cmp dword [esp + 0x44], 0
jne 0x5406d8
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53f7f1
jmp 0x5406d8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5406d8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53f9d8
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53f96e
cmp ecx, 0xc0
jb 0x53f96e
test cl, 0x20
jne 0x53f8b3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53f96c
test cl, 0x10
jne 0x53f8dd
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 0x53f96e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53f903
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53f95e
and eax, 0x3f
test cl, 4
jne 0x53f939
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 0x53f96e
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53f990
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx eax, byte [eax*8 + 0x5742c9]
cmp eax, 9
je 0x53f9b5
cmp eax, 5
je 0x53f9b5
cmp eax, 8
je 0x53f9b5
xor eax, eax
jmp 0x53f9ba
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x5406d8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53f870
jmp 0x5406d8
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x5406d8
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x5406d8
mov ecx, edi
jmp 0x5406c7
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5406d8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53f9d8
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53fb0d
cmp ecx, 0xc0
jb 0x53fb0d
test cl, 0x20
jne 0x53fa52
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53fb0b
test cl, 0x10
jne 0x53fa7c
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 0x53fb0d
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53faa2
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53fafd
and eax, 0x3f
test cl, 4
jne 0x53fad8
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 0x53fb0d
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fb2f
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x573808], eax
sete dl
cmp edx, dword [esp + 0x44]
je 0x5406d8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fa13
jmp 0x5406d8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5406d8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x53fb90
cmp esi, ebx
mov edi, 1
jae 0x53fce9
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53fc8e
cmp ecx, 0xc0
jb 0x53fc8e
test cl, 0x20
jne 0x53fbd3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53fc8c
test cl, 0x10
jne 0x53fbfd
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 0x53fc8e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53fc23
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53fc7e
and eax, 0x3f
test cl, 4
jne 0x53fc59
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 0x53fc8e
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fcb0
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x5406d8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fb90
jmp 0x5406d8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x5406d8
mov ecx, eax
cmp esi, dword [ecx + 0x84]
jbe 0x5406d8
mov ecx, edi
jmp 0x5406c9
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5406d8
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53fce9
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53fe17
cmp ecx, 0xc0
jb 0x53fe17
test cl, 0x20
jne 0x53fd65
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x53fe17
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53fd91
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 0x53fe17
test cl, 8
jne 0x53fdac
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53fe07
and eax, 0x3f
test cl, 4
jne 0x53fde2
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 0x53fe17
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fe39
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c8]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x5406d8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fd24
jmp 0x5406d8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5406d8
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
jmp 0x53fe90
cmp esi, ebx
mov edi, 1
jae 0x53fff3
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53ff87
cmp ecx, 0xc0
jb 0x53ff87
test cl, 0x20
jne 0x53fed5
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x53ff87
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53ff01
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 0x53ff87
test cl, 8
jne 0x53ff1c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53ff77
and eax, 0x3f
test cl, 4
jne 0x53ff52
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 0x53ff87
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x53ffa9
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
mov eax, dword [ecx*4 + 0x573808]
cmp eax, 1
je 0x53ffd0
cmp eax, 3
je 0x53ffd0
xor eax, eax
jmp 0x53ffd5
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x5406d8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53fe90
jmp 0x5406d8
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x5406d8
mov eax, edx
cmp esi, dword [eax + 0x84]
jbe 0x5406d8
mov ecx, edi
jmp 0x5406c9
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5406d8
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edi, edi
cmp esi, ebx
mov edi, 1
jae 0x53f9d8
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x54012e
cmp ecx, 0xc0
jb 0x54012e
test cl, 0x20
jne 0x540073
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x54012c
test cl, 0x10
jne 0x54009d
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 0x54012e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x5400c3
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x54011e
and eax, 0x3f
test cl, 4
jne 0x5400f9
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 0x54012e
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 0x540171
je case.0x540191.8192
cmp ecx, 0x85
ja 0x54015d
je case.0x540191.8192
cmp ecx, 9
jb case.0x540191.8203
cmp ecx, 0xd
jbe case.0x540191.8192
cmp ecx, 0x20
jmp 0x5401aa
cmp ecx, 0xa0
je case.0x540191.8192
cmp ecx, 0x1680
jmp 0x5401aa
cmp ecx, 0x202f
ja 0x540198
je case.0x540191.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x540191.8203
movzx edx, byte [eax + 0x5458dc]
jmp dword [edx*4 + 0x5458d4]
cmp ecx, 0x205f
je case.0x540191.8192
cmp ecx, 0x3000
je case.0x540191.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x575948]
shl eax, 7
and ecx, 0x8000007f
jns 0x5401ce
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577b48]
movzx edx, byte [ecx*8 + 0x5742c9]
xor eax, eax
cmp dword [edx*4 + 0x573808], 6
sete al
cmp eax, dword [esp + 0x44]
je 0x5406d8
jmp 0x540204
cmp dword [esp + 0x44], 0
jne 0x5406d8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x540030
jmp 0x5406d8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5406d8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53f9d8
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x54032e
cmp ecx, 0xc0
jb 0x54032e
test cl, 0x20
jne 0x540273
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x54032c
test cl, 0x10
jne 0x54029d
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 0x54032e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x5402c3
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x54031e
and eax, 0x3f
test cl, 4
jne 0x5402f9
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 0x54032e
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 + 0x575948]
mov eax, ecx
shl edx, 7
and eax, 0x8000007f
jns 0x540351
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x577b48]
movzx eax, byte [edx*8 + 0x5742c9]
mov eax, dword [eax*4 + 0x573808]
cmp eax, 1
je 0x54037d
cmp eax, 3
je 0x54037d
cmp ecx, 0x5f
je 0x54037d
xor eax, eax
jmp 0x540382
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x5406d8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x540230
jmp 0x5406d8
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5406d8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x5403c0
cmp esi, ebx
mov edx, 1
jae 0x54051b
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x5404cc
cmp eax, 0xc0
jb 0x5404cc
test al, 0x20
jne 0x540401
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, 2
jmp 0x5404ca
test al, 0x10
jne 0x54042a
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 0x5404cc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 8
jne 0x540457
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 0x5404c4
test al, 4
jne 0x540490
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 0x5404cc
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 + 0x574188]
cmp eax, ecx
lea edi, [edi*4 + 0x574188]
jb 0x5404ef
add edi, 4
cmp eax, ecx
je 0x5404fc
mov ecx, dword [edi]
cmp eax, ecx
jae 0x5404e2
cmp dword [esp + 0x44], 0
je 0x5406d8
jmp 0x540507
cmp dword [esp + 0x44], 0
jne 0x5406d8
add ebp, 1
add esi, edx
cmp ebp, dword [esp + 0x18]
jl 0x5403c0
jmp 0x5406d8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x5406d8
cmp esi, dword [eax + 0x84]
jbe 0x5406d8
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jmp 0x5406d2
cmp ebx, ebp
mov edx, ebx
jge 0x5406d8
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
jmp 0x540560
cmp esi, edi
mov ecx, 1
jae 0x5406ab
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x540667
cmp eax, 0xc0
jb 0x540667
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5405a3
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x540667
test al, 0x10
jne 0x5405c5
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 0x540667
test al, 8
jne 0x5405f3
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 0x540667
test al, 4
jne 0x54062a
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 0x540667
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 0x54068f
cmp eax, 0x40
je 0x54068f
cmp eax, 0x60
je 0x54068f
cmp eax, 0xa0
jb 0x540684
cmp eax, 0xd7ff
jbe 0x54068f
cmp eax, 0xe000
jae 0x54068f
xor eax, eax
jmp 0x540694
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x5406d8
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x540560
jmp 0x5406d8
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x5406d8
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x5406d8
mov ecx, 1
mov eax, edx
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, dword [esp + 0x34]
jbe 0x541b43
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.005384a0
test eax, eax
jne 0x54546a
sub esi, 1
cmp dword [esp + 0x20], eax
je 0x54074e
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x54074e
lea esp, [esp]
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x540740
cmp esi, dword [esp + 0x34]
ja 0x540700
jmp 0x541b43
mov eax, dword [esp + 0x38]
cmp eax, 0x16
jne 0x540ae8
cmp ebx, ebp
mov dword [esp + 0x30], ebx
jge 0x540a7d
lea edx, [eax - 0x15]
mov eax, dword [esp + 0x10]
lea esp, [esp]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x540a5d
movzx ecx, byte [esi]
add esi, edx
cmp dword [esp + 0x20], 0
je 0x540891
cmp ecx, 0xc0
jb 0x540891
test cl, 0x20
jne 0x5407c1
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, edx
jmp 0x540891
test cl, 0x10
jne 0x5407e8
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 0x540891
test cl, 8
jne 0x54081b
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 0x540891
movzx eax, byte [esi]
and eax, 0x3f
test cl, 4
jne 0x540857
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 0x540891
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x5408b3
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebx
movzx eax, word [edx*2 + 0x577b48]
movzx ebp, byte [eax*8 + 0x5742ca]
jae 0x540a13
lea ecx, [ecx]
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x5409c3
cmp ecx, 0xc0
jb 0x5409c3
test cl, 0x20
jne 0x54090b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x5409c1
test cl, 0x10
jne 0x540935
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 0x5409c3
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x540958
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x5409b3
and eax, 0x3f
test cl, 4
jne 0x54098e
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 0x5409c3
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x5409e5
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742ca]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x573794], edx
je 0x540a13
add esi, edi
cmp esi, ebx
mov ebp, ecx
jb 0x5408d0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x540a42
cmp esi, ebx
jb 0x540a42
cmp esi, dword [eax + 0x84]
jbe 0x540a42
mov edx, 1
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x545457
jmp 0x540a47
mov edx, 1
mov ecx, dword [esp + 0x30]
add ecx, edx
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
jl 0x540780
jmp 0x540a7d
cmp dword [eax + 0x88], 0
je 0x540a7d
cmp esi, dword [eax + 0x84]
jbe 0x540a7d
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, dword [esp + 0x34]
jbe 0x541b43
mov ebp, dword [esp + 0x20]
jmp 0x540aa0
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.005384a0
test eax, eax
jne 0x54546a
sub esi, 1
test ebp, ebp
jne 0x5420e3
movzx ecx, byte [esi]
jmp 0x5421cc
add eax, 0xfffffffa
cmp dword [esp + 0x20], 0
je 0x541993
cmp eax, 0xf
ja case.default.0x53abef
jmp dword [eax*4 + 0x545908]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x5418fe
mov ebx, dword [esp + 0x10]
mov ecx, 1
lea ecx, [ecx]
cmp esi, dword [ebx + 0x78]
jae 0x540bd1
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x540b51
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00546ca0
test eax, eax
jne 0x5418fe
lea ecx, [eax + 1]
jmp 0x540b75
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x540b75
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x540b75
cmp dword [edi], ecx
je 0x5418fe
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je 0x5418fe
cmp dword [ebx + 0x88], 0
je 0x540ba7
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x540ba7
cmp dword [ebx + 0x18], 0
jne 0x540ba7
cmp dword [edi], 2
jne 0x540ba7
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x540ba7
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x545457
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x540bc0
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x540bc0
add esi, ecx
cmp esi, eax
jb 0x540bb0
add ebp, ecx
cmp ebp, dword [esp + 0x18]
jl 0x540b20
jmp 0x5418fe
cmp dword [ebx + 0x88], 0
je 0x5418fe
cmp esi, dword [ebx + 0x84]
jbe 0x5418fe
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x5418f8
cmp ebp, 0x7fffffff
jge 0x540c5d
cmp ebx, ebp
mov ecx, ebx
jge 0x5418fe
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x78]
mov edi, dword [esp + 0x18]
cmp esi, eax
jae 0x540c3d
add esi, 1
cmp esi, eax
jae 0x540c31
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x540c31
add esi, 1
cmp esi, eax
jb 0x540c20
add ecx, 1
cmp ecx, edi
jl 0x540c15
jmp 0x5418fe
cmp dword [ebp + 0x88], 0
je 0x5418fe
mov eax, ebp
cmp esi, dword [eax + 0x84]
jbe 0x5418fe
jmp 0x5418ea
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x5418fe
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x84]
jbe 0x5418fe
mov eax, ecx
jmp 0x5418ea
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x540cb6
cmp dword [edi + 0x88], 0
mov esi, dword [edi + 0x78]
je 0x5418fe
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x84]
jbe 0x5418fe
jmp 0x5418ea
add esi, eax
jmp 0x5418fe
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x5418fe
mov ebp, dword [esp + 0x10]
mov edx, dword [ebp + 0x78]
jmp 0x540cd6
mov ebp, dword [esp + 0x10]
cmp esi, edx
mov ecx, 1
jae 0x540e32
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x540dd2
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540d0e
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x540dd2
test al, 0x10
jne 0x540d30
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 0x540dd2
test al, 8
jne 0x540d5e
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 0x540dd2
test al, 4
jne 0x540d95
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 0x540dd2
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 0x540dec
add esi, 1
cmp esi, edx
jae 0x5418fe
cmp byte [esi], 0xa
jne 0x540e20
add esi, 1
jmp 0x540e20
cmp eax, 0xa
je 0x540e1e
cmp dword [ebp + 0x68], 0
jne 0x5418fe
cmp eax, 0xb
je 0x540e1e
cmp eax, 0xc
je 0x540e1e
cmp eax, 0x85
je 0x540e1e
cmp eax, 0x2028
je 0x540e1e
cmp eax, 0x2029
jne 0x5418fe
add esi, ecx
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x540cd2
jmp 0x5418fe
cmp dword [ebp + 0x88], 0
jmp 0x540c67
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x5418fe
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x540e60
cmp esi, ebp
mov ecx, 1
jae 0x5418d1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x540f5c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540e98
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x540f5c
test al, 0x10
jne 0x540eba
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 0x540f5c
test al, 8
jne 0x540ee8
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 0x540f5c
test al, 4
jne 0x540f1f
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 0x540f5c
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 0x540f7f
je 0x540fa8
cmp eax, 0xa0
ja 0x540f78
je 0x540fa8
cmp eax, 9
je 0x540fa8
cmp eax, 0x20
jmp 0x540fa2
cmp eax, 0x1680
jmp 0x540fa2
cmp eax, 0x205f
ja 0x540f9d
je 0x540fa8
cmp eax, 0x2000
jb 0x540fa4
cmp eax, 0x200a
jbe 0x540fa8
cmp eax, 0x202f
jmp 0x540fa2
cmp eax, 0x3000
je 0x540fa8
xor eax, eax
jmp 0x540fad
mov eax, 1
xor ebx, ebx
cmp edx, 0x12
sete bl
cmp eax, ebx
je 0x5418fe
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x540e60
jmp 0x5418fe
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x5418fe
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x18]
jmp 0x540ff0
cmp esi, ebp
mov ecx, 1
jae 0x54113a
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5410ec
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541028
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5410ec
test al, 0x10
jne 0x54104a
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 0x5410ec
test al, 8
jne 0x541078
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 0x5410ec
test al, 4
jne 0x5410af
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 0x5410ec
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 0x541125
je 0x541133
cmp eax, 0xa
jb 0x5410ff
cmp eax, 0xd
jbe 0x541133
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x38], 0x14
sete bl
cmp eax, ebx
je 0x5418fe
add edi, 1
add esi, ecx
cmp edi, edx
jl 0x540ff0
jmp 0x5418fe
cmp eax, 0x2028
jb 0x5410ff
cmp eax, 0x2029
ja 0x5410ff
mov eax, 1
jmp 0x541101
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x5418fe
cmp esi, dword [eax + 0x84]
jbe 0x5418fe
jmp 0x5418ef
cmp ebx, ebp
mov edx, ebx
jge 0x5418fe
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x540e32
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54126c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5411a8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54126c
test al, 0x10
jne 0x5411ca
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 0x54126c
test al, 8
jne 0x5411f8
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 0x54126c
test al, 4
jne 0x54122f
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 0x54126c
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 0x541284
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 4
jne 0x5418fe
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541170
jmp 0x5418fe
cmp ebx, ebp
mov edx, ebx
jge 0x5418fe
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x5418d1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5413ac
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5412e8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5413ac
test al, 0x10
jne 0x54130a
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 0x5413ac
test al, 8
jne 0x541338
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 0x5413ac
test al, 4
jne 0x54136f
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 0x5413ac
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 0x5418fe
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 4
je 0x5418fe
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x5412b0
jmp 0x5418fe
cmp ebx, ebp
mov edx, ebx
jge 0x5418fe
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x540e32
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5414ec
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541428
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5414ec
test al, 0x10
jne 0x54144a
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 0x5414ec
test al, 8
jne 0x541478
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 0x5414ec
test al, 4
jne 0x5414af
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 0x5414ec
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 0x541504
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 1
jne 0x5418fe
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x5413f0
jmp 0x5418fe
cmp ebx, ebp
mov edx, ebx
jge 0x5418fe
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x5418d1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54162c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x541568
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54162c
test al, 0x10
jne 0x54158a
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 0x54162c
test al, 8
jne 0x5415b8
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 0x54162c
test al, 4
jne 0x5415ef
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 0x54162c
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 0x5418fe
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 1
je 0x5418fe
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541530
jmp 0x5418fe
cmp ebx, ebp
mov edx, ebx
jge 0x5418fe
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x540e32
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54176c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5416a8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54176c
test al, 0x10
jne 0x5416ca
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 0x54176c
test al, 8
jne 0x5416f8
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 0x54176c
test al, 4
jne 0x54172f
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 0x54176c
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 0x541784
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 0x10
jne 0x5418fe
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x541670
jmp 0x5418fe
cmp ebx, ebp
mov edx, ebx
jge 0x5418fe
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x5418d1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5418ac
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5417e8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5418ac
test al, 0x10
jne 0x54180a
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 0x5418ac
test al, 8
jne 0x541838
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 0x5418ac
test al, 4
jne 0x54186f
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 0x5418ac
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 0x5418fe
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 0x10
je 0x5418fe
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x5417b0
jmp 0x5418fe
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x5418fe
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x5418fe
mov eax, edx
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, dword [esp + 0x34]
jbe 0x541b43
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x541920
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.005384a0
test eax, eax
jne 0x54546a
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x54196f
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x541961
cmp ebx, 0x11
jne 0x54198a
cmp esi, edi
jbe 0x541b43
cmp byte [esi], 0xa
jne 0x54198a
cmp byte [esi - 1], 0xd
jne 0x54198a
add esi, 0xffffffff
cmp esi, edi
ja 0x541920
jmp 0x541b43
cmp eax, 0xf
ja case.default.0x53abef
jmp dword [eax*4 + 0x545948]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x541acb
lea ebx, [esi + 1]
jmp 0x5419c0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x541a69
mov eax, dword [ecx + 0x18]
test eax, eax
lea edi, [ecx + 0x1c]
je 0x5419f3
mov ecx, dword [ecx + 0x78]
push 0
push edi
push ecx
push eax
push esi
call fcn.00546ca0
test eax, eax
jne 0x541acb
mov ecx, dword [esp + 0x10]
jmp 0x541a1d
mov edx, dword [ecx + 0x78]
sub edx, dword [edi]
cmp esi, edx
ja 0x541a1d
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x541a1d
cmp dword [edi], 1
je 0x541acb
mov cl, byte [ebx]
mov edx, dword [esp + 0x10]
cmp cl, byte [edx + 0x35]
je 0x541acb
mov ecx, edx
cmp dword [ecx + 0x88], 0
je 0x541a51
cmp ebx, dword [ecx + 0x78]
jb 0x541a51
cmp dword [ecx + 0x18], 0
jne 0x541a51
cmp dword [edi], 2
jne 0x541a51
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x541a51
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x545457
add ebp, 1
add esi, 1
add ebx, 1
cmp ebp, dword [esp + 0x18]
jl 0x5419c0
jmp 0x541acb
cmp dword [ecx + 0x88], 0
je 0x541acb
cmp esi, dword [ecx + 0x84]
jbe 0x541acb
mov eax, dword [esp + 0x10]
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x541ac5
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x541b60
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x541acb
cmp esi, dword [edi + 0x84]
jbe 0x541acb
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x545457
cmp dword [esp + 0x3c], 0
jne 0x5385a0
cmp esi, dword [esp + 0x34]
je 0x541b43
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x541af0
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.005384a0
test eax, eax
jne 0x54546a
sub esi, 1
cmp ebx, 0x11
jne 0x541b3f
cmp esi, edi
jbe 0x541b41
cmp byte [esi], 0xa
jne 0x541b3f
cmp byte [esi - 1], 0xd
jne 0x541b3f
add esi, 0xffffffff
cmp esi, edi
jne 0x541af0
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 0x542368
xor edx, edx
jmp 0x538564
add esi, eax
jmp 0x541acb
cmp ebx, ebp
mov ecx, ebx
jge 0x541acb
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x541bce
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x541b9d
add esi, ebx
cmp esi, edx
jae 0x541acb
cmp byte [esi], 0xa
jne 0x541bc3
jmp 0x541bc1
cmp eax, 0xa
je 0x541bc1
cmp dword [edi + 0x68], 0
jne 0x541acb
cmp eax, 0xb
je 0x541bc1
cmp eax, 0xc
je 0x541bc1
cmp eax, 0x85
jne 0x541acb
add esi, ebx
add ecx, ebx
cmp ecx, ebp
jl 0x541b80
jmp 0x541acb
cmp dword [edi + 0x88], 0
je 0x541acb
cmp esi, dword [edi + 0x84]
jbe 0x541acb
mov dword [edi + 0x64], ebx
cmp dword [edi + 0x88], ebx
jmp 0x541ac5
cmp ebx, ebp
mov ecx, ebx
jge 0x541acb
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x541bce
mov al, byte [esi]
cmp al, 9
je 0x541acb
cmp al, 0x20
je 0x541acb
cmp al, 0xa0
je 0x541acb
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541c07
jmp 0x541acb
cmp ebx, ebp
mov ecx, ebx
jge 0x541acb
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x541bce
mov al, byte [esi]
cmp al, 9
je 0x541c5a
cmp al, 0x20
je 0x541c5a
cmp al, 0xa0
jne 0x541acb
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541c44
jmp 0x541acb
cmp ebx, ebp
mov ecx, ebx
jge 0x541acb
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x541bce
mov al, byte [esi]
cmp al, 0xa
jb 0x541c9e
cmp al, 0xd
jbe 0x541acb
cmp al, 0x85
je 0x541acb
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541c80
jmp 0x541acb
cmp ebx, ebp
mov ecx, ebx
jge 0x541acb
mov edx, dword [edi + 0x78]
mov ebx, 1
lea ecx, [ecx]
cmp esi, edx
jae 0x541bce
mov al, byte [esi]
cmp al, 0xa
jb 0x541acb
cmp al, 0xd
jbe 0x541cde
cmp al, 0x85
jne 0x541acb
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541cc0
jmp 0x541acb
cmp ebx, ebp
mov eax, ebx
jge 0x541acb
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541aa6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
jne 0x541acb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541cf8
jmp 0x541acb
cmp ebx, ebp
mov eax, ebx
jge 0x541acb
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x541aa6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
je 0x541acb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541d30
jmp 0x541acb
cmp ebx, ebp
mov eax, ebx
jge 0x541acb
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541aa6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
jne 0x541acb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541d64
jmp 0x541acb
cmp ebx, ebp
mov eax, ebx
jge 0x541acb
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541aa6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
je 0x541acb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541d98
jmp 0x541acb
cmp ebx, ebp
mov eax, ebx
jge 0x541acb
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x541aa6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
jne 0x541acb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541dd0
jmp 0x541acb
cmp ebx, ebp
mov eax, ebx
jge 0x541acb
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541aa6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
je 0x541acb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541e04
jmp 0x541acb
mov ecx, dword [esp + 0x17c]
add ecx, 1
cmp byte [edx], 0x7a
push ecx
push ebx
push edi
push eax
push ebp
jne 0x541e62
mov edx, dword [esp + 0x28]
add edx, 3
push edx
push esi
call fcn.005384a0
test eax, eax
jne 0x54546a
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
jmp 0x541b43
mov edx, dword [esp + 0x54]
push edx
push esi
call fcn.005384a0
test eax, eax
jne 0x54546a
add dword [esp + 0x14], 3
jmp 0x541b43
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 0x541f6b
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 0x541ee0
cmp dword [esp + 0x40], 0x88
jb 0x541ef4
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 + 0x573630]
push eax
add edx, ebx
push edx
push esi
call fcn.005384a0
cmp eax, 0xfffffc1b
je 0x5426dc
cmp eax, 0xfffffc20
jne 0x5426a9
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x54546a
cmp byte [ebx], 0x77
je 0x541f60
cmp byte [ecx], 0x77
jne 0x54546a
xor eax, eax
jmp 0x5426b1
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
cmp eax, 0x88
jae 0x541fa6
cmp eax, 0x81
je 0x541fa6
cmp dword [edi + 0x6c], 0
jne 0x541fb0
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
cmp byte [eax + edx], 0x77
je 0x541fb0
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x573630]
add edx, ecx
mov dword [esp + 0x14], edx
jmp 0x541b43
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 + 0x573630]
add ecx, eax
push ecx
push esi
call fcn.005384a0
cmp eax, 0xfffffc20
jne 0x54201f
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 0x54546a
cmp byte [ecx], 0x77
je 0x542027
cmp byte [edx], 0x77
jne 0x54546a
jmp 0x542027
test eax, eax
jne 0x542707
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.0x545300.14
mov dword [edi + 0x90], ebx
mov edx, eax
jmp 0x541f6b
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 0x5420a6
mov ecx, dword [esp + 0x28]
add ecx, 3
push ecx
push esi
call fcn.005384a0
test eax, eax
jne 0x54546a
mov ecx, dword [esp + 0x40]
mov al, byte [ecx]
cmp al, 0x81
je 0x542869
cmp al, 0x88
jae 0x5428a3
mov dword [esp + 0x14], ecx
jmp 0x541b43
mov ecx, dword [esp + 0x54]
push ecx
push esi
call fcn.005384a0
cmp eax, 0xfffffc1b
jne 0x5420c4
mov edx, dword [ebp + 0xb4]
cmp edx, dword [esp + 0x40]
jmp 0x5420c6
test eax, eax
jne 0x54546a
mov eax, dword [esp + 0x40]
cmp byte [eax], 0x81
je 0x5428c6
add dword [esp + 0x14], 3
jmp 0x541b43
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5420fe
jmp 0x5420f0
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x5420f0
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x5421cc
test cl, 0x20
jne 0x542124
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
jmp 0x5421ca
test cl, 0x10
jne 0x542149
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 0x5421cc
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x54216a
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x5421bc
and eax, 0x3f
test cl, 4
jne 0x54219b
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 0x5421cc
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x5421ee
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ebx, byte [eax*8 + 0x5742ca]
cmp esi, dword [esp + 0x34]
jbe 0x541b43
mov ebp, dword [esp + 0x20]
test ebp, ebp
lea edi, [esi - 1]
jne 0x54221d
movzx ecx, byte [edi]
jmp 0x5422fc
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x542235
mov dl, byte [edi - 1]
sub edi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x542227
movzx ecx, byte [edi]
cmp ecx, 0xc0
jb 0x5422fc
test cl, 0x20
jne 0x54225d
movzx eax, byte [edi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x5422fc
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x542284
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x5422fc
test cl, 8
jne 0x54229a
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
jmp 0x5422ec
and eax, 0x3f
test cl, 4
jne 0x5422cb
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 0x5422fc
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x54231e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx eax, byte [eax*8 + 0x5742ca]
mov edx, 1
mov ecx, ebx
shl edx, cl
test dword [eax*4 + 0x573794], edx
je 0x54234b
mov esi, edi
mov ebx, eax
jmp 0x542200
cmp esi, dword [esp + 0x34]
ja 0x540aa0
jmp 0x541b43
sub ecx, 1
je case.0x545300.14
jmp 0x54546a
add dword [eax], 1
mov eax, 0xfffffff8
jmp 0x54546a
mov eax, 0xffffffeb
jmp 0x54546a
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 + 0x573630]
movzx ecx, byte [eax + 1]
add edx, eax
add ecx, edx
push ecx
push esi
call fcn.005384a0
cmp eax, 1
je 0x5423dd
cmp eax, 0xfffffc19
jne 0x5423f1
cmp dword [ebx + 0xac], 0
jne 0x5423f1
mov dword [ebx + 0xac], edi
jmp 0x54546a
cmp eax, 0xfffffc1f
jne 0x54546a
mov edx, edi
mov edi, dword [ebx + 0x7c]
mov cl, byte [edx]
cmp cl, byte [edi]
jne 0x542418
test cl, cl
je 0x542426
mov cl, byte [edx + 1]
add edx, 1
add edi, 1
cmp cl, byte [edi]
je 0x542407
movzx edi, byte [edi]
movzx ecx, byte [edx]
sub ecx, edi
jne 0x54546a
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x54546a
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 + 0x573630]
add edx, eax
push edx
push esi
call fcn.005384a0
test eax, eax
jne 0x54546a
mov eax, 0xfffffc1c
jmp 0x54546a
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 + 0x573630]
add ecx, eax
push ecx
push esi
call fcn.005384a0
test eax, eax
jne 0x54546a
mov eax, 0xfffffc1d
jmp 0x54546a
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 + 0x573630]
movzx edx, byte [eax + 1]
add ecx, eax
add edx, ecx
push edx
push esi
call fcn.005384a0
cmp eax, 1
je 0x542527
cmp eax, 0xfffffc19
jne 0x542536
cmp dword [ebx + 0xac], 0
jne 0x542536
mov dword [ebx + 0xac], edi
test eax, eax
jne 0x54546a
mov eax, 0xfffffc1d
jmp 0x54546a
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 + 0x573630]
add edx, eax
push edx
push esi
call fcn.005384a0
test eax, eax
jne 0x54546a
mov dword [edi + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x54546a
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 + 0x573630]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.005384a0
test eax, eax
jne 0x54546a
add ebx, 2
mov dword [edi + 0x7c], ebx
mov eax, 0xfffffc1f
jmp 0x54546a
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 + 0x573630]
push ecx
add eax, edi
push eax
push esi
call fcn.005384a0
jmp 0x542694
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 + 0x573630]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.005384a0
cmp eax, 1
je 0x542685
cmp eax, 0xfffffc19
jne 0x542694
cmp dword [ebx + 0xac], 0
jne 0x542694
mov dword [ebx + 0xac], ebp
test eax, eax
jne 0x54546a
mov dword [ebx + 0x7c], edi
mov eax, 0xfffffc20
jmp 0x54546a
test eax, eax
jne 0x54546a
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 0x541ee0
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 0x54546a
cmp eax, 0xfffffc1b
jne 0x54546a
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx]
cmp dl, 0x81
je 0x54273b
cmp dl, 0x77
jne 0x542731
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add ecx, edx
cmp byte [ecx], 0x77
je 0x542722
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
sub ecx, edx
cmp dword [edi + 0xb4], ecx
jne 0x54546a
xor eax, eax
jmp 0x54546a
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jne 0x542788
cmp ebx, 0x9f
je 0x542788
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa4], ebp
jne 0x54278c
cmp dword [eax + 0x5c], ebp
jne 0x542781
cmp dword [eax + 0x60], ebp
je 0x54278c
mov edx, dword [eax + 0x94]
add edx, dword [eax + 0x74]
cmp ecx, edx
jne 0x54278c
xor eax, eax
jmp 0x54546a
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 0x54546a
mov eax, 0xffffffe6
jmp 0x54546a
mov eax, 0xfffffffa
jmp 0x54546a
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0xdc]
cmp eax, edx
je 0x5427df
push eax
call dword [0x596f10]
mov eax, edi
jmp 0x54546a
mov eax, dword [esp + 0x54]
mov dword [ebp + 0xa4], eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x542806
push eax
call dword [0x596f10]
xor eax, eax
jmp 0x54546a
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 0x54546a
mov edx, dword [esp + 0x28]
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x7c], edx
mov eax, 1
jmp 0x54546a
mov eax, dword [esp + 0x28]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x8c], ebx
mov eax, 0xfffffc1a
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
mov ecx, dword [esp + 0x40]
mov dword [ebp + 0xb4], ecx
mov eax, 0xfffffc1b
jmp 0x54546a
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.005384a0
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
mov edx, dword [esp + 0x40]
mov dword [ebp + 0xb4], edx
mov eax, 0xfffffc1b
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
mov dword [ebp + 0xb4], edi
mov eax, 0xfffffc1b
jmp 0x54546a
xor ebp, ebp
cmp dword [edi + 0x88], ebp
je case.0x545300.14
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb case.0x545300.14
cmp dword [edi + 0x18], ebp
jne case.0x545300.14
cmp dword [edi + 0x1c], 2
jne case.0x545300.14
mov dl, byte [esi]
cmp dl, byte [edi + 0x34]
jne case.0x545300.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x545451
cmp dword [edi + 0x88], 0
je case.0x545300.14
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb case.0x545300.14
cmp dword [edi + 0x18], 0
jne case.0x545300.14
cmp dword [edi + 0x1c], 2
jne case.0x545300.14
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne case.0x545300.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x545451
cmp dword [ecx + 0x88], ebp
jmp 0x5432d0
cmp dword [eax + 0x88], ebp
jmp 0x54375f
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x10]
jne 0x543150
mov esi, dword [eax + 0x78]
jmp 0x543150
cmp ebp, eax
mov dword [esp + 0x34], esi
jge 0x542a63
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.00538160
test eax, eax
jl 0x542a2c
add ebp, 1
add esi, eax
cmp ebp, dword [esp + 0x18]
jl 0x542a06
jmp 0x542a5d
cmp eax, 0xfffffffe
jne 0x542a5d
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x542a5d
mov edx, dword [eax + 0x78]
cmp edx, dword [eax + 0x84]
jbe 0x542a5d
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545457
cmp esi, dword [esp + 0x34]
jb 0x542aa5
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
jmp 0x542a70
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.005384a0
test eax, eax
jne 0x54546a
sub esi, edi
cmp esi, dword [esp + 0x34]
jae 0x542a70
xor eax, eax
jmp 0x54546a
cmp eax, 0xfffffffe
jne 0x542ab4
mov esi, dword [ebp + 0x78]
cmp dword [ebp + 0x88], 0
je case.0x545300.14
cmp esi, dword [ebp + 0x78]
jb case.0x545300.14
cmp esi, dword [ebp + 0x84]
jbe case.0x545300.14
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jmp 0x545451
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov edi, edx
je 0x542c9a
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.005384a0
test eax, eax
jne 0x54546a
jmp 0x542b30
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x542c39
test al, 0x20
jne 0x542b72
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x542c39
test al, 0x10
jne 0x542b98
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 0x542c39
test al, 8
jne 0x542bca
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 0x542c39
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x542c05
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 0x542c39
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 0x542c47
cmp dword [esp + 0x40], 0x6e
jmp 0x542c5f
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.0x545300.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.005384a0
test eax, eax
je 0x542b30
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
jmp 0x542cd0
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
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.0x545300.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.005384a0
test eax, eax
je 0x542cd0
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x542e87
cmp eax, 0xc0
jb 0x542e87
test al, 0x20
jne 0x542dc0
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x542e87
test al, 0x10
jne 0x542de6
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 0x542e87
test al, 8
jne 0x542e18
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 0x542e87
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x542e53
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 0x542e87
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.00547420
test eax, eax
je case.0x545300.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.005384a0
test eax, eax
je 0x542d73
jmp 0x54546a
cmp dword [eax + 0x88], 0
je case.0x545300.14
cmp esi, dword [eax + 0x78]
jb case.0x545300.14
jmp 0x542ef8
cmp dword [eax + 0x88], ebp
je case.0x545300.14
cmp esi, dword [eax + 0x84]
jbe case.0x545300.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x545451
cmp dword [edi + 0x88], ebp
jmp 0x5437d9
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x545300.14
cmp esi, dword [ecx + 0x78]
jb case.0x545300.14
cmp esi, dword [ecx + 0x84]
jbe case.0x545300.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x545451
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.005384a0
test eax, eax
jne 0x54546a
jmp 0x542fa0
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x18]
jge case.0x545300.14
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edx, ebx
sub edx, ebp
cmp esi, edx
ja 0x54305e
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x542fe4
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x542fec
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x542fd0
test eax, eax
je 0x543051
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x54303b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x54304d
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x54303b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x54304d
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x54303b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x54304d
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x54304d
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x543053
or eax, 0xffffffff
jmp 0x543053
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x54305e
add esi, ebp
jmp 0x54310d
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x54314c
sub ebx, eax
cmp esi, ebx
ja 0x54314c
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x543096
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x54309e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x543082
test eax, eax
je 0x543103
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x5430f5
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x543103
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x5430f5
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x543103
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x5430f5
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x543103
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x543103
test edi, edi
mov eax, 1
jg 0x543105
or eax, 0xffffffff
jmp 0x543105
xor eax, eax
test eax, eax
jne 0x54314c
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.005384a0
test eax, eax
je 0x542fa0
jmp 0x54546a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x545300.14
cmp esi, dword [eax + 0x78]
jb case.0x545300.14
cmp esi, dword [eax + 0x84]
jbe case.0x545300.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x545451
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.005384a0
test eax, eax
jne 0x54546a
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
cmp ebx, eax
je 0x5431e8
cmp dword [esp + 0x38], eax
jne case.0x545300.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.005384a0
test eax, eax
je 0x5431c0
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
lea esp, [esp]
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx edx, byte [esi]
add esi, 1
cmp ebx, edx
jne case.0x545300.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.005384a0
test eax, eax
je 0x543260
jmp 0x54546a
cmp dword [edx + 0x88], ebp
jmp 0x545431
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x545300.14
cmp esi, dword [ecx + 0x84]
jbe case.0x545300.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x545451
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x543487
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x54343e
test al, 0x20
jne 0x543377
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x54343e
test al, 0x10
jne 0x54339d
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 0x54343e
test al, 8
jne 0x5433cf
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 0x54343e
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x54340a
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 0x54343e
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.0x545300.14
cmp dword [esp + 0x38], eax
je case.0x545300.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.005384a0
test eax, eax
je 0x543335
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
cmp dword [esp + 0x30], eax
je case.0x545300.14
cmp dword [esp + 0x38], eax
je case.0x545300.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.005384a0
test eax, eax
je 0x5434b4
jmp 0x54546a
cmp dword [ebx + 0x88], 0
je case.0x545300.14
cmp esi, dword [ebx + 0x84]
jbe case.0x545300.14
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jmp 0x545451
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x5436ca
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x54368b
test al, 0x20
jne 0x5435c4
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x54368b
test al, 0x10
jne 0x5435ea
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 0x54368b
test al, 8
jne 0x54361c
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 0x54368b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x543657
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 0x54368b
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.0x545300.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.005384a0
test eax, eax
je 0x543582
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
jmp 0x543700
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x545300.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.005384a0
test eax, eax
je 0x543700
jmp 0x54546a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x545300.14
cmp esi, dword [eax + 0x84]
jbe case.0x545300.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x545451
cmp dword [ebx + 0x88], 0
je case.0x545300.14
cmp esi, dword [ebx + 0x84]
jbe case.0x545300.14
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x545451
cmp dword [ecx + 0x88], 0
je case.0x545300.14
cmp esi, dword [ecx + 0x84]
jbe case.0x545300.14
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jmp 0x545451
cmp dword [edi + 0x88], 0
je case.0x545300.14
cmp esi, dword [edi + 0x84]
jbe case.0x545300.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x545451
test eax, eax
jl 0x5449e3
cmp eax, 0xa
ja case.default.0x53abef
jmp dword [eax*4 + 0x545988]
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.005384a0
test eax, eax
jne 0x54546a
nop
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5438a2
cmp eax, 0xc0
jb 0x5438a2
test al, 0x20
jne 0x543884
add esi, 1
jmp 0x5438a2
test al, 0x10
jne 0x54388d
add esi, 2
jmp 0x5438a2
test al, 8
jne 0x543896
add esi, 3
jmp 0x5438a2
test al, 4
jne 0x54389f
add esi, 4
jmp 0x5438a2
add esi, 5
cmp dword [esp + 0x44], 0
jne case.0x545300.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.005384a0
test eax, eax
je 0x543850
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
jmp 0x543920
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543a39
cmp ecx, 0xc0
jb 0x543a39
test cl, 0x20
jne 0x54396f
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x543a39
test cl, 0x10
jne 0x543996
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 0x543a39
test cl, 8
jne 0x5439c9
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 0x543a39
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x543a05
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 0x543a39
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x543a5b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx eax, byte [eax*8 + 0x5742c9]
cmp eax, 9
je 0x543a80
cmp eax, 5
je 0x543a80
cmp eax, 8
je 0x543a80
xor eax, eax
jmp 0x543a85
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x545300.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.005384a0
test eax, eax
je 0x543920
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
lea ecx, [ecx]
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543c19
cmp ecx, 0xc0
jb 0x543c19
test cl, 0x20
jne 0x543b4f
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x543c19
test cl, 0x10
jne 0x543b76
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 0x543c19
test cl, 8
jne 0x543ba9
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 0x543c19
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x543be5
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 0x543c19
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x543c3b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x573808], eax
sete dl
cmp edx, dword [esp + 0x44]
je case.0x545300.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.005384a0
test eax, eax
je 0x543b00
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543dee
cmp ecx, 0xc0
jb 0x543dee
test cl, 0x20
jne 0x543d24
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x543dee
test cl, 0x10
jne 0x543d4b
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 0x543dee
test cl, 8
jne 0x543d7e
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 0x543dee
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x543dba
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 0x543dee
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x543e10
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x545300.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.005384a0
test eax, eax
je 0x543cd5
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543fbc
cmp ecx, 0xc0
jb 0x543fbc
test cl, 0x20
jne 0x543ef2
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x543fbc
test cl, 0x10
jne 0x543f19
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 0x543fbc
test cl, 8
jne 0x543f4c
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 0x543fbc
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x543f88
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 0x543fbc
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 + 0x575948]
shl eax, 7
and ecx, 0x8000007f
jns 0x543fde
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577b48]
movzx edx, byte [ecx*8 + 0x5742c8]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x545300.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.005384a0
test eax, eax
je 0x543ea3
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x54418a
cmp ecx, 0xc0
jb 0x54418a
test cl, 0x20
jne 0x5440c0
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x54418a
test cl, 0x10
jne 0x5440e7
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 0x54418a
test cl, 8
jne 0x54411a
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 0x54418a
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x544156
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 0x54418a
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x5441ac
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
mov eax, dword [ecx*4 + 0x573808]
cmp eax, 1
je 0x5441d3
cmp eax, 3
je 0x5441d3
xor eax, eax
jmp 0x5441d8
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x545300.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.005384a0
test eax, eax
je 0x544071
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544369
cmp ecx, 0xc0
jb 0x544369
test cl, 0x20
jne 0x54429f
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x544369
test cl, 0x10
jne 0x5442c6
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 0x544369
test cl, 8
jne 0x5442f9
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 0x544369
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x544335
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 0x544369
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 0x5443b3
je case.0x5443d3.8192
cmp ecx, 0x85
ja 0x54439f
je case.0x5443d3.8192
cmp ecx, 9
jb case.0x5443d3.8203
cmp ecx, 0xd
jbe case.0x5443d3.8192
cmp ecx, 0x20
jmp 0x5443ec
cmp ecx, 0xa0
je case.0x5443d3.8192
cmp ecx, 0x1680
jmp 0x5443ec
cmp ecx, 0x202f
ja 0x5443da
je case.0x5443d3.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x5443d3.8203
movzx eax, byte [eax + 0x5459bc]
jmp dword [eax*4 + 0x5459b4]
cmp ecx, 0x205f
je case.0x5443d3.8192
cmp ecx, 0x3000
je case.0x5443d3.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x544414
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742c9]
xor edx, edx
cmp dword [ecx*4 + 0x573808], 6
sete dl
cmp edx, dword [esp + 0x44]
je case.0x545300.14
jmp 0x54444a
cmp dword [esp + 0x44], 0
jne case.0x545300.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.005384a0
test eax, eax
je 0x544250
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
jmp 0x5444c0
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5445d9
cmp ecx, 0xc0
jb 0x5445d9
test cl, 0x20
jne 0x54450f
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x5445d9
test cl, 0x10
jne 0x544536
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 0x5445d9
test cl, 8
jne 0x544569
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 0x5445d9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x5445a5
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 0x5445d9
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 + 0x575948]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x5445fd
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x577b48]
movzx edx, byte [eax*8 + 0x5742c9]
mov eax, dword [edx*4 + 0x573808]
cmp eax, 1
je 0x544629
cmp eax, 3
je 0x544629
cmp ecx, 0x5f
je 0x544629
xor eax, eax
jmp 0x54462e
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x545300.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.005384a0
test eax, eax
je 0x5444c0
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5447ba
cmp eax, 0xc0
jb 0x5447ba
test al, 0x20
jne 0x5446f3
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x5447ba
test al, 0x10
jne 0x544719
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 0x5447ba
test al, 8
jne 0x54474b
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 0x5447ba
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x544786
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 0x5447ba
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 + 0x574188]
cmp eax, ecx
lea edx, [edx*4 + 0x574188]
jb 0x5447dd
add edx, 4
cmp eax, ecx
je 0x5447ea
mov ecx, dword [edx]
cmp eax, ecx
jae 0x5447d0
cmp dword [esp + 0x44], 0
je case.0x545300.14
jmp 0x5447f5
cmp dword [esp + 0x44], 0
jne case.0x545300.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.005384a0
test eax, eax
je 0x5446a6
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x543758
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544977
cmp eax, 0xc0
jb 0x544977
test al, 0x20
jne 0x5448b0
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x544977
test al, 0x10
jne 0x5448d6
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 0x544977
test al, 8
jne 0x544908
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 0x544977
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x544943
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 0x544977
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 0x54499f
cmp eax, 0x40
je 0x54499f
cmp eax, 0x60
je 0x54499f
cmp eax, 0xa0
jb 0x544994
cmp eax, 0xd7ff
jbe 0x54499f
cmp eax, 0xe000
jae 0x54499f
xor eax, eax
jmp 0x5449a4
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x545300.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.005384a0
test eax, eax
je 0x544863
jmp 0x54546a
cmp dword [esp + 0x38], 0x16
jne 0x544d37
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.005384a0
test eax, eax
jne 0x54546a
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
jge case.0x545300.14
mov ebp, dword [eax + 0x78]
cmp esi, ebp
jae 0x543758
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x544b42
cmp ecx, 0xc0
jb 0x544b42
test cl, 0x20
jne 0x544a78
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x544b42
test cl, 0x10
jne 0x544a9f
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 0x544b42
test cl, 8
jne 0x544ad2
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 0x544b42
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x544b0e
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 0x544b42
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 + 0x575948]
shl eax, 7
and ecx, 0x8000007f
jns 0x544b64
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, ebp
movzx ecx, word [eax*2 + 0x577b48]
movzx ebx, byte [ecx*8 + 0x5742ca]
jae 0x544cc9
mov edi, edi
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x544c79
cmp ecx, 0xc0
jb 0x544c79
test cl, 0x20
jne 0x544bbb
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x544c77
test cl, 0x10
jne 0x544be5
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 0x544c79
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x544c0b
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x544c69
and eax, 0x3f
test cl, 4
jne 0x544c44
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 0x544c79
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 + 0x575948]
shl edx, 7
and ecx, 0x8000007f
jns 0x544c9b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577b48]
movzx ecx, byte [eax*8 + 0x5742ca]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x573794], edx
je 0x544cc9
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x544b80
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x544cf8
cmp esi, ebp
jb 0x544cf8
cmp esi, dword [eax + 0x84]
jbe 0x544cf8
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x545457
jmp 0x544cfd
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.005384a0
test eax, eax
je 0x544a23
jmp 0x54546a
cmp dword [esp + 0x20], 0
mov ebp, dword [esp + 0x28]
je 0x5451d9
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.005384a0
test eax, eax
jne 0x54546a
nop
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x30], ecx
jge case.0x545300.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x54542a
cmp dword [esp + 0x38], 0xc
jne 0x544dfa
mov eax, dword [edx + 0x18]
test eax, eax
je 0x544dd3
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.00546ca0
test eax, eax
jne case.0x545300.14
mov edx, dword [esp + 0x10]
jmp 0x544dfa
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x544dfa
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x544dfa
cmp dword [edx + 0x1c], 1
je case.0x545300.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x545300.14
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x544ee4
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x544e25
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x544ee4
test al, 0x10
jne 0x544e45
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 0x544ee4
test al, 8
jne 0x544e71
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 0x544ee4
test al, 4
jne 0x544ea9
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 0x544ee4
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.0x53abef
jmp dword [ecx*4 + 0x5459e8]
cmp dword [edx + 0x88], 0
je case.0x544ef4.13
cmp esi, dword [edx + 0x78]
jb case.0x544ef4.13
cmp dword [edx + 0x18], 0
jne case.0x544ef4.13
cmp dword [edx + 0x1c], 2
jne case.0x544ef4.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x544ef4.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x545457
jmp case.0x544ef4.13
cmp eax, 0xd
ja 0x544f7f
je 0x544f65
cmp eax, 0xa
je case.0x544ef4.13
jbe case.0x545300.14
cmp eax, 0xc
jmp 0x544f96
cmp esi, dword [edx + 0x78]
jae case.0x544ef4.13
cmp byte [esi], 0xa
jne case.0x544ef4.13
add esi, 1
jmp case.0x544ef4.13
cmp eax, 0x85
je 0x544f9c
cmp eax, 0x2027
jbe case.0x545300.14
cmp eax, 0x2029
ja case.0x545300.14
cmp dword [edx + 0x68], 0
jne case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x180e
ja 0x544fe0
je case.0x545300.14
cmp eax, 0xa0
ja 0x544fd6
je case.0x545300.14
cmp eax, 9
je case.0x545300.14
cmp eax, 0x20
jmp 0x5451a3
cmp eax, 0x1680
jmp 0x5451a3
cmp eax, 0x205f
ja 0x54500d
je case.0x545300.14
cmp eax, 0x2000
jb case.0x544ef4.13
cmp eax, 0x200a
jbe case.0x545300.14
cmp eax, 0x202f
jmp 0x5451a3
cmp eax, 0x3000
jmp 0x5451a3
cmp eax, 0x180e
ja 0x545058
je case.0x544ef4.13
cmp eax, 0xa0
ja 0x545048
je case.0x544ef4.13
cmp eax, 9
je case.0x544ef4.13
cmp eax, 0x20
jne case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x1680
jne case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x205f
ja 0x54508b
je case.0x544ef4.13
cmp eax, 0x2000
jb case.0x545300.14
cmp eax, 0x200a
jbe case.0x544ef4.13
cmp eax, 0x202f
jne case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x3000
jne case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x85
ja 0x5450bf
je case.0x545300.14
cmp eax, 0xa
jb case.0x544ef4.13
cmp eax, 0xd
jbe case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x2028
jb case.0x544ef4.13
cmp eax, 0x2029
jbe case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x85
ja 0x5450fe
je case.0x544ef4.13
cmp eax, 0xa
jb case.0x545300.14
cmp eax, 0xd
ja case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x2028
jb case.0x545300.14
cmp eax, 0x2029
ja case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x100
jae case.0x544ef4.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jne case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x100
jae case.0x545300.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jmp 0x5451a3
cmp eax, 0x100
jae case.0x544ef4.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jne case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x100
jae case.0x545300.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jmp 0x5451a3
cmp eax, 0x100
jae case.0x544ef4.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
jne case.0x545300.14
jmp case.0x544ef4.13
cmp eax, 0x100
jae case.0x545300.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
je case.0x545300.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.005384a0
test eax, eax
je 0x544d80
jmp 0x54546a
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.005384a0
test eax, eax
jne 0x54546a
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x545300.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x54542a
cmp dword [esp + 0x38], 0xc
jne 0x545281
mov eax, dword [edx + 0x18]
test eax, eax
je 0x54525a
push 0
mov ecx, edx
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edx
push ecx
push eax
push esi
call fcn.00546ca0
test eax, eax
jne case.0x545300.14
mov edx, dword [esp + 0x10]
jmp 0x545281
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x545281
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x545281
cmp dword [edx + 0x1c], 1
je case.0x545300.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x545300.14
mov ecx, dword [esp + 0x38]
movzx eax, byte [esi]
add ecx, 0xfffffffa
add esi, 1
cmp ecx, 0xf
ja case.default.0x53abef
jmp dword [ecx*4 + 0x545a28]
cmp dword [edx + 0x88], 0
je case.0x545297.13
cmp esi, dword [edx + 0x78]
jb case.0x545297.13
cmp dword [edx + 0x18], 0
jne case.0x545297.13
cmp dword [edx + 0x1c], 2
jne case.0x545297.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x545297.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x545457
jmp case.0x545297.13
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x545300.14
movzx eax, byte [eax + 0x545a78]
jmp dword [eax*4 + 0x545a68]
cmp esi, dword [edx + 0x78]
jae case.0x545297.13
cmp byte [esi], 0xa
jne case.0x545297.13
add esi, 1
jmp case.0x545297.13
cmp dword [edx + 0x68], 0
jne case.0x545300.14
jmp case.0x545297.13
cmp eax, 9
je case.0x545300.14
cmp eax, 0x20
je case.0x545300.14
cmp eax, 0xa0
jmp 0x5453f2
cmp eax, 9
je case.0x545297.13
cmp eax, 0x20
je case.0x545297.13
cmp eax, 0xa0
jne case.0x545300.14
jmp case.0x545297.13
cmp eax, 0xa
jb case.0x545297.13
cmp eax, 0xd
jbe case.0x545300.14
cmp eax, 0x85
jmp 0x5453f2
cmp eax, 0xa
jb case.0x545300.14
cmp eax, 0xd
jbe case.0x545297.13
cmp eax, 0x85
jne case.0x545300.14
jmp case.0x545297.13
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jne case.0x545300.14
jmp case.0x545297.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jmp 0x5453f2
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jne case.0x545300.14
jmp case.0x545297.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jmp 0x5453f2
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x545300.14
jmp case.0x545297.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
je case.0x545300.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.005384a0
test eax, eax
je 0x545210
jmp 0x54546a
cmp dword [edx + 0x88], 0
je case.0x545300.14
cmp esi, dword [edx + 0x84]
jbe case.0x545300.14
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jle case.0x545300.14
mov eax, 0xfffffff4
jmp 0x54546a
mov eax, 0xfffffff2
jmp 0x54546a
mov eax, 0xfffffffb
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x150]
pop esi
xor ecx, esp
call fcn.0054962d
add esp, 0x150
ret 0x1c