Function at 0x10035c20
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], ecx
xorps xmm0, xmm0
mov byte [ebp - 0x20], 0
movq qword [ebp - 0x1f], xmm0
mov byte [ebp - 0x17], 0
lea esi, [edi + 1]
mov dh, byte [ebp - 0x1c]
mov byte [ebp - 4], dh
xor bl, bl
xor dl, dl
mov dword [ebp - 0xc], ebx
mov eax, ecx
mov byte [ebp - 0x14], bl
test ecx, ecx
je 0x10035e50
movzx ecx, byte [ecx]
xorps xmm0, xmm0
movq qword [ebp - 0x20], xmm0
mov dh, byte [ebp - 0x20]
mov word [ebp - 0x18], 0
cmp byte [ecx + 0x1012b2f8], dl
jge 0x10035cac
cmp byte [eax], 0x66
mov ebx, dword [ebp - 0x14]
movzx ebx, bl
cmove ebx, esi
cmp byte [eax], 0x67
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0xc]
movzx ebx, bl
cmove ebx, esi
inc dl
inc eax
mov dword [ebp - 0xc], ebx
or dh, 2
cmp dl, 0xf
je 0x10035cee
movzx ecx, byte [eax]
cmp byte [ecx + 0x1012b2f8], 0
jl 0x10035c77
mov cl, al
inc dl
sub cl, byte [ebp - 0x10]
mov byte [ebp - 4], cl
mov cl, byte [eax]
inc eax
mov byte [ebp - 3], cl
mov byte [ebp - 6], dl
cmp cl, 0xf
jne 0x10035d52
mov cl, byte [eax]
inc dl
mov byte [ebp - 3], cl
inc eax
movzx ecx, cl
mov cl, byte [ecx + 0x1012b3f8]
mov byte [ebp - 2], cl
test cl, cl
jns 0x10035cff
or dh, 1
movzx ecx, dl
mov dh, byte [ebp - 4]
jmp 0x10035e52
mov ecx, dword [ebp - 0x10]
add edi, 0xf
add ecx, 0xf
mov dword [ebp - 0x10], ecx
jmp 0x10035c41
test cl, 0x10
je 0x10035d0c
mov cl, byte [eax]
inc eax
mov byte [ebp - 3], cl
inc dl
mov ecx, dword [ebp - 0x14]
test byte [ebp - 2], 0x40
je 0x10035e18
mov bl, byte [eax]
inc dl
mov byte [ebp - 1], bl
mov bh, bl
shr byte [ebp - 1], 3
and bl, 7
and byte [ebp - 1], 7
inc eax
shr bh, 6
or dh, 8
cmp byte [ebp - 3], 0xf6
mov byte [ebp - 5], bh
mov byte [ebp - 6], bl
jne 0x10035d80
cmp byte [ebp - 1], 0
je 0x10035d4c
cmp byte [ebp - 1], 1
jne 0x10035d96
or byte [ebp - 2], 1
jmp 0x10035d96
mov dl, byte [ebp - 3]
movzx ecx, cl
add dl, 0x60
cmp dl, 3
mov dl, byte [ebp - 6]
mov cl, byte [ecx + 0x1012b2f8]
mov byte [ebp - 2], cl
mov ecx, dword [ebp - 0x14]
movzx ebx, cl
mov ecx, dword [ebp - 0xc]
movzx ecx, cl
cmovbe ebx, ecx
mov cl, bl
mov ebx, dword [ebp - 0xc]
jmp 0x10035d0f
cmp byte [ebp - 3], 0xf7
jne 0x10035d96
cmp byte [ebp - 1], 0
je 0x10035d92
cmp byte [ebp - 1], 1
jne 0x10035d96
or byte [ebp - 2], 8
cmp byte [ebp - 5], 3
mov ebx, dword [ebp - 0xc]
je 0x10035dc7
cmp byte [ebp - 6], 4
jne 0x10035dc7
test bl, bl
jne 0x10035dc7
mov al, byte [eax]
inc dl
and al, 7
or dh, 0x10
cmp al, 5
jne 0x10035dc7
cmp byte [ebp - 5], bl
mov ebx, 4
movzx eax, byte [ebp - 0x19]
cmove eax, ebx
jmp 0x10035dca
mov al, byte [ebp - 0x19]
movzx esi, byte [ebp - 5]
mov ebx, dword [ebp - 0xc]
sub esi, 0
je 0x10035df2
sub esi, 1
je 0x10035dee
sub esi, 1
jne 0x10035e0a
test bl, bl
sete al
lea eax, [eax*2 + 2]
jmp 0x10035e0e
mov al, 1
jmp 0x10035e0e
test bl, bl
je 0x10035e00
cmp byte [ebp - 6], 6
jne 0x10035e0a
mov al, 2
jmp 0x10035e0e
cmp byte [ebp - 6], 5
jne 0x10035e0a
mov al, 4
jmp 0x10035e0e
test al, al
je 0x10035e13
add dl, al
or dh, 0x20
mov esi, 1
mov ah, byte [ebp - 2]
test ah, 0xc
je 0x10035e28
add cl, cl
mov bl, 4
sub bl, cl
jmp 0x10035e2b
mov bl, byte [ebp - 0x17]
mov al, ah
and al, 3
add bl, al
je 0x10035e40
add dl, bl
or dh, 0x40
test ah, 0x20
je 0x10035e40
or dh, 0x80
cmp dl, 0xf
jbe 0x10035e48
or dh, 1
mov dh, byte [ebp - 4]
movzx ecx, dl
jmp 0x10035e52
xor ecx, ecx
add edi, ecx
cmp ecx, 1
jne 0x10035e65
movzx eax, dh
mov edx, dword [ebp - 0x10]
cmp byte [eax + edx], 0xcc
je 0x10035e77
add dword [ebp - 0x10], ecx
test ecx, ecx
je 0x10035e77
mov ecx, dword [ebp - 0x10]
mov dh, byte [ebp - 4]
jmp 0x10035c47
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret