Function at 0x529dd0
Capabilities:
Encode data using base64
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1b0
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1bc]
push ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c4]
push ebp
mov ebp, dword [esp + 0x1cc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1d0]
push esi
mov dword [esp + 0x38], eax
lea esi, [esp + 0x24]
mov eax, dword [esp + 0x1d8]
push edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x40], eax
mov dword [esi + 0x5c], 0
mov dword [esp + 0x10], esi
lea ebx, [ebx]
mov dword [esi + 0x60], 0
jmp 0x529e50
mov edx, dword [ebp]
mov ebx, dword [ebp + 0x48]
mov dword [esp + 0x14], ebx
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, dword [ebp + 4]
jb 0x529e91
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x529e7f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390cf
mov edi, 0xfffffff8
jmp 0x534bcf
mov eax, dword [esi + 0x18]
cmp eax, dword [ebp + 8]
jb 0x529ec5
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x529eb3
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390df
mov edi, 0xffffffeb
jmp 0x534bcf
cmp dword [ebp + 0x98], 2
jne 0x529eef
mov eax, dword [esi + 4]
lea ecx, [esi + 0x120]
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x14]
mov dword [ecx], eax
mov dword [esi + 0x14], ecx
mov dword [ebp + 0x98], 0
mov eax, dword [esi + 8]
xor ebx, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], ebx
movzx edx, byte [eax]
mov dword [esi + 0x94], edx
cmp edx, 0x9b
ja case.0x529f1c.98
movzx eax, byte [edx + 0x539328]
jmp dword [eax*4 + 0x5391e0]
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xb0], eax
push 0x12c
mov dword [ebp + 0xac], ebx
call dword [0xb24ee0]
mov edi, eax
add esp, 4
test edi, edi
jne 0x539076
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x529f67
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ef
mov edi, 0xfffffffa
jmp 0x534bcb
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x529f93
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
push 0x12c
call dword [0xb24ee0]
mov edx, eax
add esp, 4
test edx, edx
je 0x529f4d
mov dword [esi + 0x128], 0x34
jmp 0x52a0b2
push 0x12c
call dword [0xb24ee0]
mov edx, eax
add esp, 4
test edx, edx
je 0x529f4d
mov dword [esi + 0x128], 0x33
jmp 0x52a0b2
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xb0], eax
push 0x12c
mov dword [ebp + 0xac], ebx
call dword [0xb24ee0]
mov edi, eax
add esp, 4
test edi, edi
je 0x529f4d
mov dword [esi + 0x128], 0x38
jmp 0x539080
push 0x12c
call dword [0xb24ee0]
mov edx, eax
add esp, 4
test edx, edx
je 0x529f4d
mov dword [esi + 0x128], 0x35
jmp 0x52a0b2
cmp dword [ebp + 0x6c], ebx
je 0x52a069
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x6924a8]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 8], edx
jmp 0x529eef
push 0x12c
call dword [0xb24ee0]
mov edi, eax
add esp, 4
test edi, edi
je 0x529f4d
mov dword [esi + 0x128], 0x39
jmp 0x539080
push 0x12c
call dword [0xb24ee0]
mov edx, eax
add esp, 4
test edx, edx
je 0x529f4d
mov dword [esi + 0x128], 0x36
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x6924a8]
add eax, ecx
mov dword [edx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
inc eax
mov dword [edx + 0x18], eax
mov dword [edx], esi
mov esi, edx
jmp 0x529e2f
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xb0], eax
push 0x12c
mov dword [ebp + 0xac], ebx
call dword [0xb24ee0]
mov edi, eax
add esp, 4
test edi, edi
je 0x529f4d
mov dword [esi + 0x128], 0x3a
jmp 0x539080
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x24], eax
jmp 0x536495
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add ecx, ecx
mov dword [esi + 0x90], ecx
cmp ecx, dword [ebp + 0x14]
jge case.0x529f1c.123
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x9c], eax
mov ecx, dword [esi + 0x90]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x8c]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x24], eax
mov edx, dword [esi + 4]
mov ecx, dword [ebp + 0x10]
sub edx, dword [ebp + 0x74]
sub ecx, dword [esi + 0x8c]
mov eax, dword [ebp + 0xc]
mov dword [eax + ecx*4], edx
jmp 0x534c66
mov dword [esi + 0x4c], ebx
jmp 0x52ac51
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x70], ecx
mov eax, dword [esi + 8]
cmp byte [eax + 3], 0x70
jne 0x52a32e
mov edi, dword [0xb2c910]
test edi, edi
je 0x52a324
mov dword [esp + 0x158], 2
mov eax, dword [esi + 8]
movzx eax, byte [eax + 4]
mov dword [esp + 0x15c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x160], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x164], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x168], eax
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x16c], eax
mov eax, dword [esi + 4]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x170], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 5]
movzx eax, byte [eax + 6]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x180], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 7]
movzx eax, byte [eax + 8]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x184], ecx
mov eax, dword [esi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x174], eax
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x178], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x17c], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x188], eax
lea eax, [esp + 0x158]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x52a2f3
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52a2e4
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
jns 0x52a324
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52a30f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
jne 0x534bcb
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b0
ret
movzx eax, byte [0x692518]
add dword [esi + 8], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax + 3]
cmp edx, 0x89
je 0x52a596
cmp edx, 0x8a
je 0x52a596
cmp edx, 0x87
je 0x52a3e0
cmp edx, 0x88
je 0x52a3e0
cmp edx, 0x8b
jne 0x52a386
mov dword [esi + 0x50], ebx
mov ecx, dword [esi + 8]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 8], edx
jmp 0x534ed6
push 0x12c
mov dword [ebp + 0x98], 1
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 3
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], ebx
mov eax, dword [esi + 0x18]
inc eax
mov dword [ecx + 0x18], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x529e2f
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x90], ecx
cmp ecx, dword [esi + 0x10]
jge 0x52a409
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x52a409
mov eax, 1
jmp 0x52a40b
xor eax, eax
mov dword [esi + 0x50], eax
test eax, eax
jne 0x52a56b
cmp edx, 0x88
jne 0x52a56b
mov ebx, dword [esi + 0x90]
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x28]
mov edi, ecx
sar ebx, 1
mov dword [esp + 0x18], eax
test edx, edx
jle 0x52a467
mov esi, eax
lea esp, [esp]
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
cmp ecx, ebx
je 0x52a458
add edi, dword [ebp + 0x24]
inc esi
cmp esi, edx
jl 0x52a440
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp eax, edx
jge 0x52a56b
mov ebx, edi
cmp edi, ecx
jbe 0x52a4de
sub ebx, dword [ebp + 0x24]
lea eax, [edi + 2]
lea ecx, [ebx + 2]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x52a4a0
test dl, dl
je 0x52a49c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x52a4a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x52a480
xor eax, eax
jmp 0x52a4a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x52a4de
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x90], ecx
cmp ecx, dword [esi + 0x10]
jge 0x52a4cb
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x52a4d7
mov dword [esi + 0x50], 0
cmp ebx, dword [ebp + 0x28]
jmp 0x52a473
mov dword [esi + 0x50], 1
cmp dword [esi + 0x50], 0
jne 0x52a571
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, dword [ebp + 0x20]
jge 0x52a56b
lea eax, [edi + 2]
mov dword [esp + 0x1c], eax
lea esp, [esp]
add edi, dword [ebp + 0x24]
lea ecx, [edi + 2]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x52a526
test dl, dl
je 0x52a522
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x52a526
add eax, 2
add ecx, 2
test dl, dl
jne 0x52a506
xor eax, eax
jmp 0x52a52b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x52a56b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x90], ecx
cmp ecx, dword [esi + 0x10]
jge 0x52a551
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x52a564
inc ebx
mov dword [esi + 0x50], 0
cmp ebx, dword [ebp + 0x20]
jge 0x52a56b
mov eax, dword [esp + 0x1c]
jmp 0x52a500
mov dword [esi + 0x50], 1
cmp dword [esi + 0x50], 0
je 0x52a57e
mov ecx, 3
add dword [esi + 8], ecx
jmp 0x534ed6
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
jmp 0x534ed6
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x52a369
movzx ebx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ebx, 8
or ebx, eax
cmp ebx, 0xffff
je 0x52a5c2
cmp ebx, dword [ecx + 4]
je 0x52a5c2
xor eax, eax
jmp 0x52a5c7
mov eax, 1
mov dword [esi + 0x50], eax
test eax, eax
jne 0x52a714
cmp edx, 0x8a
jne 0x52a714
mov ecx, dword [ebp + 0x28]
xor edx, edx
mov eax, dword [ebp + 0x20]
mov edi, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edx
test eax, eax
jle 0x52a61a
movzx eax, byte [edi]
movzx ecx, byte [edi + 1]
shl eax, 8
or ecx, eax
mov eax, dword [ebp + 0x20]
cmp ecx, ebx
je 0x52a60f
add edi, dword [ebp + 0x24]
inc edx
cmp edx, eax
jl 0x52a5f4
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edi
cmp edx, eax
jge 0x52a714
mov ebx, edi
cmp edi, ecx
jbe 0x52a697
lea eax, [edi + 2]
mov dword [esp + 0x1c], eax
mov edi, eax
sub ebx, dword [ebp + 0x24]
mov eax, edi
lea ecx, [ebx + 2]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x52a660
test dl, dl
je 0x52a65c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x52a660
add eax, 2
add ecx, 2
test dl, dl
jne 0x52a640
xor eax, eax
jmp 0x52a665
sbb eax, eax
or eax, 1
test eax, eax
jne 0x52a68f
movzx eax, byte [ebx]
xor ecx, ecx
movzx edx, byte [ebx + 1]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x50], ecx
test ecx, ecx
jne 0x52a68f
cmp ebx, dword [ebp + 0x28]
ja 0x52a631
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
cmp dword [esi + 0x50], 0
jne 0x52a571
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [ebp + 0x20]
jge 0x52a714
lea eax, [edi + 2]
mov ebx, edx
mov dword [esp + 0x1c], eax
add edi, dword [ebp + 0x24]
lea ecx, [edi + 2]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x52a6e0
test dl, dl
je 0x52a6dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x52a6e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x52a6c0
xor eax, eax
jmp 0x52a6e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x52a714
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x50], ecx
test ecx, ecx
jne 0x52a714
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, dword [ebp + 0x20]
jl 0x52a6b4
cmp dword [esi + 0x50], 0
je 0x52a57e
mov ecx, 3
add dword [esi + 8], ecx
jmp 0x534ed6
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x8c]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [ebp + 0x14]
jl 0x52a771
mov dword [ebp + 0x3c], 1
add dword [esi + 8], 3
jmp 0x529eef
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x8c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x90]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x90]
cmp dword [esi + 0x10], eax
jg 0x52a7a7
add eax, 2
mov dword [esi + 0x10], eax
add dword [esi + 8], 3
jmp 0x529eef
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0xc]
cmp edi, ecx
jne 0x52a80a
cmp edx, 0x99
je 0x52a80a
cmp dword [ebp + 0xa4], ebx
jne 0x52a80a
cmp dword [ebp + 0x58], ebx
jne 0x52a7e1
cmp dword [ebp + 0x5c], ebx
je 0x52a80a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x52a80a
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52a7fb
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x94]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
jmp 0x52a2f5
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x24], eax
cmp dword [ebp + 0x98], 1
jne 0x52a859
mov dword [esi + 0x50], 1
mov dword [ebp + 0x98], ebx
jmp 0x534f76
mov dword [esi + 0x50], ebx
jmp 0x534f76
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x24], eax
cmp dword [ebp + 0x98], 1
jne 0x52a885
mov dword [esi + 0x50], 1
mov dword [ebp + 0x98], ebx
jmp 0x53507d
mov dword [esi + 0x50], ebx
jmp 0x53507d
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 8]
test ebx, ebx
je 0x52a913
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x52a8d0
dec dword [esi + 4]
dec edx
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x74]
jb 0x52a8ea
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x52a8cc
jmp 0x52a8c0
dec ecx
mov dword [esi + 4], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x52a8c0
test edx, edx
jg 0x52a8a7
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jae 0x52a8e1
mov dword [ebp + 0x84], eax
add dword [esi + 8], 3
jmp 0x529eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52a904
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 8]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 4], ecx
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
jae 0x52a8d0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52a948
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [0xb2c910]
test edi, edi
je 0x52aa5f
mov dword [esp + 0x18c], 2
mov eax, dword [esi + 8]
movzx eax, byte [eax + 1]
mov dword [esp + 0x190], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x194], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x198], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x19c], eax
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x1a0], eax
mov eax, dword [esi + 4]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x1a4], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x1b4], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x1b8], ecx
mov eax, dword [esi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1a8], eax
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x1ac], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x1b0], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x1bc], eax
lea eax, [esp + 0x18c]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x52aa59
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52aa4a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
js 0x52a2f5
add dword [esi + 8], 6
jmp 0x529eef
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x70]
add eax, ecx
mov dword [esi + 0x1c], eax
cmp eax, dword [ebp + 0x70]
jne 0x52aa89
xor edx, edx
jmp 0x52aa96
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x52aab3
cmp edx, dword [ecx + 4]
jne 0x52aaad
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x10]
je 0x52aae7
mov ecx, dword [ecx]
test ecx, ecx
jne 0x52aaa0
mov dword [esi + 0x3c], edx
lea ecx, [esi + 0x38]
mov eax, dword [esi + 4]
mov dword [esi + 0x48], eax
mov eax, dword [ebp + 0xa4]
mov dword [ecx], eax
mov dword [ebp + 0xa4], ecx
add dword [esi + 8], 3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x44], eax
cmp eax, 0x1e
jg 0x52ab13
lea eax, [esi + 0xa8]
mov dword [esi + 0x40], eax
jmp 0x52ab2b
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52ab01
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53910c
mov edi, 0xffffffe6
jmp 0x534bcb
shl eax, 2
push eax
call dword [0xb24ed8]
add esp, 4
mov dword [esi + 0x40], eax
test eax, eax
je 0x529f4d
mov eax, dword [esi + 0x44]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x40]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x1c]
add esp, 0xc
cmp byte [eax], 0x82
sbb eax, eax
inc eax
mov dword [esi + 0x50], eax
jmp 0x5351cc
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x52ab54
jmp 0x529eef
mov eax, dword [esi + 8]
inc eax
push 0x12c
mov dword [esi + 0x28], eax
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0xa
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x28]
jmp 0x535fc2
mov edx, dword [esi + 8]
inc edx
mov dword [esi + 0x28], edx
mov edi, edi
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x28], edx
cmp byte [edx], 0x71
je 0x52abb0
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0xb
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x28]
add eax, 3
jmp 0x535fc2
mov edx, dword [esi + 8]
inc edx
mov dword [esi + 0x28], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x28], edx
cmp byte [edx], 0x71
je 0x52ac01
lea eax, [edx + 3]
mov dword [esi + 8], eax
jmp 0x529eef
inc dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x94], eax
mov dword [esi + 0x4c], 1
mov eax, dword [esi + 0x94]
cmp eax, 0x80
je 0x52ac51
cmp eax, 0x85
jne 0x52ad20
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x90], eax
cmp eax, dword [ebp + 0x14]
jge case.0x529f1c.126
mov dword [esi + 0x54], ebx
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x70], eax
mov ecx, dword [esi + 0x90]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x9c], eax
mov ecx, dword [esi + 0x90]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x8c]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x98], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x8c]
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4], edx
cmp dword [esi + 0x94], 0x82
jl 0x52acf6
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0xb24ee0]
mov edx, eax
add esp, 4
test edx, edx
je 0x529f4d
mov dword [esi + 0x128], 0x3f
jmp 0x52a0b2
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x54], ebx
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x70], eax
cmp dword [esi + 0x94], 0x82
jl 0x52ad42
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0xb24ee0]
mov edx, eax
add esp, 4
test edx, edx
je 0x529f4d
mov dword [esi + 0x128], 0x30
jmp 0x52a0b2
mov edx, dword [esi + 8]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x30], edx
mov al, byte [edx]
cmp al, 0x82
jae 0x52ad8f
cmp al, 0x7b
je 0x52ad8f
mov dword [esi + 0x34], ebx
jmp 0x52ada0
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0x30]
mov al, byte [edx]
cmp al, 0x77
jb 0x52adad
cmp al, 0x7a
jbe 0x52adb1
cmp al, 0x7c
jne 0x52adf5
mov eax, dword [esi + 4]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x28]
mov dword [ebp + 0x7c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52ade3
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53913c
mov edi, 1
jmp 0x534bcb
cmp al, 0x7f
je 0x52ae09
cmp al, 0x84
je 0x52ae09
cmp al, 0x80
je 0x52ae09
cmp al, 0x85
jne 0x52aec4
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x52ae48
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x8c]
jne 0x52ae48
mov eax, dword [esi + 4]
mov dword [ebp + 0x80], eax
jmp 0x52adc3
mov eax, dword [esi + 0x8c]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [ebp + 0x14]
jl 0x52ae68
mov dword [ebp + 0x3c], 1
jmp 0x52aec4
mov edx, dword [esi + 0x10]
cmp ecx, edx
jle 0x52ae88
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x52ae88
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x8c]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x90]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x90]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x90]
cmp dword [esi + 0x10], eax
jg 0x52aec4
add eax, 2
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 8]
mov al, byte [ecx]
cmp al, 0x72
je 0x52af95
mov edx, dword [esi + 4]
cmp edx, dword [esi + 0x34]
je 0x52af95
cmp al, 0x75
jne 0x52af1c
mov dword [ebp + 0x80], edx
lea ecx, [esp + 0x28]
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x8c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52af0a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53911c
mov edi, 0xfffffc1b
jmp 0x534bcb
cmp al, 0x74
jne 0x52af53
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 7
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x535fc2
mov eax, dword [esi + 0x30]
cmp byte [eax], 0x82
jb 0x52af65
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0xd
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x30]
jmp 0x535fc2
mov eax, dword [esi + 0x30]
cmp byte [eax], 0x7b
jne 0x52afd0
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0xc
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x535fc2
lea eax, [ecx + 3]
mov dword [esi + 8], eax
jmp 0x529eef
cmp dword [ebp + 0x40], ebx
je case.0x529f1c.1
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
jne case.0x529f1c.1
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b002
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
je 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b037
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x40], ebx
je 0x52b07c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
jne 0x52b07c
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b06d
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x52b142
cmp ecx, dword [ebp + 0x78]
je 0x52b0d8
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x52b0b8
mov ebx, dword [esp + 0x14]
cmp ecx, edx
jbe 0x52b0dc
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0053ab00
add esp, 0x14
test eax, eax
jne 0x52b142
jmp 0x52b0dc
mov edi, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb 0x52b0d8
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x52b0d8
cmp edi, 1
je 0x52b142
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x52b142
mov ebx, dword [esp + 0x14]
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b0f6
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 4], eax
je 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b12d
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov eax, dword [esi + 4]
mov dword [esi + 0xc], eax
inc dword [esi + 8]
jmp 0x529eef
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x52b1bf
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x52b175
mov ebx, dword [esp + 0x14]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
jne 0x52b142
jmp 0x52b196
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x52b192
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x52b192
cmp edi, 1
je 0x52b142
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x52b142
mov ebx, dword [esp + 0x14]
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b1b0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x44], ebx
je 0x52b1ed
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b1de
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], ebx
je 0x52b142
cmp ecx, dword [ebp + 0x84]
jbe 0x52b142
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b233
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53912c
mov edi, 0xfffffff4
jmp 0x534bcb
cmp dword [ebp + 0x44], ebx
je 0x52b273
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b264
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x54], ebx
je case.0x529f1c.23
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52b2a9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b29a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], ebx
je 0x52b142
cmp eax, dword [ebp + 0x84]
jmp 0x52b1ff
mov ecx, dword [esi + 4]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x52b1ed
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x52b2f1
push dword [esp + 0x14]
push edi
push eax
push edx
push ecx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
jne 0x52b319
jmp 0x52b1c4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x52b1c4
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x52b1c4
cmp edx, 1
je 0x52b319
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
jne 0x52b1c4
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 4]
cmp ecx, eax
jmp 0x52b1c2
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x52b603
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x74]
jne 0x52b348
mov dword [esi + 0x54], 0
jmp 0x52b472
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x52b35c
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x52b352
cmp edx, dword [ebp + 0x84]
jae 0x52b36a
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x52b414
test bl, 0x20
jne 0x52b38a
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x52b40c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x52b3a4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x52b40c
and eax, 0x3f
test bl, 8
jne 0x52b3bf
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x52b40c
test bl, 4
jne 0x52b3e3
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
jmp 0x52b40c
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x50], 0
je 0x52b4d3
cmp ebx, 0x5f
jne 0x52b42c
mov dword [esi + 0x54], 1
jmp 0x52b46e
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x52b4e4
cmp eax, 3
je 0x52b4e4
xor eax, eax
mov dword [esi + 0x54], eax
mov ebx, dword [esp + 0x14]
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52b4eb
cmp dword [ebp + 0x88], 0
je 0x52b6b1
cmp edi, dword [ebp + 0x84]
jbe 0x52b6b1
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x52b6b1
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b4c1
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53912c
mov edi, 0xfffffff4
jmp 0x534bcf
cmp ebx, 0x100
jae 0x52b469
mov eax, dword [ebp + 0x38]
test byte [ebx + eax], 0x10
je 0x52b469
mov eax, 1
jmp 0x52b46b
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x52b595
test dl, 0x20
jne 0x52b50b
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x52b58d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52b525
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x52b58d
and eax, 0x3f
test dl, 8
jne 0x52b540
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x52b58d
test dl, 4
jne 0x52b564
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x52b58d
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp dword [ebp + 0x50], 0
je 0x52b5e8
cmp edx, 0x5f
jne 0x52b5ac
mov dword [esi + 0x4c], 1
jmp 0x52b6fd
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x52b5f9
cmp eax, 3
je 0x52b5f9
xor eax, eax
jmp 0x52b6fa
cmp edx, 0x100
jae 0x52b5e1
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je 0x52b5e1
mov eax, 1
jmp 0x52b6fa
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
jne 0x52b617
mov dword [esi + 0x54], 0
jmp 0x52b695
cmp eax, dword [ebp + 0x84]
ja 0x52b626
dec eax
mov dword [ebp + 0x84], eax
cmp dword [ebp + 0x50], 0
mov eax, dword [esi + 4]
je 0x52b681
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x52b641
mov dword [esi + 0x54], 1
jmp 0x52b695
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x52b67a
cmp eax, 3
je 0x52b67a
xor eax, eax
jmp 0x52b692
mov eax, 1
jmp 0x52b692
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x38]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x52b6ba
cmp dword [ebp + 0x88], 0
je 0x52b6b1
cmp eax, dword [ebp + 0x84]
jmp 0x52b48d
mov dword [esi + 0x4c], 0
jmp 0x52b6fd
cmp dword [ebp + 0x50], 0
je 0x52b6ea
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x52b6d1
mov dword [esi + 0x4c], 1
jmp 0x52b6fd
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, ecx
jmp 0x52b5c0
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x38]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
mov eax, dword [esi + 0x4c]
cmp cl, 5
jne 0x52b718
xor ecx, ecx
cmp eax, dword [esi + 0x54]
sete cl
jmp 0x52b720
xor ecx, ecx
cmp eax, dword [esi + 0x54]
setne cl
test ecx, ecx
je 0x529eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b742
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x52b77c
mov edx, dword [esi + 4]
mov edi, dword [ebp + 0x78]
mov ebx, dword [esp + 0x14]
cmp edx, edi
jae 0x52b7d0
push ebx
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
jne 0x52b7a3
jmp 0x52b7d0
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 4]
cmp ecx, eax
ja case.0x529f1c.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne case.0x529f1c.13
mov ebx, dword [esp + 0x14]
cmp edx, 1
je 0x52b7a3
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
jne 0x52b7d0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b7bd
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x52b826
cmp dword [ebp + 0x88], 0
je 0x52b7fd
cmp eax, dword [ebp + 0x84]
jbe 0x52b7fd
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b817
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc eax
mov dword [esi + 4], eax
test ebx, ebx
je 0x52b142
cmp eax, dword [ebp + 0x78]
jae 0x52b142
jmp 0x52b840
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x52b142
lea eax, [ecx + 1]
mov dword [esi + 4], eax
cmp eax, dword [ebp + 0x78]
jb 0x52b840
inc dword [esi + 8]
jmp 0x529eef
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x52b8b7
cmp dword [ebp + 0x88], ebx
je 0x52b88e
cmp eax, dword [ebp + 0x84]
jbe 0x52b88e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b8a8
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
inc eax
mov dword [esi + 4], eax
inc dword [esi + 8]
jmp 0x529eef
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52b918
cmp dword [ebp + 0x88], ebx
je 0x52b8ef
cmp edi, dword [ebp + 0x84]
jbe 0x52b8ef
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52b909
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52ba15
cmp edx, 0xc0
jb 0x52ba15
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52b952
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52ba12
test dl, 0x10
jne 0x52b974
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52ba15
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52b9a1
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52ba12
test dl, 4
jne 0x52b9d7
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52ba12
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x100
jae 0x52b142
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
je 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52ba48
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52baac
cmp dword [ebp + 0x88], ebx
je 0x52ba83
cmp edi, dword [ebp + 0x84]
jbe 0x52ba83
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52ba9d
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52bba9
cmp edx, 0xc0
jb 0x52bba9
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52bae6
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52bba6
test dl, 0x10
jne 0x52bb08
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52bba9
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52bb35
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52bba6
test dl, 4
jne 0x52bb6b
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52bba6
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0xff
ja 0x52bbc2
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
je 0x52bbc2
inc dword [esi + 8]
jmp 0x529eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52bbdc
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52bc40
cmp dword [ebp + 0x88], ebx
je 0x52bc17
cmp edi, dword [ebp + 0x84]
jbe 0x52bc17
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52bc31
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52bd3d
cmp edx, 0xc0
jb 0x52bd3d
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52bc7a
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52bd3a
test dl, 0x10
jne 0x52bc9c
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52bd3d
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52bcc9
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52bd3a
test dl, 4
jne 0x52bcff
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52bd3a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x100
jae 0x52b142
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
je 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52bd70
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52bdd4
cmp dword [ebp + 0x88], ebx
je 0x52bdab
cmp edi, dword [ebp + 0x84]
jbe 0x52bdab
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52bdc5
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52bed1
cmp edx, 0xc0
jb 0x52bed1
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52be0e
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52bece
test dl, 0x10
jne 0x52be30
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52bed1
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52be5d
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52bece
test dl, 4
jne 0x52be93
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52bece
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0xff
ja 0x52beea
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
je 0x52beea
inc dword [esi + 8]
jmp 0x529eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52bf04
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52bf68
cmp dword [ebp + 0x88], ebx
je 0x52bf3f
cmp edi, dword [ebp + 0x84]
jbe 0x52bf3f
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52bf59
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52c065
cmp edx, 0xc0
jb 0x52c065
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52bfa2
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52c062
test dl, 0x10
jne 0x52bfc4
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52c065
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52bff1
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52c062
test dl, 4
jne 0x52c027
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52c062
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x100
jae 0x52b142
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c098
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52c0fc
cmp dword [ebp + 0x88], ebx
je 0x52c0d3
cmp edi, dword [ebp + 0x84]
jbe 0x52c0d3
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c0ed
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52c1f9
cmp edx, 0xc0
jb 0x52c1f9
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52c136
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52c1f6
test dl, 0x10
jne 0x52c158
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52c1f9
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52c185
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52c1f6
test dl, 4
jne 0x52c1bb
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52c1f6
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0xff
ja 0x52c212
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je 0x52c212
inc dword [esi + 8]
jmp 0x529eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c22c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52c290
cmp dword [ebp + 0x88], ebx
je 0x52c267
cmp edi, dword [ebp + 0x84]
jbe 0x52c267
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c281
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52c38d
cmp edx, 0xc0
jb 0x52c38d
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52c2ca
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52c38a
test dl, 0x10
jne 0x52c2ec
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52c38d
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52c319
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52c38a
test dl, 4
jne 0x52c34f
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52c38a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0xd
ja 0x52c3c5
je 0x52c3a4
cmp edx, 0xa
je 0x52b142
jbe 0x52c3dd
cmp edx, 0xc
jmp 0x52c3db
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52b142
cmp byte [eax], 0xa
jne 0x52b142
inc eax
mov dword [esi + 4], eax
inc dword [esi + 8]
jmp 0x529eef
cmp edx, 0x85
je 0x52c406
cmp edx, 0x2027
jbe 0x52c3dd
cmp edx, 0x2029
jbe 0x52c406
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c3f7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x64], 0
je 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c42a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52c48e
cmp dword [ebp + 0x88], ebx
je 0x52c465
cmp edi, dword [ebp + 0x84]
jbe 0x52c465
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c47f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52c58b
cmp edx, 0xc0
jb 0x52c58b
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52c4c8
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52c588
test dl, 0x10
jne 0x52c4ea
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52c58b
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52c517
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52c588
test dl, 4
jne 0x52c54d
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52c588
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x180e
ja 0x52c5e6
je 0x52c5ad
cmp edx, 0xa0
ja 0x52c5d6
je 0x52c5ad
cmp edx, 9
je 0x52c5ad
cmp edx, 0x20
jne 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c5c7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x1680
je 0x52c5ad
inc dword [esi + 8]
jmp 0x529eef
cmp edx, 0x205f
ja 0x52c614
je 0x52c5ad
cmp edx, 0x2000
jb 0x52b142
cmp edx, 0x200a
jbe 0x52c5ad
cmp edx, 0x202f
je 0x52c5ad
inc dword [esi + 8]
jmp 0x529eef
cmp edx, 0x3000
je 0x52c5ad
inc dword [esi + 8]
jmp 0x529eef
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52c679
cmp dword [ebp + 0x88], ebx
je 0x52c650
cmp edi, dword [ebp + 0x84]
jbe 0x52c650
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c66a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52c776
cmp edx, 0xc0
jb 0x52c776
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52c6b3
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52c773
test dl, 0x10
jne 0x52c6d5
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52c776
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52c702
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52c773
test dl, 4
jne 0x52c738
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52c773
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x180e
ja 0x52c7a8
je 0x52b142
cmp edx, 0xa0
ja 0x52c7a0
je 0x52b142
cmp edx, 9
je 0x52b142
cmp edx, 0x20
jmp 0x52c7d8
cmp edx, 0x1680
jmp 0x52c7d8
cmp edx, 0x205f
ja 0x52c7d2
je 0x52b142
cmp edx, 0x2000
jb 0x52c7de
cmp edx, 0x200a
jbe 0x52b142
cmp edx, 0x202f
jmp 0x52c7d8
cmp edx, 0x3000
je 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c7f8
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52c85c
cmp dword [ebp + 0x88], ebx
je 0x52c833
cmp edi, dword [ebp + 0x84]
jbe 0x52c833
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c84d
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52c959
cmp edx, 0xc0
jb 0x52c959
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52c896
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52c956
test dl, 0x10
jne 0x52c8b8
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52c959
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52c8e5
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52c956
test dl, 4
jne 0x52c91b
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52c956
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x85
ja 0x52c979
je 0x52c988
cmp edx, 0xa
jb 0x52b142
cmp edx, 0xd
jbe 0x52c988
inc dword [esi + 8]
jmp 0x529eef
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c9a2
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52ca06
cmp dword [ebp + 0x88], ebx
je 0x52c9dd
cmp edi, dword [ebp + 0x84]
jbe 0x52c9dd
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52c9f7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52cb03
cmp edx, 0xc0
jb 0x52cb03
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52ca40
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52cb00
test dl, 0x10
jne 0x52ca62
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52cb03
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52ca8f
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52cb00
test dl, 4
jne 0x52cac5
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52cb00
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x85
ja 0x52cb48
je 0x52b142
cmp edx, 0xa
jb 0x52cb1f
cmp edx, 0xd
jbe 0x52b142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52cb39
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x52cb1f
inc dword [esi + 8]
jmp 0x529eef
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52cbb0
cmp dword [ebp + 0x88], ebx
je 0x52cb87
cmp edi, dword [ebp + 0x84]
jbe 0x52cb87
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52cba1
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52ccad
cmp edx, 0xc0
jb 0x52ccad
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52cbea
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52ccaa
test dl, 0x10
jne 0x52cc0c
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52ccad
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52cc39
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52ccaa
test dl, 4
jne 0x52cc6f
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52ccaa
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
mov eax, dword [esi + 8]
movzx eax, byte [eax + 1]
movzx edi, word [ecx*2 + 0x6958a0]
cmp eax, 8
ja case.0x537373.15
jmp dword [eax*4 + 0x5393c4]
cmp dword [esi + 0x94], 0xf
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52cd09
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov al, byte [edi*8 + 0x6925c1]
cmp al, 9
je 0x52cd2f
cmp al, 5
je 0x52cd2f
cmp al, 8
je 0x52cd2f
xor ecx, ecx
jmp 0x52cd34
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52cd62
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 8]
xor edx, edx
movzx ecx, byte [edi*8 + 0x6925c1]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x692548]
setne dl
xor eax, eax
cmp dword [esi + 0x94], 0x10
sete al
cmp edx, eax
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52cdba
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 8]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edi*8 + 0x6925c1]
setne cl
xor eax, eax
cmp dword [esi + 0x94], 0x10
sete al
cmp ecx, eax
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52ce09
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 8]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edi*8 + 0x6925c0]
setne cl
xor eax, eax
cmp dword [esi + 0x94], 0x10
sete al
cmp ecx, eax
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52ce58
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx eax, byte [edi*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x52ce84
cmp eax, 3
je 0x52ce84
xor ecx, ecx
jmp 0x52ce89
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52ceb7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx eax, byte [edi*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 6
je 0x52cef0
cmp edx, 9
je 0x52cef0
cmp edx, 0xa
je 0x52cef0
cmp edx, 0xc
je 0x52cef0
cmp edx, 0xd
je 0x52cef0
xor ecx, ecx
jmp 0x52cef5
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52cf23
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx eax, byte [edi*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 6
je 0x52cf61
cmp edx, 9
je 0x52cf61
cmp edx, 0xa
je 0x52cf61
cmp edx, 0xb
je 0x52cf61
cmp edx, 0xc
je 0x52cf61
cmp edx, 0xd
je 0x52cf61
xor ecx, ecx
jmp 0x52cf66
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52cf94
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx eax, byte [edi*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x52cfc5
cmp eax, 3
je 0x52cfc5
cmp edx, 0x5f
je 0x52cfc5
xor ecx, ecx
jmp 0x52cfca
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52cff8
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d021
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5391bf
mov edi, 0xfffffff2
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52d088
cmp dword [ebp + 0x88], ebx
je 0x52d05f
cmp edi, dword [ebp + 0x84]
jbe 0x52d05f
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d079
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52d185
cmp edx, 0xc0
jb 0x52d185
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x52d0c2
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52d182
test dl, 0x10
jne 0x52d0e4
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x52d185
mov ecx, dword [esi + 4]
test dl, 8
jne 0x52d111
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x52d182
test dl, 4
jne 0x52d147
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x52d182
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 2
jne 0x52d1dc
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d1cd
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52b142
jmp 0x52d1f0
mov eax, dword [esi + 4]
mov ecx, 1
movzx edx, byte [eax]
test ebx, ebx
je 0x52d2f1
cmp edx, 0xc0
jb 0x52d2f1
test dl, 0x20
jne 0x52d225
movzx eax, byte [eax + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52d2e9
test dl, 0x10
jne 0x52d24a
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
movzx eax, byte [eax + 2]
jmp 0x52d2e9
test dl, 8
jne 0x52d278
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
mov ecx, 4
jmp 0x52d2e9
movzx eax, byte [eax + 1]
and eax, 0x3f
test dl, 4
jne 0x52d2b2
mov ecx, dword [esi + 4]
and edx, 3
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
mov ecx, 5
jmp 0x52d2e9
and edx, ecx
mov ecx, dword [esi + 4]
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
mov ecx, 6
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 2
jne 0x52b142
add dword [esi + 4], ecx
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x52d1f0
inc dword [esi + 8]
jmp 0x529eef
xor eax, eax
cmp edx, 0x6e
sete al
mov dword [esp + 0x154], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x90], ecx
add dword [esi + 8], 3
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x10]
jge 0x52d382
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x52d382
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x52d38c
mov eax, dword [ebp + 0x4c]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x80], eax
mov edx, dword [esi + 8]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x52d3ad
movzx eax, byte [eax + 0x5393f0]
jmp dword [eax*4 + 0x5393e8]
lea eax, [edx + 1]
mov dword [esi + 8], eax
lea ebx, [ecx - 0x62]
movsx eax, byte [ecx + 0x691c66]
and ebx, 1
mov dword [esi + 0x88], eax
movsx eax, byte [ecx + 0x691c6e]
mov dword [esp + 0x20], ebx
mov dword [esi + 0x84], eax
test eax, eax
jne 0x52d433
mov dword [esi + 0x84], 0x7fffffff
jmp 0x52d433
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x20], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x88], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
jne 0x52d42f
mov dword [esi + 0x84], 0x7fffffff
add dword [esi + 8], 5
mov eax, dword [esi + 0x80]
test eax, eax
je 0x529eef
jns 0x52d450
cmp dword [esi + 0x88], 0
je 0x529eef
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x52d492
lea ecx, [ecx]
push dword [esp + 0x154]
mov ebx, dword [esi + 4]
push ebp
push dword [esi + 0x80]
push ebx
push dword [esi + 0x90]
call fcn.00539830
add esp, 0x14
test eax, eax
js 0x52d4b3
add eax, ebx
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x52d460
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x529eef
cmp dword [esp + 0x20], 0
je 0x52d509
mov dword [esi + 0x7c], eax
jmp 0x535464
cmp dword [ebp + 0x88], 0
je 0x52d4e0
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x52d4e0
cmp eax, dword [ebp + 0x84]
jbe 0x52d4e0
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d4fa
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov edi, dword [esi + 0x88]
jmp 0x52d520
cmp edi, dword [esi + 0x84]
jge 0x53549c
push dword [esp + 0x154]
mov ebx, dword [esi + 4]
push ebp
push dword [esi + 0x80]
push ebx
push dword [esi + 0x90]
call fcn.00539830
add esp, 0x14
test eax, eax
js 0x52d558
add eax, ebx
inc edi
mov dword [esi + 4], eax
jmp 0x52d520
cmp dword [ebp + 0x88], 0
je 0x53549c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x53549c
cmp eax, dword [ebp + 0x84]
jbe 0x53549c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x53549c
jmp 0x52b219
push dword [esp + 0x154]
push ebp
push dword [esi + 0x80]
push dword [esi + 4]
push dword [esi + 0x90]
call fcn.00539830
add esp, 0x14
mov dword [esi + 0x80], eax
test eax, eax
jns 0x52d615
cmp dword [ebp + 0x88], 0
je 0x52d5ec
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x52d5ec
cmp eax, dword [ebp + 0x84]
jbe 0x52d5ec
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d606
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
add dword [esi + 4], eax
jmp 0x529eef
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 0x24], eax
add dword [esi + 8], 0x21
mov edx, dword [esi + 8]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x52d643
movzx eax, byte [eax + 0x539400]
jmp dword [eax*4 + 0x5393f8]
lea eax, [edx + 1]
mov dword [esi + 8], eax
lea ebx, [ecx - 0x62]
movsx eax, byte [ecx + 0x691c66]
and ebx, 1
mov dword [esi + 0x88], eax
movsx eax, byte [ecx + 0x691c6e]
mov dword [esp + 0x18], ebx
mov dword [esi + 0x84], eax
test eax, eax
jne 0x52d6df
mov dword [esi + 0x84], 0x7fffffff
jmp 0x52d6df
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x18], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x88], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
jne 0x52d6c5
mov dword [esi + 0x84], 0x7fffffff
add dword [esi + 8], 5
jmp 0x52d6df
mov dword [esi + 0x84], 1
mov dword [esi + 0x88], 1
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x52d903
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x52d85b
lea esp, [esp]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x52d8b2
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
cmp ebx, 0xc0
jb 0x52d7f9
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x52d73a
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x52d7f6
test bl, 0x10
jne 0x52d75b
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x52d7f6
test bl, 8
jne 0x52d785
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x52d7f6
test bl, 4
jne 0x52d7bb
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x52d7f6
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp ebx, 0xff
jbe 0x52d833
cmp dword [esi + 0x94], 0x6a
jne 0x52d84a
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d824
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov eax, dword [esi + 0x24]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x52d889
inc edi
cmp edi, dword [esi + 0x88]
jle 0x52d700
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x529eef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x52d9c2
test ebx, ebx
jne 0x538f92
mov dword [esi + 0x7c], eax
jmp 0x5355d0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d8a3
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], 0
je 0x52d8da
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52d8da
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d8f4
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov ebx, 1
cmp dword [esi + 0x88], ebx
jl 0x52d857
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52d971
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 4], eax
and ecx, 7
mov eax, dword [esi + 0x24]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x52d948
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x52d914
jmp 0x52d857
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d962
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], 0
je 0x52d999
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52d999
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52d9b3
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x52db50
lea ebx, [ebx]
cmp eax, dword [esi + 0x84]
jge 0x5368ac
mov edi, dword [esi + 4]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x52db18
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x52dad5
test bl, 0x20
jne 0x52da28
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x18], 2
jmp 0x52dacd
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x52da4d
and ebx, 0xf
mov dword [esp + 0x18], 3
shl ebx, 6
or ebx, ecx
jmp 0x52dacd
and eax, 0x3f
test bl, 8
jne 0x52da70
and ebx, 7
mov dword [esp + 0x18], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x52dacd
test bl, 4
jne 0x52da9c
and ebx, 3
mov dword [esp + 0x18], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x52dacd
and ebx, 1
mov dword [esp + 0x18], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp ebx, 0xff
jbe 0x52dae6
cmp dword [esi + 0x94], 0x6a
jmp 0x52dafb
mov eax, dword [esi + 0x24]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x5368ac
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x52d9e0
cmp dword [ebp + 0x88], 0
je 0x5368ac
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5368ac
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x5368ac
jmp 0x52b219
cmp eax, dword [esi + 0x84]
jge 0x535602
mov ebx, dword [esi + 4]
cmp ebx, dword [ebp + 0x78]
jae 0x52db93
movzx edi, byte [ebx]
mov edx, 1
mov eax, dword [esi + 0x24]
mov ecx, edi
and ecx, 7
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x535602
lea eax, [ebx + 1]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x52db50
cmp dword [ebp + 0x88], 0
je 0x535602
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x535602
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x535602
jmp 0x52b219
mov eax, dword [esi + 8]
add eax, 3
mov dword [esi + 0x24], eax
mov edx, dword [esi + 8]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x52dc00
movzx eax, byte [eax + 0x539410]
jmp dword [eax*4 + 0x539408]
lea eax, [edx + 1]
mov dword [esi + 8], eax
lea ebx, [ecx - 0x62]
movsx eax, byte [ecx + 0x691c66]
and ebx, 1
mov dword [esi + 0x88], eax
movsx eax, byte [ecx + 0x691c6e]
mov dword [esi + 0x84], eax
test eax, eax
jne 0x52dc9a
mov dword [esi + 0x84], 0x7fffffff
jmp 0x52dc9a
movzx ecx, byte [edx + 1]
xor edi, edi
movzx eax, byte [edx + 2]
cmp bl, 0x69
mov ebx, edi
sete bl
shl ecx, 8
or ecx, eax
mov dword [esi + 0x88], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
jne 0x52dc7c
mov dword [esi + 0x84], 0x7fffffff
add dword [esi + 8], 5
jmp 0x52dc9a
mov ebx, dword [esp + 0x18]
mov dword [esi + 0x84], 1
mov dword [esi + 0x88], 1
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x52ddd9
jmp 0x52dcb0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x52de7d
movzx ecx, byte [edx]
inc edx
cmp dword [esp + 0x14], 0
mov dword [esi + 4], edx
je 0x52ddb4
cmp ecx, 0xc0
jb 0x52ddb4
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x52dcf5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x52ddb1
test cl, 0x10
jne 0x52dd16
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x52ddb1
test cl, 8
jne 0x52dd40
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x52ddb1
test cl, 4
jne 0x52dd76
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x52ddb1
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
push dword [esp + 0x14]
push dword [esi + 0x24]
push ecx
call fcn.0053b030
add esp, 0xc
test eax, eax
je 0x52de54
inc edi
cmp edi, dword [esi + 0x88]
jle 0x52dcb0
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x529eef
test ebx, ebx
jne 0x538fa0
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x20], eax
cmp eax, dword [esi + 0x84]
jge 0x52dfaf
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x52df8c
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x52df6b
cmp edx, 0xc0
jb 0x52df6b
test dl, 0x20
jne 0x52dece
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x52df63
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52de6e
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], 0
je 0x52dea5
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52dea5
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52debf
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52deed
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x52df63
and eax, 0x3f
test dl, 8
jne 0x52df0d
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x52df63
test dl, 4
jne 0x52df36
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x52df63
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
push dword [esp + 0x14]
push dword [esi + 0x24]
push edx
call fcn.0053b030
add esp, 0xc
test eax, eax
je 0x52dfaf
mov eax, dword [esp + 0x20]
add dword [esi + 4], ebx
inc eax
jmp 0x52ddff
cmp dword [ebp + 0x88], 0
je 0x52dfaf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52dfaf
mov dword [ebp + 0x60], ebx
cmp dword [ebp + 0x88], ebx
jg 0x52b219
mov ebx, dword [esp + 0x14]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x15
jmp 0x535fb9
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x52e1e1
mov dword [esi + 0x80], 1
inc dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x78], eax
cmp eax, 0xc0
jb 0x52e119
test al, 0x20
jne 0x52e02e
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x78]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x78], ecx
inc dword [esi + 0x80]
jmp 0x52e119
mov ecx, dword [esi + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x52e062
mov eax, dword [esi + 0x78]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 2
jmp 0x52e119
test al, 8
jne 0x52e098
mov eax, dword [esi + 0x78]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 3
jmp 0x52e119
test al, 4
mov eax, dword [esi + 0x78]
jne 0x52e0d7
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 4
jmp 0x52e119
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 4]
sub eax, edx
mov ecx, dword [esi + 0x80]
cmp ecx, eax
jle 0x52e17f
cmp dword [ebp + 0x88], 0
je 0x52e156
cmp edx, edi
jb 0x52e156
cmp edx, dword [ebp + 0x84]
jbe 0x52e156
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52e170
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test ecx, ecx
jle 0x52e1ad
lea eax, [ecx - 1]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 4], eax
inc dword [esi + 8]
cmp bl, dl
jne 0x52e1b8
mov ecx, dword [esi + 0x80]
test ecx, ecx
jg 0x52e183
dec dword [esi + 0x80]
jmp 0x529eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52e1d2
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 4]
sub eax, edi
cmp eax, 1
jge 0x52e23c
cmp dword [ebp + 0x88], 0
je 0x52e213
cmp edi, dword [ebp + 0x84]
jbe 0x52e213
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52e22d
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 8]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 4], eax
cmp dl, cl
je 0x52e5ef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52e26c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x52e2d0
cmp dword [ebp + 0x88], ebx
je 0x52e2a7
cmp edi, dword [ebp + 0x84]
jbe 0x52e2a7
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52e2c1
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x52e5ab
mov dword [esi + 0x80], 1
inc dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x78], eax
cmp eax, 0xc0
jb 0x52e40f
test al, 0x20
jne 0x52e324
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x78]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x78], ecx
inc dword [esi + 0x80]
jmp 0x52e40f
mov ecx, dword [esi + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x52e358
mov eax, dword [esi + 0x78]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 2
jmp 0x52e40f
test al, 8
jne 0x52e38e
mov eax, dword [esi + 0x78]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 3
jmp 0x52e40f
test al, 4
mov eax, dword [esi + 0x78]
jne 0x52e3cd
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 4
jmp 0x52e40f
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 5
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 4]
cmp edi, 0x80
jae 0x52e45f
mov edx, dword [ebp + 0x30]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
je 0x52e454
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52e445
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 8]
inc dword [esi + 4]
jmp 0x529eef
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 4], edi
cmp edx, 0xc0
jb 0x52e53f
test dl, 0x20
jne 0x52e48f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52e53c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52e4b6
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x52e53c
test dl, 8
jne 0x52e4d9
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x52e53c
test dl, 4
jne 0x52e508
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x52e53c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x80]
add dword [esi + 8], eax
mov edi, dword [esi + 0x78]
cmp edi, edx
je 0x529eef
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
mov eax, dword [eax*8 + 0x6925c4]
add eax, edi
cmp edx, eax
je 0x529eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52e59c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 8]
mov edx, dword [ebp + 0x30]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
je 0x52e5e9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52e5da
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
lea eax, [edi + 1]
mov dword [esi + 4], eax
add dword [esi + 8], 2
jmp 0x529eef
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov dword [esi + 0x88], ecx
add dword [esi + 8], 3
jmp 0x52e711
mov dword [esp + 0x24], 1
mov dword [esi + 0x88], ebx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov ecx, dword [esi + 8]
mov al, byte [ecx]
cmp al, 0x28
je 0x52e652
mov dword [esp + 0x18], ebx
cmp al, 0x35
jne 0x52e65a
mov dword [esp + 0x18], 1
lea eax, [ecx + 3]
mov dword [esi + 8], eax
jmp 0x52e711
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x52e711
mov dword [esi + 0x88], 1
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x52e711
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 1
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x52e711
mov ecx, dword [esi + 8]
xor eax, eax
cmp edx, 0x2e
setge al
movzx edx, byte [ecx]
dec eax
and eax, 0xfffffff3
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x18], ebx
movsx eax, byte [edx + 0x691cc8]
mov dword [esi + 0x88], eax
movsx eax, byte [edx + 0x691cd0]
mov dword [esi + 0x84], eax
test eax, eax
jne 0x52e711
mov dword [esi + 0x84], 0x7fffffff
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x52ebb6
mov dword [esi + 0x80], 1
mov eax, dword [esi + 8]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
mov dword [esi + 0x78], ebx
cmp ebx, 0xc0
jb 0x52e848
mov eax, dword [esi + 8]
test bl, 0x20
jne 0x52e767
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x78], eax
inc dword [esi + 0x80]
jmp 0x52e848
test bl, 0x10
jne 0x52e799
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0x80], 2
jmp 0x52e848
mov ecx, dword [esi + 8]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x52e7d7
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 3
jmp 0x52e848
test bl, 4
jne 0x52e80d
and ebx, 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 4
jmp 0x52e848
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 5
mov eax, dword [esi + 0x80]
add dword [esi + 8], eax
cmp dword [esi + 0x80], 1
jle 0x52ebc4
cmp dword [esi + 0x94], 0x2e
jl 0x52e8a7
mov edx, dword [esi + 0x78]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
mov ecx, dword [eax*8 + 0x6925c4]
add ecx, edx
cmp ecx, edx
je 0x52e8a7
lea eax, [esi + 0x68]
push eax
push ecx
call fcn.0053aca0
add esp, 8
mov dword [esi + 0x64], eax
jmp 0x52e8ae
mov dword [esi + 0x64], 0
cmp dword [esi + 0x88], 1
mov dword [esp + 0x1c], 1
jl 0x52e9d1
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x80]
sub eax, ebx
mov edi, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edi, eax
ja 0x52e945
mov edx, dword [esi + 0x20]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x52e8f8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52e901
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52e8e7
cmp edi, 0xfffffffc
je 0x52e9b9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52e93e
cmp edi, 0xfffffffd
je 0x52e9b9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52e93e
cmp edi, 0xfffffffe
je 0x52e9b9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52e93e
cmp edi, 0xffffffff
je 0x52e9b9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x52e9b9
mov edi, dword [esi + 4]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esi + 0x64]
test ebx, ebx
jle 0x52eb23
sub ecx, ebx
cmp edi, ecx
ja 0x52eb23
mov ecx, edi
lea edx, [esi + 0x68]
mov edi, ebx
sub edi, 4
jb 0x52e977
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52e97c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52e966
cmp edi, 0xfffffffc
je 0x52e9b9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52eb23
cmp edi, 0xfffffffd
je 0x52e9b9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52eb23
cmp edi, 0xfffffffe
je 0x52e9b9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52eb23
cmp edi, 0xffffffff
je 0x52e9b9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52eb23
mov edx, dword [esp + 0x1c]
add dword [esi + 4], ebx
inc edx
mov dword [esp + 0x1c], edx
cmp edx, dword [esi + 0x88]
jle 0x52e8c3
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x529eef
mov edi, dword [esp + 0x18]
test edi, edi
jne 0x538fb2
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x52eba6
jmp 0x52ea10
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x80]
sub eax, ebx
mov edi, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edi, eax
ja 0x52ea92
mov edx, dword [esi + 0x20]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x52ea45
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52ea4e
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52ea34
cmp edi, 0xfffffffc
je 0x52eb06
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52ea8b
cmp edi, 0xfffffffd
je 0x52eb06
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52ea8b
cmp edi, 0xfffffffe
je 0x52eb06
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52ea8b
cmp edi, 0xffffffff
je 0x52eb06
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x52eb06
mov edi, dword [esi + 4]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esi + 0x64]
test ebx, ebx
jle 0x52eb79
sub ecx, ebx
cmp edi, ecx
ja 0x52eb79
mov ecx, edi
lea edx, [esi + 0x68]
mov edi, ebx
sub edi, 4
jb 0x52eac4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52eac9
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52eab3
cmp edi, 0xfffffffc
je 0x52eb06
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52eb79
cmp edi, 0xfffffffd
je 0x52eb06
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52eb79
cmp edi, 0xfffffffe
je 0x52eb06
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52eb79
cmp edi, 0xffffffff
je 0x52eb06
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52eb79
mov edx, dword [esp + 0x1c]
add dword [esi + 4], ebx
inc edx
mov dword [esp + 0x1c], edx
cmp edx, dword [esi + 0x84]
jl 0x52ea10
jmp 0x52eba6
cmp dword [ebp + 0x88], 0
je 0x52eb50
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x52eb50
cmp eax, dword [ebp + 0x84]
jbe 0x52eb50
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52eb6a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], 0
je 0x52eba6
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x52eba6
cmp eax, dword [ebp + 0x84]
jbe 0x52eba6
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
cmp dword [esp + 0x24], 0
jne 0x529eef
jmp 0x536cae
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x78], eax
inc dword [esi + 8]
jmp 0x52ebc8
mov ebx, dword [esp + 0x14]
cmp dword [esi + 0x94], 0x2e
jl 0x52ed2f
mov ecx, dword [ebp + 0x34]
mov edx, 1
mov eax, dword [esi + 0x78]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x8c], eax
cmp dword [esi + 0x88], edx
jl 0x52ec17
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52ec66
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x52ec0a
cmp dword [esi + 0x8c], ecx
jne 0x52ec3d
inc eax
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x88]
jle 0x52ebf2
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x529eef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x52ecb7
mov dword [esi + 0x7c], eax
jmp 0x535707
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52ec57
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x52ec8e
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52ec8e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52eca8
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x52ed1f
jmp 0x52ecd0
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52ecf7
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x52ece8
cmp dword [esi + 0x8c], ecx
jne 0x52ed1f
inc eax
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x52ecd0
jmp 0x52ed1f
cmp dword [ebp + 0x88], 0
je 0x52ed1f
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52ed1f
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
cmp dword [esp + 0x24], 0
jne 0x529eef
jmp 0x535739
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x52ed5d
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52edac
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
jne 0x52ed83
inc edi
cmp edi, dword [esi + 0x88]
jle 0x52ed40
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x529eef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x52edfd
mov dword [esi + 0x7c], eax
jmp 0x53585b
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52ed9d
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x52edd4
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52edd4
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52edee
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x52ee5a
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x52ee32
movzx eax, byte [ecx]
cmp dword [esi + 0x78], eax
jne 0x52ee5a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x52ee11
jmp 0x52ee5a
cmp dword [ebp + 0x88], 0
je 0x52ee5a
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52ee5a
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
cmp dword [esp + 0x24], 0
jne 0x529eef
jmp 0x53588d
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x52eebf
cmp dword [ebp + 0x88], ebx
je 0x52ee96
cmp eax, dword [ebp + 0x84]
jbe 0x52ee96
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52eeb0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
inc dword [esi + 8]
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x14]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 4], edi
test ebx, ebx
je 0x52efb1
cmp edx, 0xc0
jb 0x52efb1
test dl, 0x20
jne 0x52ef01
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52efae
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52ef28
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x52efae
test dl, 8
jne 0x52ef4b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x52efae
test dl, 4
jne 0x52ef7a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x52efae
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
inc eax
cmp dword [esi + 0x94], 0x20
mov dword [esi + 8], eax
jne 0x52f000
cmp ecx, edx
je 0x52efd7
mov eax, dword [ebp + 0x34]
movzx eax, byte [eax + ecx]
cmp eax, edx
jne 0x529eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52eff1
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp ecx, edx
jne 0x529eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52f022
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov dword [esi + 0x88], ecx
add dword [esi + 8], 3
jmp 0x52f180
mov dword [esi + 0x88], ebx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov ecx, dword [esi + 8]
mov al, byte [ecx]
cmp al, 0x42
je 0x52f090
cmp al, 0x4f
je 0x52f090
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x18], ebx
mov dword [esi + 8], eax
jmp 0x52f180
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x18], ebx
mov dword [esi + 8], eax
jmp 0x52f180
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x52f180
mov dword [esi + 0x88], 1
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x52f180
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 1
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x52f180
mov dword [esi + 0x88], ebx
mov eax, dword [esi + 8]
mov dword [esp + 0x24], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
add dword [esi + 8], 3
jmp 0x52f180
mov ecx, dword [esi + 8]
xor eax, eax
cmp edx, 0x48
setl al
movzx edx, byte [ecx]
dec eax
and eax, 0xd
add eax, 0x3b
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x18], ebx
movsx eax, byte [edx + 0x691cc8]
mov dword [esi + 0x88], eax
movsx eax, byte [edx + 0x691cd0]
mov dword [esi + 0x84], eax
test eax, eax
jne 0x52f180
mov dword [esi + 0x84], 0x7fffffff
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x78], eax
inc dword [esi + 8]
cmp dword [esi + 0x94], 0x48
jl 0x52f632
cmp dword [esp + 0x14], 0
mov ecx, dword [ebp + 0x34]
mov eax, dword [esi + 0x78]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x8c], eax
je 0x52f38b
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x52f2e3
jmp 0x52f1d0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x52f33a
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x52f2c9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x52f20a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x52f2c6
test cl, 0x10
jne 0x52f22b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x52f2c6
test cl, 8
jne 0x52f255
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x52f2c6
test cl, 4
jne 0x52f28b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x52f2c6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp dword [esi + 0x78], ecx
je 0x52f311
cmp dword [esi + 0x8c], ecx
je 0x52f311
inc edi
cmp edi, dword [esi + 0x88]
jle 0x52f1d0
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x529eef
test ebx, ebx
mov ebx, dword [esp + 0x14]
je 0x52f444
test ebx, ebx
jne 0x538fc0
mov dword [esi + 0x7c], eax
jmp 0x53598e
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52f32b
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], 0
je 0x52f362
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52f362
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52f37c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov edx, 1
cmp dword [esi + 0x88], edx
jl 0x52f2e3
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52f3f3
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x52f3ca
cmp dword [esi + 0x8c], ecx
je 0x52f3ca
inc eax
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x88]
jle 0x52f3a0
jmp 0x52f2e3
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52f3e4
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], 0
je 0x52f41b
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52f41b
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52f435
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
test ebx, ebx
je 0x52f5c5
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x52f5b5
mov edi, dword [esi + 4]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x52f58d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x52f56c
test dl, 0x20
jne 0x52f4a2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52f56c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x52f4cc
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x52f56c
test dl, 8
jne 0x52f4f8
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x52f56c
test dl, 4
jne 0x52f530
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x52f56c
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp dword [esi + 0x78], edx
je 0x52f5b5
cmp dword [esi + 0x8c], edx
je 0x52f5b5
add eax, edi
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x52f464
jmp 0x52f5b5
cmp dword [ebp + 0x88], 0
je 0x52f5b5
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52f5b5
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
cmp dword [esp + 0x24], 0
jne 0x529eef
jmp 0x536f03
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x52f622
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52f5fa
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x52f622
cmp dword [esi + 0x8c], ecx
je 0x52f622
inc eax
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x52f5d3
jmp 0x52f622
cmp dword [ebp + 0x88], 0
je 0x52f622
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52f622
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
cmp dword [esp + 0x24], 0
jne 0x529eef
jmp 0x5359e9
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x52f7f8
mov ebx, 1
cmp dword [esi + 0x88], ebx
jl 0x52f74c
nop
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jae 0x52f7a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp edx, 0xc0
jb 0x52f73a
test dl, 0x20
jne 0x52f68a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52f737
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52f6b1
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x52f737
test dl, 8
jne 0x52f6d4
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x52f737
test dl, 4
jne 0x52f703
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x52f737
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
je 0x52f77e
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x52f650
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x529eef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x52f8ac
test ebx, ebx
jne 0x538fce
mov dword [esi + 0x7c], eax
jmp 0x535ae6
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52f798
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], 0
je 0x52f7cf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52f7cf
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52f7e9
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x52f750
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52f85b
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
je 0x52f832
inc edi
cmp edi, dword [esi + 0x88]
jle 0x52f810
jmp 0x52f750
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52f84c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x52f883
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52f883
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52f89d
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
test ebx, ebx
je 0x52fa29
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x52fa19
lea esp, [esp]
mov edi, dword [esi + 4]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x52f9f1
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x52f9d8
test dl, 0x20
jne 0x52f90e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52f9d8
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x52f938
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x52f9d8
test dl, 8
jne 0x52f964
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x52f9d8
test dl, 4
jne 0x52f99c
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x52f9d8
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp dword [esi + 0x78], edx
je 0x52fa19
add eax, edi
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x52f8d0
jmp 0x52fa19
cmp dword [ebp + 0x88], 0
je 0x52fa19
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52fa19
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
cmp dword [esp + 0x24], 0
jne 0x529eef
jmp 0x53715c
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x52fa80
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x52fa58
movzx eax, byte [ecx]
cmp dword [esi + 0x78], eax
je 0x52fa80
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x52fa37
jmp 0x52fa80
cmp dword [ebp + 0x88], 0
je 0x52fa80
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52fa80
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
cmp dword [esp + 0x24], 0
jne 0x529eef
jmp 0x535b18
mov eax, dword [esi + 8]
mov dword [esp + 0x18], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov dword [esi + 0x88], ecx
add dword [esi + 8], 3
jmp 0x52fbba
mov dword [esi + 0x88], ebx
xor edx, edx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov eax, dword [esi + 8]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x18], edx
mov dword [esi + 8], eax
jmp 0x52fbba
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x52fbba
mov dword [esi + 0x88], 1
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x52fbba
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 1
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x52fbba
mov dword [esi + 0x88], ebx
mov eax, dword [esi + 8]
mov dword [esp + 0x24], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
add dword [esi + 8], 3
jmp 0x52fbba
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
movsx eax, byte [ecx + 0x691c73]
lea edx, [ecx - 0x55]
mov dword [esi + 0x88], eax
and edx, 1
movsx eax, byte [ecx + 0x691c7b]
mov dword [esp + 0x18], edx
mov dword [esi + 0x84], eax
test eax, eax
jne 0x52fbba
mov dword [esi + 0x84], 0x7fffffff
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x74], eax
inc dword [esi + 8]
mov ecx, dword [esi + 0x74]
cmp ecx, 0x10
je 0x52fbdc
cmp ecx, 0xf
je 0x52fbdc
mov dword [esi + 0x58], 0xffffffff
jmp 0x52fbff
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x60], eax
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x58], eax
inc dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x5c], eax
inc dword [esi + 8]
mov ecx, dword [esi + 0x88]
test ecx, ecx
jle 0x53103e
mov eax, dword [esi + 0x58]
test eax, eax
js 0x530c53
cmp eax, 8
ja case.default.0x52fc21
jmp dword [eax*4 + 0x539418]
cmp dword [esi + 0x60], ebx
je 0x52fc56
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52fc47
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov ebx, dword [esp + 0x14]
mov edx, 1
cmp ecx, edx
jl 0x531042
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x52fcbc
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
test ebx, ebx
je 0x52fcae
cmp ecx, 0xc0
jb 0x52fcae
test cl, 0x20
jne 0x52fc8a
inc eax
jmp 0x52fcab
test cl, 0x10
jne 0x52fc94
add eax, 2
jmp 0x52fcab
test cl, 8
jne 0x52fc9e
add eax, 3
jmp 0x52fcab
test cl, 4
jne 0x52fca8
add eax, 4
jmp 0x52fcab
add eax, 5
mov dword [esi + 4], eax
inc edx
cmp edx, dword [esi + 0x88]
jle 0x52fc67
jmp 0x531042
cmp dword [ebp + 0x88], 0
je 0x52fce4
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52fce4
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52fcfe
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x531042
mov edi, edi
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x52fe9d
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x52fe21
cmp ecx, 0xc0
jb 0x52fe21
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x52fd62
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x52fe1e
test cl, 0x10
jne 0x52fd83
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x52fe1e
test cl, 8
jne 0x52fdad
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x52fe1e
test cl, 4
jne 0x52fde3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x52fe1e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp eax, 9
je 0x52fe58
cmp eax, 5
je 0x52fe58
cmp eax, 8
je 0x52fe58
xor eax, eax
jmp 0x52fe5d
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x52fe74
inc edi
cmp edi, dword [esi + 0x88]
jle 0x52fd20
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52fe8e
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x52fec5
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x52fec5
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x52fedf
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x530074
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x530001
cmp ecx, 0xc0
jb 0x530001
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x52ff42
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x52fffe
test cl, 0x10
jne 0x52ff63
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x52fffe
test cl, 8
jne 0x52ff8d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x52fffe
test cl, 4
jne 0x52ffc3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x52fffe
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x53004b
inc edi
cmp edi, dword [esi + 0x88]
jle 0x52ff00
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530065
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x53009c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x53009c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5300b6
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x531042
jmp 0x5300e0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x53024d
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x5301e1
cmp ecx, 0xc0
jb 0x5301e1
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x530122
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5301de
test cl, 0x10
jne 0x530143
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x5301de
test cl, 8
jne 0x53016d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5301de
test cl, 4
jne 0x5301a3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5301de
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x530224
inc edi
cmp edi, dword [esi + 0x88]
jle 0x5300e0
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53023e
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x530275
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x530275
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53028f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x53041d
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x5303b1
cmp ecx, 0xc0
jb 0x5303b1
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x5302f2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5303ae
test cl, 0x10
jne 0x530313
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x5303ae
test cl, 8
jne 0x53033d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5303ae
test cl, 4
jne 0x530373
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5303ae
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c0]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x5303f4
inc edi
cmp edi, dword [esi + 0x88]
jle 0x5302b0
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53040e
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x530445
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x530445
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53045f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x5305ff
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x530581
cmp ecx, 0xc0
jb 0x530581
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x5304c2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x53057e
test cl, 0x10
jne 0x5304e3
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x53057e
test cl, 8
jne 0x53050d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x53057e
test cl, 4
jne 0x530543
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x53057e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x5305ba
cmp eax, 3
je 0x5305ba
xor eax, eax
jmp 0x5305bf
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x5305d6
inc edi
cmp edi, dword [esi + 0x88]
jle 0x530480
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5305f0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x530627
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x530627
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530641
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x531042
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x5307ef
movzx edx, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
test ebx, ebx
je 0x530762
cmp edx, 0xc0
jb 0x530762
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x5306a3
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
jmp 0x53075f
test dl, 0x10
jne 0x5306c4
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
jmp 0x53075f
test dl, 8
jne 0x5306ee
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x53075f
test dl, 4
jne 0x530724
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x53075f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 6
je 0x5307aa
cmp edx, 9
je 0x5307aa
cmp edx, 0xa
je 0x5307aa
cmp edx, 0xc
je 0x5307aa
cmp edx, 0xd
je 0x5307aa
xor eax, eax
jmp 0x5307af
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x5307c6
inc edi
cmp edi, dword [esi + 0x88]
jle 0x530661
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5307e0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x530817
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x530817
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530831
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x531042
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x5309e4
movzx edx, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
test ebx, ebx
je 0x530952
cmp edx, 0xc0
jb 0x530952
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x530893
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
jmp 0x53094f
test dl, 0x10
jne 0x5308b4
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
jmp 0x53094f
test dl, 8
jne 0x5308de
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x53094f
test dl, 4
jne 0x530914
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x53094f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 6
je 0x53099f
cmp edx, 9
je 0x53099f
cmp edx, 0xa
je 0x53099f
cmp edx, 0xb
je 0x53099f
cmp edx, 0xc
je 0x53099f
cmp edx, 0xd
je 0x53099f
xor eax, eax
jmp 0x5309a4
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x5309bb
inc edi
cmp edi, dword [esi + 0x88]
jle 0x530851
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5309d5
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x530a0c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x530a0c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530a26
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x531042
jmp 0x530a50
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x530bd6
movzx edx, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
test ebx, ebx
je 0x530b51
cmp edx, 0xc0
jb 0x530b51
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x530a92
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
jmp 0x530b4e
test dl, 0x10
jne 0x530ab3
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
jmp 0x530b4e
test dl, 8
jne 0x530add
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x530b4e
test dl, 4
jne 0x530b13
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x530b4e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x530b91
cmp eax, 3
je 0x530b91
cmp edx, 0x5f
je 0x530b91
xor eax, eax
jmp 0x530b96
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x530bad
inc edi
cmp edi, dword [esi + 0x88]
jle 0x530a50
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530bc7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x530bfe
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x530bfe
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530c18
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530c41
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5391bf
mov edi, 0xfffffff2
jmp 0x534bcb
mov eax, dword [esi + 0x74]
mov ebx, dword [esp + 0x14]
cmp eax, 0x16
jne 0x530f7a
lea edi, [eax - 0x15]
cmp ecx, edi
jl 0x531042
mov edi, edi
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x530f29
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x530d71
cmp ecx, 0xc0
jb 0x530d71
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x530cb2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x530d6e
test cl, 0x10
jne 0x530cd3
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x530d6e
test cl, 8
jne 0x530cfd
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x530d6e
test cl, 4
jne 0x530d33
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x530d6e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 2
je 0x530f00
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x530eee
nop
mov eax, dword [esi + 4]
mov ecx, 1
movzx edx, byte [eax]
test ebx, ebx
je 0x530eb1
cmp edx, 0xc0
jb 0x530eb1
test dl, 0x20
jne 0x530de5
movzx eax, byte [eax + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x530ea9
test dl, 0x10
jne 0x530e0a
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
movzx eax, byte [eax + 2]
jmp 0x530ea9
test dl, 8
jne 0x530e38
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
mov ecx, 4
jmp 0x530ea9
movzx eax, byte [eax + 1]
and eax, 0x3f
test dl, 4
jne 0x530e72
mov ecx, dword [esi + 4]
and edx, 3
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
mov ecx, 5
jmp 0x530ea9
and edx, ecx
mov ecx, dword [esi + 4]
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
mov ecx, 6
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 2
jne 0x530eee
add dword [esi + 4], ecx
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x530db0
inc edi
cmp edi, dword [esi + 0x88]
jle 0x530c70
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530f1a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x530f51
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x530f51
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530f6b
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
add eax, 0xfffffffa
test ebx, ebx
je 0x53204b
cmp eax, 0xf
ja case.0x537373.15
jmp dword [eax*4 + 0x53943c]
mov ebx, 1
cmp ecx, ebx
jl 0x53103e
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x53107b
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x530ff7
push dword [esp + 0x14]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
je 0x531014
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x530fe8
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x531014
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x531014
cmp edi, 1
je 0x530fce
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x530fce
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x531031
nop
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x531031
inc ecx
mov dword [esi + 4], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x531020
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x530fa2
mov ebx, dword [esp + 0x14]
mov ecx, dword [esi + 0x88]
cmp ecx, dword [esi + 0x84]
je 0x529eef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x532a1c
mov eax, dword [esi + 0x58]
test eax, eax
js 0x532a02
cmp eax, 8
ja case.0x537373.15
jmp dword [eax*4 + 0x53947c]
cmp dword [ebp + 0x88], 0
je 0x5310a3
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5310a3
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5310bd
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov edi, 1
cmp ecx, edi
jl 0x531042
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, edx
jae 0x531118
inc eax
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x53110a
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53110a
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x5310f2
inc edi
cmp edi, dword [esi + 0x88]
jle 0x5310e0
jmp 0x531042
cmp dword [ebp + 0x88], 0
je 0x531140
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x531140
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53115a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 4]
sub eax, ecx
cmp edx, eax
jbe 0x532194
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531193
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x53134a
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x5312a9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x5311ea
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5312a6
test cl, 0x10
jne 0x53120b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x5312a6
test cl, 8
jne 0x531235
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5312a6
test cl, 4
jne 0x53126b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5312a6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0xd
ja 0x5312cd
je 0x5312ba
cmp ecx, 0xa
je 0x5312e6
lea eax, [ecx - 0xb]
jmp 0x5312db
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x5312e6
cmp byte [eax], 0xa
jne 0x5312e6
inc eax
mov dword [esi + 4], eax
jmp 0x5312e6
cmp ecx, 0x85
je 0x5312e0
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x5312f8
cmp dword [ebp + 0x64], 0
jne 0x531321
inc edi
cmp edi, dword [esi + 0x88]
jle 0x5311b0
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531312
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53133b
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x531372
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x531372
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53138c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
jmp 0x5313b0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x531534
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x5314a9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x5313ea
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5314a6
test cl, 0x10
jne 0x53140b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x5314a6
test cl, 8
jne 0x531435
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5314a6
test cl, 4
jne 0x53146b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5314a6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x180e
ja 0x5314cf
je 0x53150b
cmp ecx, 0xa0
ja 0x5314c7
je 0x53150b
cmp ecx, 9
je 0x53150b
cmp ecx, 0x20
jmp 0x5314f7
cmp ecx, 0x1680
jmp 0x5314f7
cmp ecx, 0x205f
ja 0x5314f1
je 0x53150b
cmp ecx, 0x2000
jb 0x5314f9
cmp ecx, 0x200a
jbe 0x53150b
cmp ecx, 0x202f
jmp 0x5314f7
cmp ecx, 0x3000
je 0x53150b
inc edi
cmp edi, dword [esi + 0x88]
jle 0x5313b0
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531525
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x53155c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x53155c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531576
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x531716
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x53168b
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x5315cc
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x531688
test cl, 0x10
jne 0x5315ed
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x531688
test cl, 8
jne 0x531617
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x531688
test cl, 4
jne 0x53164d
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x531688
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x180e
ja 0x5316b1
je 0x5316db
cmp ecx, 0xa0
ja 0x5316a9
je 0x5316db
cmp ecx, 9
je 0x5316db
cmp ecx, 0x20
jmp 0x5316d9
cmp ecx, 0x1680
jmp 0x5316d9
cmp ecx, 0x205f
ja 0x5316d3
je 0x5316db
cmp ecx, 0x2000
jb 0x5316ed
cmp ecx, 0x200a
jbe 0x5316db
cmp ecx, 0x202f
jmp 0x5316d9
cmp ecx, 0x3000
jne 0x5316ed
inc edi
cmp edi, dword [esi + 0x88]
jle 0x531592
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531707
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x53173e
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x53173e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531758
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x5318cc
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x53186d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x5317ae
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x53186a
test cl, 0x10
jne 0x5317cf
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x53186a
test cl, 8
jne 0x5317f9
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x53186a
test cl, 4
jne 0x53182f
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x53186a
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x85
ja 0x531881
je 0x5318a3
cmp ecx, 0xa
jb 0x531891
cmp ecx, 0xd
jmp 0x53188f
cmp ecx, 0x2028
jb 0x531891
cmp ecx, 0x2029
jbe 0x5318a3
inc edi
cmp edi, dword [esi + 0x88]
jle 0x531774
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5318bd
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x5318f4
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5318f4
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53190e
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
lea ebx, [ebx]
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x531a81
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x531a29
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x53196a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x531a26
test cl, 0x10
jne 0x53198b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x531a26
test cl, 8
jne 0x5319b5
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x531a26
test cl, 4
jne 0x5319eb
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x531a26
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x85
ja 0x531a3b
je 0x531a46
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x531a44
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x531a58
inc edi
cmp edi, dword [esi + 0x88]
jle 0x531930
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531a72
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x531aa9
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x531aa9
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531ac3
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x531c25
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x531bd9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x531b1a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x531bd6
test cl, 0x10
jne 0x531b3b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x531bd6
test cl, 8
jne 0x531b65
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x531bd6
test cl, 4
jne 0x531b9b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x531bd6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x80
jae 0x531bea
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne 0x531bfc
inc edi
cmp edi, dword [esi + 0x88]
jle 0x531ae0
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531c16
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x531c4d
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x531c4d
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531c67
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x531cda
mov al, byte [edx]
cmp al, 0x80
jae 0x531cb1
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je 0x531cb1
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x531c83
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531ccb
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x531d02
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x531d02
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531d1c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, 1
cmp ecx, ebx
jl 0x53103e
mov edx, dword [ebp + 0x78]
jmp 0x531d40
mov edi, dword [esi + 4]
cmp edi, edx
jae 0x531db5
mov al, byte [edi]
cmp al, 0x80
jae 0x531d59
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne 0x531d8c
lea eax, [edi + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x531d7e
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x531d7e
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x531d66
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x531d40
jmp 0x53103e
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531da6
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], 0
je 0x531ddd
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x531ddd
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531df7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov edi, 1
cmp ecx, edi
jl 0x531042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x531e6a
mov al, byte [edx]
cmp al, 0x80
jae 0x531e41
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je 0x531e41
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x531e13
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531e5b
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x531e92
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x531e92
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531eac
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ebx, 1
cmp ecx, ebx
jl 0x53103e
mov edx, dword [ebp + 0x78]
jmp 0x531ed0
mov edi, dword [esi + 4]
cmp edi, edx
jae 0x531f45
mov al, byte [edi]
cmp al, 0x80
jae 0x531ee9
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne 0x531f1c
lea eax, [edi + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x531f0e
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x531f0e
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x531ef6
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x531ed0
jmp 0x53103e
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531f36
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
cmp dword [ebp + 0x88], 0
je 0x531f6d
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x531f6d
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531f87
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov edi, 1
cmp ecx, edi
jl 0x531042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x531ffa
mov al, byte [edx]
cmp al, 0x80
jae 0x531fd1
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je 0x531fd1
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x531fa3
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x531feb
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x532022
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x532022
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53203c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp eax, 0xf
ja case.0x537373.15
jmp dword [eax*4 + 0x5394a0]
mov ebx, 1
cmp ecx, ebx
jl 0x53103e
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x5320e9
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x5320bb
push 0
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
je 0x5320d8
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5320ac
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x5320d8
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x5320d8
cmp edi, 1
je 0x532092
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x532092
inc dword [esi + 4]
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x532068
jmp 0x53103e
cmp dword [ebp + 0x88], 0
je 0x532111
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x532111
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53212b
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 4]
sub eax, ecx
cmp edx, eax
jbe 0x532194
cmp dword [ebp + 0x88], 0
je 0x53216b
cmp edx, dword [ebp + 0x84]
jbe 0x53216b
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532185
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
lea eax, [ecx + edx]
mov dword [esi + 4], eax
jmp 0x531042
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 4]
sub eax, ecx
cmp edx, eax
jbe 0x532194
cmp dword [ebp + 0x88], 0
je 0x5321d0
cmp edx, dword [ebp + 0x84]
jbe 0x5321d0
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5321ea
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edx, 1
cmp ecx, edx
jl 0x531042
jmp 0x532210
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x5322b1
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 4], ecx
cmp eax, 0x7b
ja case.0x532232.14
movzx eax, byte [eax + 0x5394f0]
jmp dword [eax*4 + 0x5394e0]
cmp ecx, dword [ebp + 0x78]
jae case.0x532232.10
cmp byte [ecx], 0xa
jne case.0x532232.10
lea eax, [ecx + 1]
mov dword [esi + 4], eax
jmp case.0x532232.10
cmp dword [ebp + 0x64], 0
jne 0x53225f
inc edx
cmp edx, dword [esi + 0x88]
jle 0x532210
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532279
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5322a2
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x5322d9
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5322d9
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5322f3
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edx, 1
cmp ecx, edx
jl 0x531042
nop
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x532368
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp ecx, 9
je 0x53233f
cmp ecx, 0x20
je 0x53233f
cmp ecx, 0xa0
je 0x53233f
inc edx
cmp edx, dword [esi + 0x88]
jle 0x532310
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532359
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x532390
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x532390
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5323aa
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edx, 1
cmp ecx, edx
jl 0x531042
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x53241e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp ecx, 9
je 0x5323e7
cmp ecx, 0x20
je 0x5323e7
cmp ecx, 0xa0
jne 0x5323f5
inc edx
cmp edx, dword [esi + 0x88]
jle 0x5323c6
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53240f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x532446
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x532446
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532460
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edx, 1
cmp ecx, edx
jl 0x531042
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x5324d8
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp ecx, 0xa
jl 0x5324a1
cmp ecx, 0xd
jle 0x5324af
cmp ecx, 0x85
je 0x5324af
inc edx
cmp edx, dword [esi + 0x88]
jle 0x532480
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5324c9
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x532500
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x532500
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53251a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edx, 1
cmp ecx, edx
jl 0x531042
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x53258e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp ecx, 0xa
jl 0x532565
cmp ecx, 0xd
jle 0x532557
cmp ecx, 0x85
jne 0x532565
inc edx
cmp edx, dword [esi + 0x88]
jle 0x532536
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53257f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x5325b6
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5325b6
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5325d0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x532641
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne 0x532618
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x5325f0
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532632
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x532669
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x532669
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532683
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x5326f1
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je 0x5326c8
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x5326a0
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5326e2
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x532719
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x532719
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532733
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x5327a1
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne 0x532778
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x532750
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532792
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x5327c9
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5327c9
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5327e3
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x532851
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je 0x532828
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x532800
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532842
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x532879
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x532879
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532893
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x532901
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne 0x5328d8
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x5328b0
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5328f2
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x532929
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x532929
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x532943
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, 1
cmp ecx, edi
jl 0x531042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x5329b1
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je 0x532988
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x532960
jmp 0x531042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5329a2
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x88], 0
je 0x5329d9
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5329d9
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5329f3
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [esi + 0x74], 0x16
je 0x539068
test ebx, ebx
jne 0x53905a
mov dword [esi + 0x7c], ecx
jmp 0x535c95
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x58]
test eax, eax
js 0x53366e
cmp eax, 8
ja case.0x537373.15
jmp dword [eax*4 + 0x53956c]
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x533638
nop
mov edx, dword [esi + 4]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x532abb
movzx ecx, byte [edx]
test ebx, ebx
je 0x532a9e
cmp ecx, 0xc0
jb 0x532a9e
test cl, 0x20
jne 0x532a78
mov eax, 2
jmp 0x532a9e
test cl, 0x10
jne 0x532a84
mov eax, 3
jmp 0x532a9e
test cl, 8
jne 0x532a90
mov eax, 4
jmp 0x532a9e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x60], 0
jne 0x533638
add eax, edx
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x532a50
jmp 0x533638
cmp dword [ebp + 0x88], 0
je 0x533638
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x533638
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x533638
jmp 0x52b4a7
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x533638
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x532c41
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x532be4
cmp edx, 0xc0
jb 0x532be4
test dl, 0x20
jne 0x532b43
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x532bdc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x532b65
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x532bdc
and eax, 0x3f
test dl, 8
jne 0x532b85
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x532bdc
test dl, 4
jne 0x532bae
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x532bdc
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp eax, 9
je 0x532c1b
cmp eax, 5
je 0x532c1b
cmp eax, 8
je 0x532c1b
xor eax, eax
jmp 0x532c20
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x533638
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x532b02
jmp 0x533638
cmp dword [ebp + 0x88], 0
je 0x533638
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x533638
mov dword [ebp + 0x60], ecx
cmp dword [ebp + 0x88], ecx
jle 0x533638
jmp 0x52b219
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x533638
jmp 0x532c90
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x532dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x532d71
cmp edx, 0xc0
jb 0x532d71
test dl, 0x20
jne 0x532cd1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x532d69
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x532cf3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x532d69
and eax, 0x3f
test dl, 8
jne 0x532d13
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x532d69
test dl, 4
jne 0x532d3c
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x532d69
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x533638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x532c90
jmp 0x533638
cmp dword [ebp + 0x88], 0
je 0x533638
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x533638
mov dword [ebp + 0x60], ebx
cmp dword [ebp + 0x88], ebx
jle 0x533638
jmp 0x52b219
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x533638
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x532dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x532ef0
cmp edx, 0xc0
jb 0x532ef0
test dl, 0x20
jne 0x532e50
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x532ee8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x532e72
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x532ee8
and eax, 0x3f
test dl, 8
jne 0x532e92
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x532ee8
test dl, 4
jne 0x532ebb
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x532ee8
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x533638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x532e13
jmp 0x533638
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x533638
jmp 0x532f60
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x532dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x533041
cmp edx, 0xc0
jb 0x533041
test dl, 0x20
jne 0x532fa1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x533039
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x532fc3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x533039
and eax, 0x3f
test dl, 8
jne 0x532fe3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x533039
test dl, 4
jne 0x53300c
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x533039
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c0]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x533638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x532f60
jmp 0x533638
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x533638
jmp 0x5330b0
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x532c41
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x533192
cmp edx, 0xc0
jb 0x533192
test dl, 0x20
jne 0x5330f1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53318a
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x533113
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53318a
and eax, 0x3f
test dl, 8
jne 0x533133
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53318a
test dl, 4
jne 0x53315c
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x53318a
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x5331cb
cmp eax, 3
je 0x5331cb
xor eax, eax
jmp 0x5331d0
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x533638
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x5330b0
jmp 0x533638
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x533638
jmp 0x533210
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x532dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x5332f1
cmp edx, 0xc0
jb 0x5332f1
test dl, 0x20
jne 0x533251
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x5332e9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x533273
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x5332e9
and eax, 0x3f
test dl, 8
jne 0x533293
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5332e9
test dl, 4
jne 0x5332bc
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x5332e9
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 6
je 0x533339
cmp edx, 9
je 0x533339
cmp edx, 0xa
je 0x533339
cmp edx, 0xc
je 0x533339
cmp edx, 0xd
je 0x533339
xor eax, eax
jmp 0x53333e
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x533638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x533210
jmp 0x533638
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x533638
lea ecx, [ecx]
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x532dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x533461
cmp edx, 0xc0
jb 0x533461
test dl, 0x20
jne 0x5333c1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x533459
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5333e3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x533459
and eax, 0x3f
test dl, 8
jne 0x533403
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x533459
test dl, 4
jne 0x53342c
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x533459
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 6
je 0x5334ae
cmp edx, 9
je 0x5334ae
cmp edx, 0xa
je 0x5334ae
cmp edx, 0xb
je 0x5334ae
cmp edx, 0xc
je 0x5334ae
cmp edx, 0xd
je 0x5334ae
xor eax, eax
jmp 0x5334b3
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x533638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x533380
jmp 0x533638
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x533638
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x532dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x5335d3
cmp edx, 0xc0
jb 0x5335d3
test dl, 0x20
jne 0x533533
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x5335cb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x533555
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x5335cb
and eax, 0x3f
test dl, 8
jne 0x533575
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5335cb
test dl, 4
jne 0x53359e
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x5335cb
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x533613
cmp eax, 3
je 0x533613
cmp edx, 0x5f
je 0x533613
xor eax, eax
jmp 0x533618
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x533638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x5334f2
cmp dword [esp + 0x24], 0
jne 0x529eef
mov ebx, dword [esp + 0x14]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x2c
jmp 0x535fb9
mov eax, dword [esi + 0x74]
cmp eax, 0x16
jne 0x533974
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x533942
mov ebx, dword [ebp + 0x78]
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, ebx
jae 0x53391b
mov ebx, dword [esp + 0x14]
movzx edx, byte [edi]
test ebx, ebx
je 0x533775
cmp edx, 0xc0
jb 0x533775
test dl, 0x20
jne 0x5336d4
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53376d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5336f6
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53376d
and eax, 0x3f
test dl, 8
jne 0x533716
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53376d
test dl, 4
jne 0x53373f
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x53376d
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 2
je 0x533942
add dword [esi + 4], ecx
mov ebx, dword [ebp + 0x78]
cmp dword [esi + 4], ebx
jae 0x533904
jmp 0x5337c0
cmp dword [esp + 0x14], 0
mov ecx, 1
mov eax, dword [esi + 4]
movzx edx, byte [eax]
je 0x5338c7
cmp edx, 0xc0
jb 0x5338c7
test dl, 0x20
jne 0x5337f8
movzx eax, byte [eax + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x5338bf
test dl, 0x10
jne 0x53381d
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
movzx eax, byte [eax + 2]
jmp 0x5338bf
test dl, 8
jne 0x53384e
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
mov ecx, 4
jmp 0x5338bf
movzx eax, byte [eax + 1]
and eax, 0x3f
test dl, 4
jne 0x533888
mov ecx, dword [esi + 4]
and edx, 3
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
mov ecx, 5
jmp 0x5338bf
and edx, ecx
mov ecx, dword [esi + 4]
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
mov ecx, 6
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 2
jne 0x533904
add dword [esi + 4], ecx
mov ebx, dword [ebp + 0x78]
cmp dword [esi + 4], ebx
jb 0x5337c0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x533693
jmp 0x53393e
cmp dword [ebp + 0x88], 0
je 0x53393e
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x53393e
mov dword [ebp + 0x60], ecx
cmp dword [ebp + 0x88], ecx
jg 0x52b219
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x24], 0
jne 0x529eef
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x2d
jmp 0x535fb9
add eax, 0xfffffffa
test ebx, ebx
je 0x5346ff
cmp eax, 0xf
ja case.0x537373.15
jmp dword [eax*4 + 0x539590]
mov eax, dword [esi + 0x84]
mov ebx, dword [esi + 0x88]
cmp eax, 0x7fffffff
jge 0x533a66
cmp ebx, eax
jge 0x5346eb
mov edi, edi
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x533a31
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x5339e2
push dword [esp + 0x14]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
jne 0x5346eb
jmp 0x533a07
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x533a07
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x533a07
cmp edi, 1
je 0x5346eb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x5346eb
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x533a23
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x533a23
inc ecx
mov dword [esi + 4], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x533a12
inc ebx
cmp ebx, dword [esi + 0x84]
jl 0x5339b0
jmp 0x5346eb
cmp dword [ebp + 0x88], 0
je 0x5346eb
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5346eb
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x5346eb
jmp 0x52b219
cmp ebx, eax
jge 0x5346eb
mov edi, edi
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x533a31
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x533a9e
push dword [esp + 0x14]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
jne 0x5346eb
jmp 0x533ac3
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x533ac3
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x533ac3
cmp edi, 1
je 0x5346eb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x5346eb
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x533ae1
mov edi, edi
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x533ae1
inc ecx
mov dword [esi + 4], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x533ad0
inc ebx
cmp ebx, dword [esi + 0x84]
jl 0x533a70
jmp 0x5346eb
mov eax, dword [esi + 0x84]
cmp eax, 0x7fffffff
jge 0x533b7e
mov edi, dword [esi + 0x88]
cmp edi, eax
jge 0x5346ef
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 4]
cmp eax, edx
jae 0x533b49
inc eax
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x533b3b
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x533b3b
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x533b23
inc edi
cmp edi, dword [esi + 0x84]
jl 0x533b11
jmp 0x5346ef
cmp dword [ebp + 0x88], 0
je 0x5346ef
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5346ef
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x5346ef
jmp 0x52b4a7
mov eax, dword [ebp + 0x78]
mov dword [esi + 4], eax
cmp dword [ebp + 0x88], 0
je 0x5346ef
jmp 0x533b59
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x84]
mov edi, dword [esi + 4]
sub eax, edi
sub ecx, dword [esi + 0x88]
cmp ecx, eax
jbe 0x533bc5
mov dword [esi + 4], edx
cmp dword [ebp + 0x88], 0
je 0x5346ef
cmp edx, dword [ebp + 0x84]
jmp 0x533b5f
lea eax, [edi + ecx]
mov dword [esi + 4], eax
jmp 0x5346ef
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x5346eb
mov edi, dword [esi + 4]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x533a31
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x533ced
test dl, 0x20
jne 0x533c20
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x533ced
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x533c4a
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x533ced
test dl, 8
jne 0x533c79
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x533ced
test dl, 4
jne 0x533cb1
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x533ced
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0xd
jne 0x533d09
lea eax, [edi + 1]
mov dword [esi + 4], eax
cmp eax, dword [ebp + 0x78]
jae 0x5346eb
cmp byte [eax], 0xa
jne 0x533d43
inc eax
jmp 0x533d40
cmp edx, 0xa
je 0x533d3e
cmp dword [ebp + 0x64], 0
jne 0x5346eb
cmp edx, 0xb
je 0x533d3e
cmp edx, 0xc
je 0x533d3e
cmp edx, 0x85
je 0x533d3e
cmp edx, 0x2028
je 0x533d3e
cmp edx, 0x2029
jne 0x5346eb
add eax, edi
mov dword [esi + 4], eax
inc ebx
cmp ebx, dword [esi + 0x84]
jl 0x533be2
jmp 0x5346eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x5346eb
jmp 0x533d70
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x533ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x533e47
test dl, 0x20
jne 0x533da6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x533e3f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x533dc8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x533e3f
and eax, 0x3f
test dl, 8
jne 0x533de8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x533e3f
test dl, 4
jne 0x533e11
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x533e3f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x533e6d
je 0x533e9b
cmp edx, 0xa0
ja 0x533e65
je 0x533e9b
cmp edx, 9
je 0x533e9b
cmp edx, 0x20
jmp 0x533e95
cmp edx, 0x1680
jmp 0x533e95
cmp edx, 0x205f
ja 0x533e8f
je 0x533e9b
cmp edx, 0x2000
jb 0x533e97
cmp edx, 0x200a
jbe 0x533e9b
cmp edx, 0x202f
jmp 0x533e95
cmp edx, 0x3000
je 0x533e9b
xor edx, edx
jmp 0x533ea0
mov edx, 1
xor eax, eax
cmp dword [esi + 0x74], 0x12
sete al
cmp edx, eax
je 0x5346eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x533d70
jmp 0x5346eb
cmp dword [ebp + 0x88], 0
je 0x5346eb
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x5346eb
mov dword [ebp + 0x60], ecx
cmp dword [ebp + 0x88], ecx
jle 0x5346eb
jmp 0x52b219
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x5346eb
jmp 0x533f10
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x533ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x533fe3
test dl, 0x20
jne 0x533f42
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x533fdb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x533f64
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x533fdb
and eax, 0x3f
test dl, 8
jne 0x533f84
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x533fdb
test dl, 4
jne 0x533fad
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x533fdb
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x534022
je 0x53402d
cmp edx, 0xa
jb 0x533ff7
cmp edx, 0xd
jbe 0x53402d
xor edx, edx
xor eax, eax
cmp dword [esi + 0x74], 0x14
sete al
cmp edx, eax
je 0x5346eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x533f10
jmp 0x5346eb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x533ff7
mov edx, 1
jmp 0x533ff9
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x5346eb
jmp 0x534050
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x533ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x534127
test dl, 0x20
jne 0x534086
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53411f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5340a8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53411f
and eax, 0x3f
test dl, 8
jne 0x5340c8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53411f
test dl, 4
jne 0x5340f1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x53411f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x53413c
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
jne 0x5346eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x534050
jmp 0x5346eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x5346eb
jmp 0x534170
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x533ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x534247
test dl, 0x20
jne 0x5341a6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53423f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5341c8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53423f
and eax, 0x3f
test dl, 8
jne 0x5341e8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53423f
test dl, 4
jne 0x534211
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x53423f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x5346eb
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
je 0x5346eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x534170
jmp 0x5346eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x5346eb
lea ebx, [ebx]
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x533ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x534367
test dl, 0x20
jne 0x5342c6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53435f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5342e8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53435f
and eax, 0x3f
test dl, 8
jne 0x534308
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53435f
test dl, 4
jne 0x534331
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x53435f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x53437c
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
jne 0x5346eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x534290
jmp 0x5346eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x5346eb
jmp 0x5343b0
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x533ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x534487
test dl, 0x20
jne 0x5343e6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53447f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x534408
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53447f
and eax, 0x3f
test dl, 8
jne 0x534428
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53447f
test dl, 4
jne 0x534451
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x53447f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x5346eb
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
je 0x5346eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x5343b0
jmp 0x5346eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x5346eb
lea ebx, [ebx]
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x533ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x5345a7
test dl, 0x20
jne 0x534506
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53459f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x534528
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53459f
and eax, 0x3f
test dl, 8
jne 0x534548
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53459f
test dl, 4
jne 0x534571
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x53459f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x5345bc
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
jne 0x5346eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x5344d0
jmp 0x5346eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x5346eb
jmp 0x5345f0
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x533ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x5346c7
test dl, 0x20
jne 0x534626
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x5346bf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x534648
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5346bf
and eax, 0x3f
test dl, 8
jne 0x534668
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5346bf
test dl, 4
jne 0x534691
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x5346bf
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x5346eb
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je 0x5346eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x5345f0
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x24], 0
jne 0x529eef
jmp 0x5377ce
cmp eax, 0xf
ja case.0x537373.15
jmp dword [eax*4 + 0x5395d0]
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x534746
lea ecx, [ecx]
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x534785
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x53475a
push 0
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
je 0x534777
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x24], 0
jne 0x529eef
jmp 0x535f8b
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x534777
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x534777
cmp edi, 1
je 0x534746
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x534746
inc dword [esi + 4]
inc ebx
cmp ebx, dword [esi + 0x84]
jl 0x534720
jmp 0x534746
cmp dword [ebp + 0x88], 0
je 0x534746
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x534746
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x534746
jmp 0x52b219
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x84]
mov edi, dword [esi + 4]
sub eax, edi
sub ecx, dword [esi + 0x88]
cmp ecx, eax
jbe 0x5347fd
mov dword [esi + 4], edx
cmp dword [ebp + 0x88], 0
je 0x53474a
cmp edx, dword [ebp + 0x84]
jbe 0x53474a
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x53474a
jmp 0x52b4a7
lea eax, [edi + ecx]
mov dword [esi + 4], eax
jmp 0x53474a
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x53474a
lea ebx, [ebx]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x53487f
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x534847
lea eax, [ecx + 1]
mov dword [esi + 4], eax
cmp eax, dword [ebp + 0x78]
jae 0x53474a
cmp byte [eax], 0xa
jne 0x534871
inc eax
jmp 0x53486e
cmp eax, 0xa
je 0x53486b
cmp dword [ebp + 0x64], 0
jne 0x53474a
cmp eax, 0xb
je 0x53486b
cmp eax, 0xc
je 0x53486b
cmp eax, 0x85
jne 0x53474a
lea eax, [ecx + 1]
mov dword [esi + 4], eax
inc edx
cmp edx, dword [esi + 0x84]
jl 0x534820
jmp 0x53474a
cmp dword [ebp + 0x88], 0
je 0x53474a
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x53474a
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x53474a
jmp 0x52b4a7
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x53474a
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x53487f
movzx eax, byte [ecx]
cmp eax, 9
je 0x53474a
cmp eax, 0x20
je 0x53474a
cmp eax, 0xa0
je 0x53474a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x5348c6
jmp 0x53474a
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x53474a
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x53487f
movzx eax, byte [ecx]
cmp eax, 9
je 0x534938
cmp eax, 0x20
je 0x534938
cmp eax, 0xa0
jne 0x53474a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x534914
jmp 0x53474a
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x53474a
mov edi, edi
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x53487f
movzx eax, byte [ecx]
cmp eax, 0xa
je 0x53474a
cmp eax, 0xb
je 0x53474a
cmp eax, 0xc
je 0x53474a
cmp eax, 0xd
je 0x53474a
cmp eax, 0x85
je 0x53474a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x534960
jmp 0x53474a
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x53474a
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x53487f
movzx eax, byte [ecx]
cmp eax, 0xa
je 0x5349f2
cmp eax, 0xb
je 0x5349f2
cmp eax, 0xc
je 0x5349f2
cmp eax, 0xd
je 0x5349f2
cmp eax, 0x85
jne 0x53474a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x5349c4
jmp 0x53474a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x53474a
jmp 0x534a20
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x53487f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne 0x53474a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x534a20
jmp 0x53474a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x53474a
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x53487f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je 0x53474a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x534a62
jmp 0x53474a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x53474a
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x53487f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne 0x53474a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x534aa4
jmp 0x53474a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x53474a
jmp 0x534af0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x53487f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je 0x53474a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x534af0
jmp 0x53474a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x53474a
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x53487f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne 0x53474a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x534b32
jmp 0x53474a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x53474a
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x53487f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je 0x53474a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x534b74
jmp 0x53474a
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x534bbe
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5391cf
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x128]
dec eax
cmp eax, 0x41
ja case.default.0x534bdf
jmp dword [eax*4 + 0x539610]
cmp edi, 0xfffffc1c
je 0x534ca3
cmp edi, 0xfffffc20
jne 0x534c2e
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x534bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x534c2a
cmp byte [ecx], 0x71
jne case.0x534bdf.49
xor edi, edi
jmp 0x534c36
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x98]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
jne 0x534ca3
cmp dword [esi + 0x94], 0x82
jl 0x534c7c
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0xb24ee0]
mov edx, eax
add esp, 4
test edx, edx
je 0x529f4d
mov dword [esi + 0x128], 1
jmp 0x52a0b2
mov edx, dword [esi + 0x90]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x9c]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x90]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa0]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x8c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
lea ecx, [esp + 0x28]
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x534cf7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
jne 0x534bcf
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b0
ret
cmp edi, 0xfffffc20
jne 0x534d91
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x534bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x534d40
cmp byte [ecx], 0x71
jne case.0x534bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je case.0x529f1c.123
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x534d82
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test edi, edi
je 0x534d40
cmp edi, 0xfffffc1c
jne case.0x534bdf.49
mov edx, dword [esi + 8]
mov al, byte [edx]
cmp al, 0x7b
je 0x534dd3
cmp al, 0x71
jne 0x534dc4
mov edi, edi
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x534db0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
jmp case.0x534bdf.49
mov eax, dword [esi + 0x94]
cmp eax, 0x82
jge 0x534e2a
cmp eax, 0x7b
je 0x534e2a
cmp dword [ebp + 0x68], 0
jne 0x534e34
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x71
je 0x534e34
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x6924a8]
add eax, ecx
mov dword [esi + 8], eax
jmp 0x529e50
mov dword [ebp + 0x98], 2
mov eax, dword [ebp + 0xac]
push 0x12c
mov dword [esi + 0x24], eax
call dword [0xb24ee0]
mov edx, eax
add esp, 4
test edx, edx
je 0x529f4d
mov dword [esi + 0x128], 2
jmp 0x52a0b2
cmp edi, 1
jne 0x534eb9
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x10]
jle 0x534e77
mov dword [esi + 0x10], eax
mov dword [esi + 0x50], 1
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
add edx, 3
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
jne 0x534ed6
jmp 0x534ea0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x534ea0
jmp 0x534ed6
test edi, edi
je 0x534ec9
cmp edi, 0xfffffc20
jne case.0x534bdf.49
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x70]
add dword [esi + 8], eax
cmp dword [esi + 0x50], 0
jne 0x534ee8
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
jne 0x52a7a7
cmp dword [esi + 0x94], 0x86
jne 0x536596
push 0x12c
mov dword [ebp + 0x98], 2
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0x31
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x535fc2
cmp edi, 1
je 0x534f9d
cmp edi, 0xfffffc19
je 0x534f9d
test edi, edi
je 0x534f52
cmp edi, 0xfffffc20
jne case.0x534bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
jne 0x534fa3
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 4
jmp 0x53509f
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x72
jne 0x534fd4
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x534fc5
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [esi + 0x50], 0
jne 0x5350f5
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x534fe1
lea eax, [edx + 3]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x10], eax
jmp 0x529eef
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
cmp edi, 1
je 0x535121
cmp edi, 0xfffffc19
je 0x535121
cmp edi, 0xfffffc1e
je 0x5350d1
cmp edi, 0xfffffc1d
je 0x5350d1
cmp edi, 0xfffffc1a
je 0x5350d1
test edi, edi
je 0x53505e
cmp edi, 0xfffffc20
jne case.0x534bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov edx, dword [esi + 8]
cmp byte [edx], 0x71
jne 0x5350eb
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 5
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
mov eax, dword [esi + 0x18]
inc eax
mov dword [ecx + 0x18], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x529e2f
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x5350d4
cmp dword [esi + 0x50], 0
je 0x535337
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53510f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53913c
mov edi, 1
jmp 0x534bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53513b
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 0x44]
shl eax, 2
push eax
push dword [esi + 0x40]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x38]
lea ebx, [esi + 0x38]
add esp, 0xc
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x538f5c
cmp edi, 0xfffffc19
je 0x538f5c
test edi, edi
je 0x5351ac
cmp edi, 0xfffffc20
je 0x5351ac
mov ecx, dword [esi + 0x40]
lea eax, [esi + 0xa8]
cmp ecx, eax
je 0x52a2f5
push ecx
call dword [0xb24edc]
add esp, 4
jmp 0x52a2f5
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x1c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0x1c], eax
cmp byte [eax], 0x71
jne 0x53520c
cmp dword [esi + 0x50], 0
je 0x5351dc
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0xb24ee0]
mov edx, eax
add esp, 4
test edx, edx
je 0x529f4d
mov dword [esi + 0x128], 6
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov ecx, dword [esi + 0x1c]
jmp 0x52a0bb
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
lea eax, [esi + 0xa8]
mov ecx, dword [esi + 0x40]
cmp ecx, eax
je 0x53522b
push ecx
call dword [0xb24edc]
add esp, 4
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535245
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x30]
mov al, byte [eax]
cmp al, 0x7b
jne 0x535295
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 8
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x30]
jmp 0x535fc2
cmp al, 0x82
jb 0x536583
push 0x12c
mov dword [ebp + 0x98], 2
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x32
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x30]
jmp 0x535fc2
lea ecx, [esp + 0x28]
test edi, edi
jne 0x534ce1
mov eax, dword [esi + 0x30]
mov dword [ebp + 0xb4], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535302
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53914c
mov edi, 0xfffffc1c
jmp 0x534bcf
test edi, edi
jne case.0x534bdf.49
mov edx, dword [esi + 0x28]
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x28], edx
cmp byte [edx], 0x71
je 0x535320
lea eax, [edx + 3]
mov dword [esi + 8], eax
jmp 0x529eef
test edi, edi
je 0x52b142
jmp case.0x534bdf.49
cmp edi, 0xfffffc1c
jne 0x535362
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x30]
jmp 0x535364
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x30]
cmp byte [eax], 0x7b
jne 0x536596
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 9
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x535fc2
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x5353e5
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5353d6
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
push dword [esp + 0x154]
mov edi, dword [esi + 4]
push ebp
push dword [esi + 0x80]
push edi
push dword [esi + 0x90]
call fcn.00539830
add esp, 0x14
test eax, eax
jns 0x53545c
cmp dword [ebp + 0x88], 0
je 0x535433
cmp edi, dword [ebp + 0x78]
jb 0x535433
cmp edi, dword [ebp + 0x84]
jbe 0x535433
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53544d
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
add eax, edi
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0xe
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x80]
sub dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x5354cb
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0xf
jmp 0x535fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5354e5
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x535530
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535521
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x535586
cmp dword [ebp + 0x88], 0
je 0x53555d
cmp eax, dword [ebp + 0x84]
jbe 0x53555d
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535577
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
mov edi, ecx
mov edx, dword [esi + 0x24]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
jne 0x5355cd
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5355be
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x11
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
dec dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x53686a
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0x13
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x535671
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535662
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x5356c7
cmp dword [ebp + 0x88], 0
je 0x53569e
cmp eax, dword [ebp + 0x84]
jbe 0x53569e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5356b8
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x535700
cmp dword [esi + 0x8c], ecx
je 0x535700
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5356f1
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc eax
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x18
jmp 0x535fb9
dec dword [esi + 4]
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x535768
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x19
jmp 0x535fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535782
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x5357cd
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5357be
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x535823
cmp dword [ebp + 0x88], 0
je 0x5357fa
cmp eax, dword [ebp + 0x84]
jbe 0x5357fa
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535814
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
je 0x535858
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535849
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x1a
jmp 0x535fb9
dec dword [esi + 4]
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x5358bc
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x1b
jmp 0x535fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5358d6
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x535921
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535912
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x535977
cmp dword [ebp + 0x88], 0
je 0x53594e
cmp eax, dword [ebp + 0x84]
jbe 0x53594e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535968
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x5359b5
cmp dword [esi + 0x8c], ecx
je 0x5359b5
inc eax
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x1d
jmp 0x535fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5359cf
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test edi, edi
jne case.0x534bdf.49
dec dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x536ec6
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x1f
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x535a58
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535a49
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x535aae
cmp dword [ebp + 0x88], 0
je 0x535a85
cmp eax, dword [ebp + 0x84]
jbe 0x535a85
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535a9f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
jne 0x535ae3
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535ad4
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x21
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
dec dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x53711e
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x23
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x535b87
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535b78
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x535bdf
cmp dword [ebp + 0x88], 0
je 0x535bb6
cmp ecx, dword [ebp + 0x84]
jbe 0x535bb6
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535bd0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [esi + 0x74], 0xc
jne 0x535c00
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x535c22
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
jne 0x535c3f
mov eax, dword [esi + 4]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 4], edx
mov eax, dword [esi + 0x74]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x537373.15
jmp dword [eax*4 + 0x539718]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x535c00
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x535c00
cmp edi, 1
je 0x535c3f
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
jne 0x535c00
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535c59
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x535c7b.14
movzx eax, byte [ecx + 0x539768]
jmp dword [eax*4 + 0x539758]
cmp edx, dword [ebp + 0x78]
jae case.0x535c1b.12
cmp byte [edx], 0xa
jne case.0x535c1b.12
lea eax, [edx + 1]
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x2b
jmp 0x535fb9
cmp dword [ebp + 0x64], 0
je case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535cdc
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535d05
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp ecx, 9
je 0x535d2a
cmp ecx, 0x20
je 0x535d2a
cmp ecx, 0xa0
jne case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535d44
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp ecx, 9
je case.0x535c1b.12
cmp ecx, 0x20
je case.0x535c1b.12
cmp ecx, 0xa0
je case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535d8b
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp ecx, 0xa
jb case.0x535c1b.12
cmp ecx, 0xd
jbe 0x535db4
cmp ecx, 0x85
jne case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535dce
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp ecx, 0xa
jb 0x535df7
cmp ecx, 0xd
jbe case.0x535c1b.12
cmp ecx, 0x85
je case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535e11
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535e47
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535e7d
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535eb3
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535ee9
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535f1f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne case.0x535c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x535f55
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test edi, edi
jne case.0x534bdf.49
dec dword [esi + 4]
cmp dword [esi + 0x74], 0x11
mov eax, dword [esi + 4]
jne 0x535f8b
cmp eax, dword [esi + 0x2c]
jbe 0x535f8b
cmp byte [eax], 0xa
jne 0x535f8b
cmp byte [eax - 1], 0xd
jne 0x535f8b
dec dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x53852c
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x2f
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
inc eax
mov dword [ecx + 0x18], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x529e2f
cmp edi, 0xfffffc1b
jne 0x536016
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x70]
add eax, dword [ebp + 0x70]
mov dword [esi + 8], eax
mov dword [esi + 0x54], 1
jmp 0x52ad2c
cmp edi, 0xfffffc20
jne 0x53604a
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x534bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x536052
cmp byte [ecx], 0x71
jmp 0x53604c
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x52ad2c
cmp dword [esi + 0x54], 0
jne 0x538f87
cmp dword [esi + 0x4c], 0
jne 0x538f87
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53609f
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test edi, edi
je 0x5360d6
cmp edi, 0xfffffc1d
je 0x5360d6
cmp edi, 0xfffffc1e
je 0x5360d6
cmp edi, 0xfffffc1f
je 0x5360d6
cmp edi, 0xfffffc20
jne case.0x534bdf.49
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5360f0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53916c
mov edi, 0xfffffc1a
jmp 0x534bcf
test edi, edi
je 0x536190
cmp edi, 0xfffffc1d
je 0x536190
cmp edi, 0xfffffc20
je 0x536190
jmp case.0x534bdf.49
cmp edi, 1
je 0x536134
cmp edi, 0xfffffc19
jne 0x53614e
cmp dword [ebp + 0xac], 0
jne 0x53614e
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.0x534bdf.49
cmp edi, 0xfffffc1f
jne case.0x534bdf.49
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x536183
test dl, dl
je 0x53617f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x536183
add eax, 2
add ecx, 2
test dl, dl
jne 0x536163
xor eax, eax
jmp 0x536188
sbb eax, eax
or eax, 1
test eax, eax
jne case.0x534bdf.49
mov eax, dword [esi + 4]
lea ecx, [esp + 0x28]
mov dword [ebp + 0x7c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5361b0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53918c
mov edi, 0xfffffc1e
jmp 0x534bcf
cmp edi, 1
je 0x5361cf
cmp edi, 0xfffffc19
jne case.0x534bdf.51
cmp dword [ebp + 0xac], 0
jne case.0x534bdf.51
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
je 0x5361f4
cmp edi, 0xfffffc20
jne case.0x534bdf.49
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53620e
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53915c
mov edi, 0xfffffc1d
jmp 0x534bcf
test edi, edi
je 0x536238
cmp edi, 0xfffffc1d
je 0x536238
cmp edi, 0xfffffc20
jne case.0x534bdf.49
mov eax, dword [esi + 8]
lea ecx, [esp + 0x28]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53625b
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53919c
mov edi, 0xfffffc1f
jmp 0x534bcf
cmp edi, 1
je 0x53627a
cmp edi, 0xfffffc19
jne case.0x534bdf.54
cmp dword [ebp + 0xac], 0
jne case.0x534bdf.54
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xac], eax
lea ecx, [esp + 0x28]
test edi, edi
jne 0x534ce1
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5362b7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x53917c
mov edi, 0xfffffc20
jmp 0x534bcf
cmp edi, 0xfffffc1b
jne 0x536304
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x70]
add eax, dword [ebp + 0x70]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x98], eax
mov dword [esi + 0x54], 1
jmp 0x52accb
cmp edi, 0xfffffc20
jne 0x536338
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x534bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x536340
cmp byte [ecx], 0x71
jmp 0x53633a
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x98]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x52accb
cmp dword [esi + 0x54], 0
jne 0x5363ab
mov edx, dword [esi + 0x90]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x9c]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x90]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa0]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x8c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
cmp dword [esi + 0x4c], 0
jne 0x52a7a7
cmp dword [esi + 0x54], 0
jne 0x52a7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5363d9
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edi, 1
jne 0x536431
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0xc], eax
mov edx, dword [esi + 8]
mov al, byte [edx]
cmp al, 0x7c
je 0x5364d0
cmp al, 0x71
je 0x5364d0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536422
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edi, 0xfffffc20
jne 0x536465
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x534bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x53646d
cmp byte [ecx], 0x71
jmp 0x536467
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
jne 0x5363f3
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0x40
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x535fc2
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x5364d0
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x10], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 4], ecx
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, 0x72
je 0x52a7a7
cmp ecx, dword [esi + 0x34]
je 0x52a7a7
push 0x12c
cmp al, 0x74
jne 0x536546
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x41
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x535fc2
mov dword [ebp + 0x98], 2
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x42
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x30]
jmp 0x535fc2
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x30]
mov dword [esi + 8], eax
jmp 0x529e50
test edi, edi
jne case.0x534bdf.49
add dword [esi + 8], 3
jmp 0x529e50
test edi, edi
jne case.0x534bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
jne 0x5365de
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5365cf
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test ebx, ebx
je 0x52dfb3
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x52dfb3
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x5365f2
jmp 0x52dfb3
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x53663f
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536630
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jb 0x536695
cmp dword [ebp + 0x88], 0
je 0x53666c
cmp edx, dword [ebp + 0x84]
jbe 0x53666c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536686
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx ebx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ebx, 0xc0
jb 0x536789
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x5366c3
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x536786
test bl, 0x10
jne 0x5366e5
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 4], 2
jmp 0x536789
mov ecx, dword [esi + 4]
test bl, 8
jne 0x536715
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x536786
test bl, 4
jne 0x53674b
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x536786
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp ebx, 0xff
jbe 0x5367c7
cmp dword [esi + 0x94], 0x6a
jne 0x536809
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5367b8
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov edx, dword [esi + 0x24]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
jne 0x536809
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5367fa
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
inc dword [esi + 0x7c]
mov ebx, dword [esp + 0x14]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5390c0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536842
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ef
mov edi, 0xfffffffa
jmp 0x534bcf
test edi, edi
jne case.0x534bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
jne 0x536893
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536884
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x5368ac
jmp 0x5368a0
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x5368a0
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0x12
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x53690f
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536900
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x536965
cmp dword [ebp + 0x88], 0
je 0x53693c
cmp edi, dword [ebp + 0x84]
jbe 0x53693c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536956
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x536a61
cmp edx, 0xc0
jb 0x536a61
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x53699b
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x536a5e
test dl, 0x10
jne 0x5369bd
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x536a61
mov ecx, dword [esi + 4]
test dl, 8
jne 0x5369ed
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x536a5e
test dl, 4
jne 0x536a23
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x536a5e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
push ebx
push dword [esi + 0x24]
push edx
call fcn.0053b030
add esp, 0xc
test eax, eax
jne 0x536a9b
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536a8c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x14
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x536b01
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536af2
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x80]
sub eax, edi
mov ebx, dword [esi + 4]
cmp ebx, eax
ja 0x536b74
mov edx, dword [esi + 0x20]
mov ecx, ebx
sub edi, 4
jb 0x536b34
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x536b39
add ecx, 4
add edx, 4
sub edi, 4
jae 0x536b23
cmp edi, 0xfffffffc
je 0x536b66
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x536b71
cmp edi, 0xfffffffd
je 0x536b66
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x536b71
cmp edi, 0xfffffffe
je 0x536b66
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x536b71
cmp edi, 0xffffffff
je 0x536b66
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x536b71
mov eax, dword [esi + 0x80]
jmp 0x536bdb
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x64]
test edi, edi
jle 0x536c0a
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x536c0a
lea edx, [esi + 0x68]
mov ecx, ebx
sub edi, 4
jb 0x536ba6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x536bab
add ecx, 4
add edx, 4
sub edi, 4
jae 0x536b95
cmp edi, 0xfffffffc
je 0x536bd8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x536c0a
cmp edi, 0xfffffffd
je 0x536bd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x536c0a
cmp edi, 0xfffffffe
je 0x536bd8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x536c0a
cmp edi, 0xffffffff
je 0x536bd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x536c0a
mov eax, dword [esi + 0x64]
add eax, ebx
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0x16
jmp 0x535fb9
cmp dword [ebp + 0x88], 0
je 0x536c34
cmp ebx, dword [ebp + 0x78]
jb 0x536c34
cmp ebx, dword [ebp + 0x84]
jbe 0x536c34
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536c4e
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
test edi, edi
jne case.0x534bdf.49
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 0x2c]
jne 0x536c96
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536c87
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
dec ecx
mov dword [esi + 4], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x536cae
dec ecx
mov dword [esi + 4], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x536ca2
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0x17
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x536d11
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536d02
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x536d67
cmp dword [ebp + 0x88], 0
je 0x536d3e
cmp edi, dword [ebp + 0x84]
jbe 0x536d3e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536d58
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx ebx, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp ebx, 0xc0
jb 0x536e4c
test bl, 0x20
jne 0x536d95
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x536e49
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x536dbd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 4], 2
jmp 0x536e4c
mov edx, dword [esi + 4]
test bl, 8
jne 0x536de6
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x536e49
test bl, 4
jne 0x536e15
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x536e49
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp dword [esi + 0x78], ebx
je 0x536e87
cmp dword [esi + 0x8c], ebx
je 0x536e87
inc dword [esi + 0x7c]
mov ebx, dword [esp + 0x14]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x1c
jmp 0x535fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536ea1
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcb
test edi, edi
jne case.0x534bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
jne 0x536eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536ee0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x536f03
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x536ef7
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0x1e
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x536f66
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536f57
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x536fbc
cmp dword [ebp + 0x88], 0
je 0x536f93
cmp edi, dword [ebp + 0x84]
jbe 0x536f93
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x536fad
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp edx, 0xc0
jb 0x5370b0
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x536fea
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x5370ad
test dl, 0x10
jne 0x53700c
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x5370b0
mov ecx, dword [esi + 4]
test dl, 8
jne 0x53703c
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x5370ad
test dl, 4
jne 0x537072
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x5370ad
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
jne 0x5370de
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5370cf
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x20
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
jne 0x537147
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537138
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x53715c
nop
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x537150
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x529f4d
mov dword [esi + 0x128], 0x22
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x5371bf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5371b0
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x537217
cmp dword [ebp + 0x88], 0
je 0x5371ee
cmp ecx, dword [ebp + 0x84]
jbe 0x5371ee
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537208
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [esi + 0x74], 0xc
jne 0x537238
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x53726b
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0053a9b0
add esp, 0x14
test eax, eax
jne 0x537288
mov eax, dword [esi + 4]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 4], edi
cmp edx, 0xc0
jb 0x537364
test dl, 0x20
jne 0x5372b1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x537361
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x537238
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x537238
cmp edi, 1
je 0x537288
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
jne 0x537238
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5372a2
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x5372d8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x537361
test dl, 8
jne 0x5372fe
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x537361
test dl, 4
jne 0x53732d
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x537361
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x74]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x537373.15
jmp dword [eax*4 + 0x5397e4]
cmp edx, 0xd
ja 0x5373af
je 0x537391
cmp edx, 0xa
je case.0x537373.12
jbe 0x5373c7
cmp edx, 0xc
jmp 0x5373c5
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae case.0x537373.12
cmp byte [eax], 0xa
jne case.0x537373.12
inc eax
mov dword [esi + 4], eax
jmp case.0x537373.12
cmp edx, 0x85
je 0x5373f0
cmp edx, 0x2027
jbe 0x5373c7
cmp edx, 0x2029
jbe 0x5373f0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5373e1
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp dword [ebp + 0x64], 0
je case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537410
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x180e
ja 0x53747b
je 0x5374a5
cmp edx, 0xa0
ja 0x537473
je 0x5374a5
cmp edx, 9
je 0x5374a5
cmp edx, 0x20
je 0x5374a5
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x2a
jmp 0x535fb9
cmp edx, 0x1680
jmp 0x537447
cmp edx, 0x205f
ja 0x53749d
je 0x5374a5
cmp edx, 0x2000
jb case.0x537373.12
cmp edx, 0x200a
jbe 0x5374a5
cmp edx, 0x202f
jmp 0x537447
cmp edx, 0x3000
jne case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5374bf
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x180e
ja 0x537500
je case.0x537373.12
cmp edx, 0xa0
ja 0x5374f8
je case.0x537373.12
cmp edx, 9
je case.0x537373.12
cmp edx, 0x20
jmp 0x537530
cmp edx, 0x1680
jmp 0x537530
cmp edx, 0x205f
ja 0x53752a
je case.0x537373.12
cmp edx, 0x2000
jb 0x537536
cmp edx, 0x200a
jbe case.0x537373.12
cmp edx, 0x202f
jmp 0x537530
cmp edx, 0x3000
je case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537550
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x85
ja 0x53757c
je 0x53758b
cmp edx, 0xa
jb case.0x537373.12
cmp edx, 0xd
jbe 0x53758b
jmp case.0x537373.12
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5375a5
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x85
ja 0x5375cc
je case.0x537373.12
cmp edx, 0xa
jb 0x5375db
cmp edx, 0xd
jmp 0x5375d5
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5375f5
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x100
jae case.0x537373.12
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
je case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537637
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x100
jae 0x53765b
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
jne case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537675
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x100
jae case.0x537373.12
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
je case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5376b7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x100
jae 0x5376db
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
jne case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5376f5
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x100
jae case.0x537373.12
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537737
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
cmp edx, 0x100
jae 0x53775b
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
jne case.0x537373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537775
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test edi, edi
jne case.0x534bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
je 0x53852c
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x5377b2
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x5377a6
cmp dword [esi + 0x74], 0x11
jne 0x5377ce
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jbe 0x5377ce
cmp byte [eax], 0xa
jne 0x5377ce
dec eax
cmp byte [eax], 0xd
jne 0x5377ce
mov dword [esi + 4], eax
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x2e
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x537831
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537822
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x537887
cmp dword [ebp + 0x88], 0
je 0x53785e
cmp eax, dword [ebp + 0x84]
jbe 0x53785e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537878
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
test ebx, ebx
je 0x5378c6
cmp ecx, 0xc0
jb 0x5378c6
test cl, 0x20
jne 0x5378a2
inc eax
jmp 0x5378c3
test cl, 0x10
jne 0x5378ac
add eax, 2
jmp 0x5378c3
test cl, 8
jne 0x5378b6
add eax, 3
jmp 0x5378c3
test cl, 4
jne 0x5378c0
add eax, 4
jmp 0x5378c3
add eax, 5
mov dword [esi + 4], eax
cmp dword [esi + 0x60], 0
je 0x5378f5
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5378e6
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x24
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x53795b
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x53794c
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x5379b1
cmp dword [ebp + 0x88], 0
je 0x537988
cmp edi, dword [ebp + 0x84]
jbe 0x537988
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5379a2
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x537aad
cmp edx, 0xc0
jb 0x537aad
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x5379e7
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x537aaa
test dl, 0x10
jne 0x537a09
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x537aad
mov ecx, dword [esi + 4]
test dl, 8
jne 0x537a39
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x537aaa
test dl, 4
jne 0x537a6f
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x537aaa
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp eax, 9
je 0x537ae4
cmp eax, 5
je 0x537ae4
cmp eax, 8
je 0x537ae4
xor eax, eax
jmp 0x537ae9
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x537b17
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537b08
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x25
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x537b7d
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537b6e
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x537bd3
cmp dword [ebp + 0x88], 0
je 0x537baa
cmp edi, dword [ebp + 0x84]
jbe 0x537baa
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537bc4
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x537ccf
cmp edx, 0xc0
jb 0x537ccf
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x537c09
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x537ccc
test dl, 0x10
jne 0x537c2b
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x537ccf
mov ecx, dword [esi + 4]
test dl, 8
jne 0x537c5b
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x537ccc
test dl, 4
jne 0x537c91
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x537ccc
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
jne 0x537d30
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537d21
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x26
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x537d96
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537d87
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x537dec
cmp dword [ebp + 0x88], 0
je 0x537dc3
cmp edi, dword [ebp + 0x84]
jbe 0x537dc3
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537ddd
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x537ee8
cmp edx, 0xc0
jb 0x537ee8
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x537e22
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x537ee5
test dl, 0x10
jne 0x537e44
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x537ee8
mov ecx, dword [esi + 4]
test dl, 8
jne 0x537e74
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x537ee5
test dl, 4
jne 0x537eaa
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x537ee5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
jne 0x537f42
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537f33
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x27
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x537fa8
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537f99
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x537ffe
cmp dword [ebp + 0x88], 0
je 0x537fd5
cmp edi, dword [ebp + 0x84]
jbe 0x537fd5
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x537fef
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x5380fa
cmp edx, 0xc0
jb 0x5380fa
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x538034
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x5380f7
test dl, 0x10
jne 0x538056
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x5380fa
mov ecx, dword [esi + 4]
test dl, 8
jne 0x538086
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x5380f7
test dl, 4
jne 0x5380bc
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x5380f7
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c0]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
jne 0x538154
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538145
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x28
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x5381ba
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5381ab
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x538210
cmp dword [ebp + 0x88], 0
je 0x5381e7
cmp edi, dword [ebp + 0x84]
jbe 0x5381e7
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538201
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x53830c
cmp edx, 0xc0
jb 0x53830c
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x538246
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x538309
test dl, 0x10
jne 0x538268
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x53830c
mov ecx, dword [esi + 4]
test dl, 8
jne 0x538298
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x538309
test dl, 4
jne 0x5382ce
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x538309
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 2
jne 0x538363
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538354
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x5384b1
nop
mov eax, dword [esi + 4]
mov ecx, 1
movzx edx, byte [eax]
test ebx, ebx
je 0x538474
cmp edx, 0xc0
jb 0x538474
test dl, 0x20
jne 0x5383a5
movzx eax, byte [eax + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53846c
test dl, 0x10
jne 0x5383ca
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
movzx eax, byte [eax + 2]
jmp 0x53846c
test dl, 8
jne 0x5383fb
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
mov ecx, 4
jmp 0x53846c
movzx eax, byte [eax + 1]
and eax, 0x3f
test dl, 4
jne 0x538435
mov ecx, dword [esi + 4]
and edx, 3
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
mov ecx, 5
jmp 0x53846c
and edx, ecx
mov ecx, dword [esi + 4]
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
mov ecx, 6
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 2
jne 0x5384b1
add dword [esi + 4], ecx
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x538370
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x29
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
je 0x53852c
test ebx, ebx
je 0x533647
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x533647
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x538505
jmp 0x533647
test edi, edi
jne case.0x534bdf.49
mov edx, dword [esi + 4]
lea eax, [edx - 1]
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x2c]
jne 0x538555
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538546
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
test ebx, ebx
jne 0x538564
mov eax, dword [esi + 4]
movzx edx, byte [eax]
jmp 0x538658
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53857c
nop
dec ecx
mov dword [esi + 4], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x538570
mov eax, dword [esi + 4]
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x538658
test dl, 0x20
jne 0x53859f
movzx eax, byte [eax + 1]
and edx, 0x1f
jmp 0x538650
test dl, 0x10
jne 0x5385bf
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx eax, byte [eax + 2]
jmp 0x538650
test dl, 8
jne 0x5385eb
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
jmp 0x538650
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 4]
and eax, 0x3f
test dl, 4
jne 0x538620
and edx, 3
shl edx, 6
or eax, edx
movzx edx, byte [ecx + 2]
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
jmp 0x538650
and edx, 1
shl edx, 6
or eax, edx
movzx edx, byte [ecx + 2]
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 2
jne 0x53394d
dec dword [esi + 4]
jmp 0x538555
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x5386ce
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5386bf
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x538728
cmp dword [ebp + 0x88], 0
je 0x5386ff
cmp edi, dword [ebp + 0x84]
jbe 0x5386ff
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538719
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x538824
cmp edx, 0xc0
jb 0x538824
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x53875e
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x538821
test dl, 0x10
jne 0x538780
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x538824
mov ecx, dword [esi + 4]
test dl, 8
jne 0x5387b0
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x538821
test dl, 4
jne 0x5387e6
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x538821
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x6936a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x53885d
cmp eax, 3
je 0x53885d
xor eax, eax
jmp 0x538862
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x538890
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538881
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x3b
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x5388f6
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x5388e7
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x538950
cmp dword [ebp + 0x88], 0
je 0x538927
cmp edi, dword [ebp + 0x84]
jbe 0x538927
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538941
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x538a4c
cmp edx, 0xc0
jb 0x538a4c
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x538986
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x538a49
test dl, 0x10
jne 0x5389a8
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x538a4c
mov ecx, dword [esi + 4]
test dl, 8
jne 0x5389d8
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x538a49
test dl, 4
jne 0x538a0e
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x538a49
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 6
je 0x538a94
cmp edx, 9
je 0x538a94
cmp edx, 0xa
je 0x538a94
cmp edx, 0xc
je 0x538a94
cmp edx, 0xd
je 0x538a94
xor eax, eax
jmp 0x538a99
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x538ac7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538ab8
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x3c
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x538b2d
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538b1e
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x538b87
cmp dword [ebp + 0x88], 0
je 0x538b5e
cmp edi, dword [ebp + 0x84]
jbe 0x538b5e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538b78
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x538c83
cmp edx, 0xc0
jb 0x538c83
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x538bbd
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x538c80
test dl, 0x10
jne 0x538bdf
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x538c83
mov ecx, dword [esi + 4]
test dl, 8
jne 0x538c0f
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x538c80
test dl, 4
jne 0x538c45
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x538c80
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
cmp dword [eax*4 + 0x692548], 6
je 0x538cd0
cmp edx, 9
je 0x538cd0
cmp edx, 0xa
je 0x538cd0
cmp edx, 0xb
je 0x538cd0
cmp edx, 0xc
je 0x538cd0
cmp edx, 0xd
je 0x538cd0
xor eax, eax
jmp 0x538cd5
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x538d03
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538cf4
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x3d
jmp 0x535fb9
test edi, edi
jne case.0x534bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x538d69
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538d5a
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x538dc3
cmp dword [ebp + 0x88], 0
je 0x538d9a
cmp edi, dword [ebp + 0x84]
jbe 0x538d9a
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x52b4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538db4
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x538ebf
cmp edx, 0xc0
jb 0x538ebf
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x538df9
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x538ebc
test dl, 0x10
jne 0x538e1b
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x538ebf
mov ecx, dword [esi + 4]
test dl, 8
jne 0x538e4b
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x538ebc
test dl, 4
jne 0x538e81
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x538ebc
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x6936a0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x6958a0]
movzx eax, byte [eax*8 + 0x6925c1]
mov eax, dword [eax*4 + 0x692548]
cmp eax, 1
je 0x538eff
cmp eax, 3
je 0x538eff
cmp edx, 0x5f
je 0x538eff
xor eax, eax
jmp 0x538f04
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x538f32
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x538f23
push eax
call dword [0xb24ee4]
add esp, 4
test esi, esi
je 0x5390ff
xor edi, edi
jmp 0x534bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0xb24ee0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x536828
mov dword [esi + 0x128], 0x3e
jmp 0x535fb9
mov ecx, dword [esi + 0x40]
lea eax, [esi + 0xa8]
cmp ecx, eax
je 0x538f73
push ecx
call dword [0xb24edc]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0xc], eax
jmp 0x529eef
add eax, 3
mov dword [esi + 8], eax
jmp 0x529eef
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x536810
mov eax, dword [esi + 0x88]
mov ebx, dword [esp + 0x14]
mov dword [esi + 0x7c], eax
jmp 0x536a9e
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x536be3
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x536e60
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x5370e1
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x5378f8
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x537b1a
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x537d33
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x537f45
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x538157
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x538893
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x538aca
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x538d06
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x538f35
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x53744c
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x5384b4
mov dword [esi + 0x128], 0x37
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x6924a8]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 8], edx
mov eax, dword [esi + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
inc eax
mov dword [edi + 0x18], eax
mov dword [edi], esi
mov esi, edi
jmp 0x529e2f
mov dword [esi + 0x128], 0x10
jmp 0x535fb9
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x1b0
ret
push dword [esi + 0x128]
push str.jump_error_in_pcre_match:_label__d_non_existent_n
call sub.MSVCRT.dll_printf
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x1b0
ret