Function at 0x10002ac3
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
cmp dword [ebp + 8], 0
jne 0x10002ad6
xor eax, eax
jmp 0x10002e25
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x20]
cmp ebx, esi
jne 0x10002baf
mov eax, eax
mov eax, eax
je 0x10002baf
pop ds
jae 0x10002ad9
add eax, 0xfbc393df
or bh, cl
mov ebx, dword [edi + edi*8 - 0x3055c2e]
sbb dword [eax + 0x27], esi
cli
dec ebx
sbb eax, 0x9fbc451d
mov esi, 0x25dd009d
int3
imul edx, edx, 0x28
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [eax + 0xc]
jb 0x10002b4c
mov dword [ebp - 0xc], 1
jmp 0x10002b53
mov dword [ebp - 0xc], 0
mov eax, eax
cmp dword [ebp - 0xc], 0
je 0x10002e1e
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xc]
cmp edx, edi
jne 0x10002ded
mov ecx, ecx
mov ecx, ecx
je 0x10002ded
test byte [edx + 0x713b3754], 0x9d
mov ch, 0xc6
sub dword [ecx + 0x1545f15a], eax
rol dword [edx], 0x3a
mov dh, 0x55
salc
xor dl, bl
adc al, 0x80
mov cl, byte [ecx - 0x2c]
mul byte [ebp + 0x40fe32dd]
xchg edi, eax
ror dword [ecx - 0x11c2a448], 1
cdq
pop edx
mov al, byte [0x7903f8c2]
invalid
push edx
mov eax, dword [ebp + 8]
cmp ebx, ecx
jne 0x10002d27
add byte [ebx + 0x64840fdb], cl
add dword [eax], eax
add cl, dl
dec edx
mov ebx, ebx
je 0x10002d27
sal edx, 1
dec edx
jnp 0x10002c39
lahf
insb byte es:[edi], dx
xor dword [ecx], eax
sbb dh, byte [ecx - 0x270b7d38]
imul esp, dword [edi], 0xffffffe0
shr dword [edi], 0xe7
push dword [edi - 0x1c]
aad 0xbe
cdq
xchg dword [ebp + eax + 0x5778dba], esi
mov byte [ecx - 0x69], cl
xchg esp, eax
retf
movzx ecx, word [eax + 2]
cmp dword [ebp - 8], ecx
jge 0x10002e23
mov edx, dword [ebp - 8]
cmp edi, ebp
jne 0x10002b2f
mov edx, edx
mov edx, edx
je 0x10002b2f
jle 0x10002c5e
xchg ebp, eax
cmpsb byte [esi], byte es:[edi]
inc edi
xor dh, byte [ebx - 0x686016aa]
xchg esi, eax
jnp 0x10002bba
mov edi, 0x9096d3c9
dec esp
arpl word [edi - 0x79], di
push esi
rcl ah, 0x69
pop ss
inc ecx
out dx, al
in al, 0x42
lodsb al, byte [esi]
or byte [esi - 0x39], al
sub eax, 0x84ff3352
aad 0x12
cmpsb byte [esi], byte es:[edi]
inc esp
cli
and byte [ecx], 0x41
invalid
fsubr st(6), st(0)
jns 0x10002c4d
jmp 0x10002c6c
or dword [ebx - 0x3d7c07ab], ecx
add dword [ecx + 0x458bf855], ecx
loopne 0x10002cab
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x20]
cmp ebx, eax
jne 0x10002c00
fdiv dword [ebp - 0x73]
mov ebx, ebx
mov ebx, ebx
je 0x10002c00
jno 0x10002ca5
rcl byte [edx + 0x8ba924f]
int 0xdb
int3
sub al, 0x28
mov edi, 0xb8872125
enter 0xffffffffffff9a12, 0x5e
pop esi
push ds
aas
sbb ecx, dword [ebx + 0x78]
stc
dec ebx
js 0x10002ca1
jmp 0x10002d20
popal
inc ebp
dec ecx
dec eax
push ss
scasb al, byte es:[edi]
ror byte [eax + 0x5b], 1
les esp, [ebp + 0x29]
or ah, ah
shl dword [esi], 1
jge 0x10002c94
stosb byte es:[edi], al
movzx ecx, al
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0
jne 0x10002d74
xor eax, eax
cmp esi, ecx
jne 0x10002d6f
mov ecx, ecx
je 0x10002d6f
lcall 0xf7f9, 0xd25def64
scasb al, byte es:[edi]
or esi, edx
shr byte [ebp + 0x65], 1
pop edx
xchg esi, eax
and edi, dword [ebp + 0xe]
pop edi
mov edi, 0xbbdc3170
xchg edi, eax
mov ebp, 0xe1401a09
jae 0x10002d70
sbb eax, 0x6efece0e
jle 0x10002cae
cmpsb byte [esi], byte es:[edi]
bound ebp, qword [edi + 0x67]
outsb dx, byte [esi]
ljmp 0xff6f
sahf
jb 0x10002d46
cmp al, 0x4b
popal
rcl dword [eax - 0x18], 0x83
sbb al, 0
add byte [ebx - 0xcc4ef3c], al
push eax
call fcn.100049b0
add esp, 0x10
cmp esi, ebx
jne 0x10002cbe
mov ebx, ebx
je 0x10002cbe
mov cl, 0xa
test dword [ecx], eax
mov dword [esi], esi
call dword [edi + 0x647b7358]
push ss
dec edx
cmp al, 0xcc
out 0x93, eax
xchg esp, eax
xchg edi, eax
in eax, 0x6a
and bh, cl
scasd eax, dword es:[edi]
push ebp
mov dh, 0x4b
cmovl esp, edi
push esp
insd dword es:[edi], dx
iretd
jmp 0x10002e25
mov cl, 0
add byte [eax], al
mov dword [ebp - 8], 0
cmp edx, ebx
jne 0x10002c61
mov eax, eax
je 0x10002c61
sbb esp, ebp
insd dword es:[edi], dx
cmpsd dword [esi], dword es:[edi]
add eax, 0x2362e4c2
mov ecx, 0x863d8830
dec edx
add byte [0xbb3057f1], dh
aam 0x40
mov dword [0x1f07f23a], eax
and al, 0x46
daa
or ah, byte [edx + 0x27b9e28a]
xchg esp, eax
xor eax, 0x891e3db5
inc edi
pop ecx
mov ebx, dword [ebx - 0xef0e1da]
sbb dword ss:[eax + 0x7aa6128a], 0x13
mov al, byte [0x479e2442]
std
sbb byte [ecx + 0x45], ch
push ebp
xchg edx, eax
adc al, 0x52
lahf
push ebx
inc ebx
xchg dword [ebp - 0x2a], ebx
inc ebp
int1
out dx, al
loope 0x10002e12
and al, 0x1e
push es
mov dword [ecx + edx*2 - 0x7d], edx
push es
fcom dword [edi - 0x37792cb1]
mov ecx, dword [ebp - 0x14]
add eax, dword [ecx + 0x10]
cmp dword [ebp + 0xc], eax
jae 0x10002e1e
mov edx, dword [ebp - 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0xc]
sub ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x18]
add ecx, dword [edx + 0x14]
add ecx, dword [ebp + 8]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
jmp 0x10002e25
adc al, 3
dec ebp
or byte [ecx + 0x458be44d], cl
in al, 0xeb
pop es
jmp 0x10002c63
xor eax, eax
mov esp, ebp
pop ebp
ret