Function at 0x1000ae39
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
xor bl, bl
mov dword [ebp - 0xc], edx
push edi
mov esi, ecx
mov byte [ebp - 8], bl
movzx edi, bl
mov byte [ebp - 1], 0
lea eax, [edi + 1]
cmp eax, 0xf
ja 0x1000b079
mov cl, byte [edi + edx]
movzx edx, cl
mov ch, byte [edx + 0x100673f0]
test ch, ch
je 0x1000b055
cmp ch, 1
jne case.0x1000ae18.39
lea eax, [edx - 0x26]
cmp eax, 0xcd
ja case.0x1000ae18.39
movzx eax, byte [eax + 0x1000b0a4]
jmp dword [eax*4 + 0x1000b088]
or byte [esi + 7], 8
jmp 0x1000ae86
or byte [esi + 7], 0x20
mov byte [esi + 0x19], 0xf3
jmp 0x1000ae86
or byte [esi + 7], 0x10
mov byte [esi + 0x19], 0xf2
jmp 0x1000ae86
mov al, byte [esi]
and al, 0xf
cmp al, 2
jne 0x1000ae73
cmp cl, 0x64
je 0x1000ae73
cmp cl, 0x65
je 0x1000ae73
cmp cl, 0x3e
jne 0x1000ae64
mov al, byte [esi + 0x1a]
cmp al, 0x64
je 0x1000ae64
cmp al, 0x65
je 0x1000ae64
or byte [esi + 7], 0x40
mov byte [esi + 0x1a], cl
jmp 0x1000ae86
mov al, byte [esi + 0x1a]
cmp al, 0x64
je 0x1000ae86
cmp al, 0x65
je 0x1000ae86
cmp al, 0x3e
je 0x1000ae86
or byte [esi + 7], 0x40
mov byte [esi + 0x1a], cl
jmp 0x1000ae86
or byte [esi + 7], 2
jmp 0x1000ae86
or byte [esi + 7], 4
mov al, byte [esi + 6]
mov ah, 1
test al, 0x10
je 0x1000aea1
and al, 0xef
mov byte [esi + 0x1c], 0
and dword [esi + 0x24], 0xfffffff0
mov byte [esi + 6], al
jmp 0x1000aea1
mov ah, byte [ebp - 1]
mov bh, byte [esi]
mov al, bh
and al, 0xf
cmp al, 2
jne 0x1000aee6
cmp ch, 3
jne 0x1000aee6
or byte [esi + 6], 0x10
mov eax, edx
mov byte [esi + 0x1c], cl
and eax, 4
mov ecx, edx
shr ecx, 2
and ecx, 2
or ecx, eax
mov eax, edx
and eax, 1
shr ecx, 1
shl eax, 2
and edx, 2
or eax, edx
add eax, eax
or ecx, eax
mov eax, dword [esi + 0x24]
and eax, 0xfffffff0
or ecx, eax
mov dword [esi + 0x24], ecx
jmp 0x1000aeea
test ah, ah
je 0x1000af0b
inc byte [esi + 0xc]
inc bl
cmp byte [esi + 0xc], 0xf
mov edx, dword [ebp - 0xc]
mov byte [ebp - 8], bl
jbe 0x1000add3
pop edi
pop esi
mov eax, 0x80000003
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xc]
mov cl, byte [edi + edx]
lea eax, [edi + edx]
mov dword [ebp - 0xc], eax
movzx eax, cl
cmp byte [eax + 0x100673f0], 2
jne 0x1000b051
cmp cl, 0x8f
jne 0x1000af4c
push ecx
push dword [ebp - 8]
mov ecx, esi
call fcn.1000a9c0
add esp, 8
cmp eax, 0x80000000
jb 0x1000b055
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0xc5
jne 0x1000b003
lea eax, [edi + 2]
cmp eax, 0xf
ja 0x1000b079
mov ecx, dword [ebp - 0xc]
and bh, 0xf
cmp bh, 2
je 0x1000af79
mov al, byte [ecx + 1]
and al, 0xc0
cmp al, 0xc0
jne 0x1000b055
mov al, byte [esi + 7]
test al, 0x32
jne 0x1000aff7
mov dl, byte [esi + 6]
test dl, 0x10
jne 0x1000aff7
test al, 8
jne 0x1000aff7
or dl, 0x20
mov byte [esi + 3], 2
mov byte [esi + 6], dl
mov al, byte [ecx]
mov byte [esi + 0x20], al
mov al, byte [ecx + 1]
movzx ecx, al
mov edx, ecx
mov byte [esi + 0x21], al
shr edx, 3
mov eax, ecx
add byte [esi + 0xc], 2
not edx
and edx, 0xf
and eax, 4
shl edx, 4
or edx, eax
mov eax, ecx
shl edx, 5
and eax, 3
or edx, eax
shr ecx, 7
mov eax, dword [esi + 0x24]
or edx, 4
shl edx, 4
not ecx
and ecx, 1
and eax, 0xfffc009d
or edx, ecx
add edx, edx
or edx, eax
cmp byte [esi + 0xc], 0xf
mov dword [esi + 0x24], edx
jbe 0x1000b055
pop edi
pop esi
mov eax, 0x80000003
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, VariantClear
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0xc4
jne 0x1000b024
push ecx
push dword [ebp - 8]
mov ecx, esi
call fcn.1000aaf0
add esp, 8
cmp eax, 0x80000000
jb 0x1000b055
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0x62
jne 0x1000b045
push ecx
push dword [ebp - 8]
mov ecx, esi
call fcn.1000ac20
add esp, 8
cmp eax, 0x80000000
jb 0x1000b055
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x80000101
pop ebx
mov esp, ebp
pop ebp
ret
and byte [esi + 3], 0xf0
mov al, byte [esi + 0xc]
xor al, byte [esi + 0x12]
and al, 0xf
xor byte [esi + 0x12], al
mov al, byte [esi + 0xd]
mov cl, byte [esi + 0x12]
and al, 0xf
shl cl, 4
or cl, al
xor eax, eax
pop edi
mov byte [esi + 0xd], cl
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, SysReAllocString
pop ebx
mov esp, ebp
pop ebp
ret