Function at 0x520e23
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
jbe 0x520e2c
or esp, 0
or ebx, ebx
jle 0x520e3b
jb 0x520e35
jmp 0x520e37
nop
jg 0x520e3b
mov esp, 0x3308458b
leave
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0xc3
je 0x520e76
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx]
cmp eax, 0xcb
je 0x520e76
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 0xc2
je 0x520e76
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0xca
jne 0x520e80
mov eax, 1
jmp 0x520fcd
jle 0x520e82
sub eax, 0
or esi, 0
je 0x520ea1
pushf
lea ebx, [ebx + 0x8b0]
sub ebx, 0x8b0
popf
jbe 0x520e9c
jae 0x520e9e
jne 0x520ea1
mov ebp, 0x3308558b
ror byte [edx + 0xcd3d02], 0
add byte [ebp + 0x53], dh
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx]
cmp eax, 0xcd
jne 0x520f02
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 1]
mov dword [ebp - 4], edx
jg 0x520ebc
lea esi, [esi]
test dword [esp], esi
jbe 0x520ecb
je 0x520ec5
lea ebx, [ebx]
ja 0x520ecb
lcall 0x7401, 0xfc7d83c7
xor dword [ebx + 0x7403fc7d], eax
sub esi, dword [edx]
cmp dword [ebp - 4], 1
je 0x520f02
cmp dword [ebp - 4], 3
je 0x520f02
jb 0x520ed9
xor edx, dword [esp + 8]
xor edx, dword [esp + 8]
jbe 0x520ee3
cmp ecx, eax
js 0x520ef8
pushf
jno 0x520eeb
popf
jbe 0x520eef
jb 0x520ef1
xchg edx, ecx
xchg edx, ecx
jns 0x520ef8
jmp 0x5210b4
mov eax, 1
jmp 0x520fcd
jb 0x520f04
nop
std
cld
push edi
add edi, 0x4b00
ror edi, 3
pop edi
jb 0x520f2f
pushf
cmp edi, dword [esp]
cmc
popf
lea esi, [esi + 0x19e5]
lea esi, [esi - 0x19e5]
jo 0x520f2a
jb 0x520f2c
jae 0x520f2f
sub eax, 0x5008458b
mov eax, dword [ebp + 8]
push eax
call fcn.0052045a
add esp, 4
test eax, eax
je 0x520f64
je 0x520f41
or esi, esi
inc ecx
dec ecx
jnp 0x520f5d
pushf
add eax, 0
jl 0x520f4e
xor edx, 0
not ecx
not ecx
popf
jnp 0x520f59
nop
jp 0x520f5d
add eax, 0x1b8
add bl, ch
imul eax, dword [edi - 0x3e2e782f], 0xa7b00ec
mov eax, 1
jmp 0x520fcd
xchg ecx, edx
xchg ecx, edx
shr esp, 0
jnp 0x520f77
jns 0x520f6f
xchg edx, eax
xchg edx, eax
jne 0x520f73
jp 0x520f77
lcall 0xe851, 0x84d8b1d
dec ebx
add al, byte cs:[eax]
mov ecx, dword [ebp + 8]
push ecx
call 0x543dcb
add esp, 4
test eax, eax
je 0x520fa6
add eax, 0
xor esp, 0
push ebx
add ebx, 0x1ae8
ror ebx, 3
pop ebx
jb 0x520f9f
nop
jae 0x520f9f
mov ebp, 0x1b89a
add byte [eax], al
mov eax, 1
jmp 0x520fcd
rol edx, 0x15
rol edx, 0xb
lea edx, [edx + 0x448]
lea edx, [edx - 0x448]
neg esi
neg esi
jnp 0x520fbe
ja 0x520fcb
pushf
jnp 0x520fc4
popf
jb 0x520fc8
jbe 0x520fcb
add eax, 0x5e5fc033
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 4
mov dword [ebp - 8], ecx
clc
mov edx, dword [ebp - 8]
cmp edx, dword [ebp + 0x10]
jae 0x521129
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
and edx, 0xff
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
shr eax, 8
and eax, 0xff
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
mov byte [ecx + 1], al
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
shr ecx, 0x10
and ecx, 0xff
mov edx, dword [ebp + 8]
add edx, dword [ebp - 8]
mov byte [edx + 2], cl
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
shr edx, 0x18
and edx, 0xff
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
mov byte [eax + 3], dl
jmp 0x5210a3
mov esp, ebp
pop ebp
ret