Function at 0x1000ec90
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
push esi
push edi
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x10], ecx
jmp 0x1000ecb3
mov edx, dword [ebp - 0x10]
add edx, 0x639
mov dword [ebp - 0x10], edx
mov eax, dword [ebp + 0x18]
add eax, 0x3801
cmp dword [ebp - 0x10], eax
jae 0x1000ee2c
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0x711
ja 0x1000ed0a
cmp dword [ebp - 4], 0x711
je 0x1000edef
mov edx, dword [ebp - 4]
sub edx, 0xd8
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0xcc
ja case.0x1000ed03.1
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1000f8d8]
jmp dword [ecx*4 + 0x1000f8c4]
cmp dword [ebp - 4], 0xd4a
ja 0x1000ed3a
cmp dword [ebp - 4], 0xd4a
je 0x1000edda
mov edx, dword [ebp - 4]
mov dword [ebp - 8], edx
sub dword [ebp - 8], 0x7b4
je 0x1000eda0
sub dword [ebp - 8], 0x29
je 0x1000ed48
jmp case.0x1000ed03.1
cmp dword [ebp - 4], 0xe16
je 0x1000ed7d
jmp case.0x1000ed03.1
je case.0x1000ee74.0
cmp byte [eax + 0xb4], 0
jne case.0x1000f4ee.1
mov edx, dword [esi + 0x30c]
jmp case.0x1000ed03.1
add esp, 0xffffffa8
push ebx
push esi
push edi
mov edi, ecx
mov esi, eax
mov eax, dword [esi + 0x324]
test eax, eax
jmp case.0x1000ed03.1
call fcn.10009280
mov ebx, eax
cmp ebx, 0xffffffff
je case.0x1000f39e.2
mov eax, dword [esi + 0x324]
mov eax, dword [eax + 0xf4]
mov edx, ebx
jmp case.0x1000ed03.1
cmp dword [ebp - 0xc], 0
je 0x1000edc2
mov eax, dword [ebp - 0xc]
cmp dword [eax], 0
je 0x1000edb7
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0xc], eax
jmp 0x1000eda0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
jmp 0x1000f8bc
mov eax, dword [ecx + 0xa8]
test eax, eax
jmp case.0x1000ed03.1
jne case.0x1000f7cc.6
mov eax, case.0x1000ee74.0
ret
je case.0x1000f4ee.0
mov eax, dword [eax + 4]
test eax, eax
jmp case.0x1000ed03.1
mov dword [ebp - 0x4c], 0
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0xc], ecx
jmp case.0x1000ed03.1
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebx + 0x1a8]
push eax
call fcn.1000bc30
jmp 0x1000eca7
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x14], edx
jmp 0x1000ee3d
mov eax, dword [ebp - 0x14]
sub eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0x18]
sub ecx, 9
cmp dword [ebp - 0x14], ecx
jbe 0x1000f35f
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
sub eax, 0xd8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xcc
ja case.0x1000ee74.1
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + 0x1000f9d0]
jmp dword [edx*4 + 0x1000f9a8]
add esp, 0xc
push ebx
jmp case.0x1000ee74.1
pop ecx
pop ebx
pop ebp
ret
mov bl, 0xc1
ljmp 0xffd0
call fcn.1000bf90
lea ecx, [ebp - 0x1c]
mov edx, dword [edi + 0x10]
call fcn.1000fe90
jmp case.0x1000ee74.1
lea edx, [ebx + 0x258]
push edx
push eax
lea ecx, [ebx + 0x1a8]
push ecx
call fcn.1000a520
jmp case.0x1000ee74.1
test eax, eax
je case.0x1000f608.3
lea eax, [ebp - 0x1c]
call main
jmp case.0x1000ee74.1
call fcn.1000e360
jmp case.0x1000ee74.1
call fcn.10008df0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x324]
mov eax, dword [eax + 0xcc]
call fcn.1000c5b0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov byte [eax], 0
push 0
mov eax, esi
jmp case.0x1000ee74.1
pop ecx
cmp eax, 0xffffffff
je 0x1000ee92
jmp case.0x1000ee74.1
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push ebp
mov ebp, esp
sub esp, 0x68
mov dword [ebp - 8], 2
push ebx
push esi
push edi
xor esi, esi
mov edi, dword [ebp + 8]
mov dword [ebp - 4], esi
mov eax, dword [edi + 0x28]
mov ebx, dword [edi + 0x40]
test ebx, ebx
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc], ecx
jne 0x1000ef69
jmp 0x1000effb
mov eax, dword [ebx + 0x18]
test eax, 0x100000
jne 0x1000ef7a
mov ebx, dword [ebx + 0x38]
test ebx, ebx
je 0x1000effb
cmp dword [ebx + 0x34], 0
je 0x1000ef54
mov eax, dword [ebx + 0x20]
test byte [eax + 0x29], 0x80
jne 0x1000ef5e
jmp 0x1000ef54
test al, 4
je 0x1000ef5e
test esi, esi
jne 0x1000efa9
push 0
push 0
push 0
push 0
call dword [0x740c1648]
mov esi, eax
test esi, esi
je 0x1000effb
push 0
push esi
push dword [ebp + 0xc]
call dword [0x740c1400]
mov dword [ebp - 8], eax
test eax, eax
je 0x1000effb
cmp dword [ebp - 4], 0
jne 0x1000efc4
push 0
push 0
push 0
push 0
call dword [0x740c1648]
mov dword [ebp - 4], eax
test eax, eax
je 0x1000effb
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.100041a4
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 4]
call dword [0x740c166c]
push 4
push dword [ebp - 4]
push esi
push esi
call dword [0x740c1668]
mov dword [ebp - 8], eax
test eax, eax
jne 0x1000ef5e
cmp dword [ebp - 4], 0
je 0x1000f00a
push dword [ebp - 4]
call dword [0x740c17dc]
test byte [edi + 0x18], 0x80
je 0x1000f047
cmp dword [ebp - 8], 1
je 0x1000f047
mov eax, dword [edi + 0x20]
mov eax, dword [eax]
test byte [eax + 3], 0x80
je 0x1000f047
test byte [edi + 0xec], 0x20
jne 0x1000f047
mov al, byte [eax + 0x37]
sub al, 0x15
cmp al, 1
sbb eax, eax
and al, 0xfa
add eax, 0x16
push eax
push edi
call 0x1000f8db
test eax, eax
jne 0x1000f0cb
test esi, esi
je 0x1000f052
push esi
call dword [0x740c17dc]
lea eax, [ebp - 0x68]
push eax
push dword [ebp + 0xc]
call dword [0x740c1404]
mov esi, dword [ebp - 0xc]
lea ecx, [ebp - 0x68]
add esi, 0xd08
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], 1
inc ebp
fadd qword [ecx]
add byte [eax], al
add byte [ebx - 0x74fe0783], al
push es
mov dword [ebp - 0x20], eax
mov dword [esi], ecx
je 0x1000f0ff
mov eax, dword [edi + 0x20]
mov ecx, dword [eax]
test byte [ecx + 1], 1
jne 0x1000f0ed
xor eax, eax
lea ecx, [ebp - 4]
push ecx
mov dword [ebp - 4], eax
push eax
push dword [ebp - 0x68]
push 0xf
push dword [edi + 0x34]
push edi
call 0xfffffa5
cmp dword [ebp - 0x24], 0
je 0x1000f0b8
lea eax, [ebp - 0x68]
push eax
push dword [ebp + 0xc]
call dword [0x740c1408]
mov eax, dword [ebp - 0x20]
pop edi
mov dword [esi], eax
mov eax, 1
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ebx, dword [edi + 0x40]
test ebx, ebx
je 0x1000f047
test byte [ebx + 0x1a], 0x20
jne 0x10055907
mov ebx, dword [ebx + 0x38]
test ebx, ebx
je 0x1000f047
jmp 0x1000f0d6
push 0
push dword [ebp - 0x68]
push 0xf
push dword [edi + 0x34]
call dword [0x740c14e0]
jmp 0x1000f0a5
push dword [ebp - 0x68]
push edi
call fcn.1000f10a
jmp 0x1000f0a5
jmp 0x1000ee34
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x1000f370
mov ecx, dword [ebp - 0x1c]
sub ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0x18]
sub edx, 0xd
cmp dword [ebp - 0x1c], edx
jbe 0x1000f4af
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
sub ecx, 0x198
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0xc
ja case.default.0x1000f39e
mov edx, dword [ebp - 0x20]
jmp dword [edx*4 + 0x1000faa0]
push 0
mov eax, dword [ebp - 0x34]
neg eax
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1000acb0
mov eax, dword [esi + 0x1f4]
mov eax, dword [eax + 0x14]
mov edx, dword [esi + 0x60]
jmp case.default.0x1000f39e
mov ebx, eax
lea eax, [ebp - 0x1c]
call fcn.1000d870
imul ebx, eax
test ebx, ebx
jmp case.default.0x1000f39e
call fcn.1000b780
lea edx, [ebp - 0x1c]
mov eax, dword [esi + 0x1f4]
call fcn.10019110
jmp case.default.0x1000f39e
mov eax, esi
call fcn.1001a3d0
push eax
call fcn.10001350
jmp case.default.0x1000f39e
call fcn.1000e360
lea edx, [ebp - 0x2c]
mov eax, dword [esi + 0x1f4]
jmp case.default.0x1000f39e
je case.0x1000f4ee.4
mov dword [ebp - 0x48], 0x1c
mov dword [ebp - 0x44], 0x17
lea eax, [ebp - 0x48]
push eax
push 0
jmp case.default.0x1000f39e
iretd
mov eax, edi
call fcn.1000c710
jmp case.default.0x1000f39e
mov ebx, eax
mov eax, esi
call fcn.10014f80
imul ebx, eax
add dword [ebp - 0x1c], ebx
jmp case.0x1000ed03.163
mov eax, dword [esi + 0x1f4]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.1000ec90
cmp byte [esi + 0x242], 0
invalid
test byte [ebx - 1], ch