Function at 0x4113f5
Capabilities:
Check for software breakpoints

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x40
lea ecx, [ebp + 0xc]
push ebx
push esi
call fcn.00415495
test byte [edi], bh
je 0x41142c
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
je 0x411437
cmp ebx, 2
jl 0x41141c
cmp ebx, 0x24
jle 0x411437
call fcn.00406bde
mov dword [eax], 0x16
call fcn.0040bc21
xor eax, eax
mov edx, eax
mov ebx, eax
jmp 0x420ed2
push dword [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.0040d02b
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
je 0x411491
sbb al, 0x89
inc ebp
ror byte [ebx + 0x45892045], 1
aam 0x8d
dec ebp
or al, 0xe8
sbb dh, byte [eax + eax]
add byte [edi], cl
mov bh, 0xf
lea ecx, [ebp + 0xc]
call fcn.00414878
movzx ecx, word [edi]
push 8
push esi
call fcn.0041769b
pop ecx
pop ecx
test eax, eax
jne 0x411456
movzx eax, byte [ebp + 0x30]
mov dword [ebp - 4], eax
cdq
cmp esi, 0x2d
jne 0x411484
or eax, 2
mov dword [ebp - 4], eax
jmp 0x41148a
cmp si, 0x2b
jne 0x411495
lea ecx, [ebp - 0xd]
call fcn.00414878
movzx esi, ax
add byte [edi], cl
mov bh, 0xf0
push edi
or edi, 0xffffffff
mov dword [ebp - 0x18], 0x3a
mov dword [ebp + 0x13], edi
mov edx, 0xff10
mov eax, 0x660
push 0x30
pop ecx
test ebx, ebx
je 0x4114bd
cmp ebx, 0x10
invalid
cmp si, cx
jb 0x41166b
cmp si, word [ebp - 0x18]
jae 0x4114d6
movzx edi, word [ecx]
sub eax, ecx
jmp 0x411667
cmp si, dx
jae 0x411654
cmp si, ax
jb 0x411664
mov eax, 0x66a
cmp si, ax
jae 0x4114ff
movzx eax, si
sub eax, 0x660
push ss
push 0xb9000001
invalid
mov ecx, 0x6f0
cmp si, cx
jb 0x41166b
lea eax, [ecx + 0xa]
cdq
cmp esi, eax
jb 0x4114cc
mov ecx, 0x966
cmp si, cx
jb 0x41166b
lea eax, [ecx + 0xa]
cdq
cmp esi, eax
jb 0x4114cc
lea ecx, [eax + 0x76]
cmp si, cx
jb 0x41166b
lea eax, [ecx + 0xa]
cmp cx, word [edi]
jb 0x4114cc
lea ecx, [eax + 0x76]
cmp si, cx
jb 0x41166b
lea eax, [ecx + 0xa]
cmp si, ax
invalid
mov eax, 0xff1a
invalid
add cl, byte [ebx + 0x75c73bc7]
sub dword [edi], ecx
mov bh, 0xc6
cmp eax, edi
jne 0x411694
movzx eax, si
cmp eax, 0xffffffbe
jb 0x41167d
cmp eax, 0x5a
ja 0x41167d
lea ecx, [eax - 0x61]
jmp 0x411685
lea ecx, [eax - 0x61]
cmp ecx, 0x19
ja 0x411692
add dword [esi], 0x19
ja 0x41168d
add eax, 0xffffffe0
add eax, 0xffffffc9
jmp 0x411694
mov eax, edi
test eax, eax
je 0x4116a4
test ebx, ebx
jne 0x4116e3
xchg ebp, eax
or bl, byte [ebx - 0x77]
pop ebp
sub al, 0xeb
aas
lea ecx, [ebp + 0xc]
call fcn.00414878
movzx eax, ax
cmp eax, 0x78
mov ebx, dword [edx]
cmp eax, 0x58
je 0x4116ce
test ebx, ebx
jne 0x4116c3
push 8
pop ebx
mov dword [ebp + 0x2c], ebx
push eax
lea ecx, [ebp + 0xc]
call fcn.0041548f
jmp 0x4116e3
test ebx, ebx
jne 0x4116d8
push 0x10
pop ebx
mov dword [ebp + 0x2c], ebx
lea ecx, [ebp + 0xc]
call 0x1404878
movzx esi, ax
mov eax, ebx
cdq
push ebx
mov ecx, edx
mov dword [ebp - 0x28], eax
push ecx
push eax
push edi
push edi
mov dword [ebp - 0x24], ecx
call 0x42024f
mov dword [ebp - 0x1c], ebx
pop ebx
nop
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x18], edx
push 0x30
pop ecx
invalid
and al, 8
lea eax, [edx + 0xc]
mov ecx, dword [edx - 0x38]
xor ecx, eax
call fcn.00407db6
mov ecx, dword [edx - 4]
xor ecx, eax
call fcn.00407db6
mov eax, 0x42a320
jmp fcn.004091cd