Function at 0x10005750
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
push edi
mov dword [ebp - 0x44], edx
mov ebx, ecx
mov dword [ebp - 0x48], ebx
mov eax, dword [0x10010058]
mov word [ebp - 0x18], ax
mov eax, 0x5e
mov word [ebp - 0x14], ax
movsx eax, byte [0x10010002]
mov word [ebp - 0x10], ax
mov byte [ebp - 2], 0xcf
movzx eax, word [0x100100c4]
mov word [ebp - 0x1c], ax
mov eax, 0x425f
mov word [ebp - 0x1c], ax
mov eax, 0xfffff4be
mov word [ebp - 0x14], ax
movzx eax, byte [0x10010015]
mov word [ebp - 0xc], ax
mov byte [ebp - 3], 0x4b
mov ecx, dword [0x10010050]
mov eax, dword [0x10010054]
mov byte [ebp - 6], cl
mov eax, 0x95
mov word [ebp - 0x1c], ax
mov eax, dword [0x10010030]
mov eax, dword [0x10010030]
mov dword [ebp - 0x20], eax
mov al, byte [0x10010080]
mov byte [ebp - 1], al
mov ax, word [0x100100c0]
mov byte [ebp - 4], 0xd3
mov byte [ebp - 5], 0xdd
mov dword [ebp - 0x40], 0xa583cc28
mov dword [ebp - 0x3c], 0x863e7
mov eax, dword [0x10010070]
mov dword [ebp - 0x40], 0x1077
mov dword [ebp - 0x3c], 0
mov eax, dword [0x100100ac]
movzx eax, word [0x10010088]
mov word [ebp - 0xc], ax
mov eax, dword [0x10010070]
mov byte [ebp - 9], 0x47
mov eax, 0xfb
mov dword [ebp - 0x40], 0x57f5
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x3c], 0x109e
mov word [ebp - 0xc], ax
mov eax, dword [0x100100ac]
add eax, 0x4ff205c
mov dword [0x10010004], eax
mov eax, dword [0x100d60e0]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
add eax, 0x7b6
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
add eax, 0x643
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xc]
add eax, 0x5ff
mov dword [ebp - 0x24], eax
movsx eax, word [0x100100a8]
cmp eax, dword [0x10010058]
ja 0x1000589d
movzx eax, byte [0x1001000e]
mov ecx, 0x8c
sub ax, cx
add word [0x10010088], ax
movzx eax, byte [ebp - 3]
mov edx, dword [ebx + 0x3c]
and eax, 0xbb40
mov ecx, dword [0x10010048]
mov dword [0x10010040], eax
mov eax, dword [0x1001004c]
mov edi, dword [edx + ebx + 0xa0]
mov edx, dword [edx + ebx + 0xa4]
add edi, ebx
shld eax, ecx, 6
mov dword [ebp - 0x2c], edi
shl ecx, 6
mov dword [0x10010070], ecx
mov dword [ebp - 0x3c], edx
nop dword [eax]
mov dword [0x10010040], 0x176d
movzx eax, word [ebp - 0x18]
mov ecx, dword [0x10010040]
add ecx, eax
cmp dword [0x10010028], ecx
jne 0x10005917
cmp dword [0x1001002c], 0
jne 0x10005917
mov eax, dword [0x10010070]
add eax, dword [0x100100bc]
mov dword [0x10010070], eax
test edi, edi
je 0x10005d75
test edx, edx
je 0x10005d75
mov ecx, dword [0x10010050]
xor edx, edx
mov eax, dword [0x10010054]
mov eax, 0x239
mov dword [0x10010048], 0xe13a8164
add cx, ax
mov dword [0x1001004c], 0x976fa
mov word [0x1001006c], cx
movzx ecx, byte [ebp - 6]
movsx eax, word [ebp - 0x14]
cmp eax, ecx
mov ax, word [ebp - 0x14]
mov esi, dword [edi + 4]
mov ecx, 0xfffff02d
sete dl
mov dword [ebp - 0x34], esi
xor ax, cx
mov ecx, 0x1c6
add dx, ax
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov eax, dword [ebp - 0x24]
add eax, ecx
cmp dword [ebp - 0x24], eax
je 0x10005d75
mov eax, dword [0x10010050]
sub esp, 0x28
mov ecx, dword [0x10010054]
call fcn.100012f0
add esp, 0x28
mov word [0x100100b8], ax
test ax, ax
je 0x100059fc
mov eax, dword [0x10010050]
mov ecx, dword [0x10010054]
cmp eax, 0xcc
jne 0x100059d3
test ecx, ecx
jne 0x100059d3
mov ecx, 1
jmp 0x100059d5
xor ecx, ecx
movsx eax, word [ebp - 0xc]
cmp eax, ecx
jg 0x10005a24
cmp byte [0x10010002], 0
je 0x10005a24
mov eax, 0x52fb
mov word [0x10010020], ax
mov eax, dword [0x100d60e0]
mov word [ebp - 0x18], ax
jmp 0x10005a24
movzx eax, byte [0x10010015]
movzx ecx, byte [0x1001000f]
mov edx, dword [0x10010050]
or ecx, eax
mov eax, dword [0x10010054]
add edx, ecx
movzx eax, word [ebp - 0x10]
add eax, edx
mov dword [0x100100ac], eax
movsx edx, word [ebp - 0x1c]
mov eax, dword [0x10010004]
sub edx, eax
movzx eax, byte [ebp - 5]
mov ecx, dword [0x10010048]
sub ecx, eax
mov byte [0x1001000f], 0xfe
imul ecx, edx
mov dword [0x100100bc], ecx
mov cx, word [0x10010068]
mov ax, word [0x100100c4]
sub cx, ax
mov word [0x10010068], cx
test esi, esi
je 0x10005d75
cmp byte [ebp - 6], 0
je 0x10005a7d
mov ax, word [ebp - 0x14]
sar ax, 4
mov byte [ebp - 2], al
jmp 0x10005a84
mov byte [0x10010013], 0x80
mov ax, word [ebp - 0x10]
mov esi, 0x302
mov eax, dword [0x100d60e0]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
nop dword [eax + eax]
movsx ecx, byte [ebp - 1]
xor ebx, ebx
movzx eax, byte [0x10010003]
cmp eax, ecx
setl bl
cmp byte [0x10010003], 0x22
sbb eax, eax
neg eax
cmp ebx, eax
je 0x10005add
mov eax, dword [0x10010040]
imul eax, edi
cmp eax, 0xcc
je 0x10005add
movzx eax, byte [0x10010013]
mov word [0x100100c4], ax
inc byte [0x10010012]
dec esi
test esi, esi
jg 0x10005aa0
mov eax, dword [ebp - 0x18]
sub esp, 0x28
add eax, 0x578
mov dword [ebp - 0x28], eax
mov ax, word [0x10010068]
call fcn.10001d00
mov edi, dword [ebp - 0x2c]
add esp, 0x28
mov dword [0x100100bc], eax
test eax, eax
je 0x10005b2f
mov dx, word [0x100100a8]
mov eax, 2
mov word [0x100100b0], ax
mov al, byte [ebp - 2]
mov cl, byte [ebp - 2]
add cl, al
add cl, dl
mov byte [ebp - 2], cl
mov eax, dword [ebp - 0x18]
mov bh, byte [0x10010012]
add eax, 0x5e6
mov dword [ebp - 0x24], eax
add bh, 0x57
mov ecx, dword [0x10010038]
mov eax, dword [0x1001003c]
or ecx, eax
mov byte [ebp - 6], bh
je 0x10005b61
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 0
jmp 0x10005b6f
mov ecx, dword [0x10010050]
mov eax, dword [0x10010054]
mov dword [ebp - 0x2c], eax
mov word [ebp - 0x14], cx
mov eax, dword [ebp - 0x18]
add eax, 0x76f
mov dword [ebp - 0x2c], eax
mov bl, byte [ebp - 3]
xor ecx, ecx
movzx eax, byte [ebp - 2]
mov edx, dword [0x10010070]
sub bl, al
test edx, edx
movzx eax, bl
mov dword [0x10010028], 0xe9fe00b6
cmove ecx, eax
mov dword [0x1001002c], 0
movzx eax, cl
imul eax, eax, 0x6a
not al
sub al, byte [ebp - 1]
mov byte [ebp - 3], al
movzx eax, byte [ebp - 1]
add al, byte [ebp - 0x14]
mov cl, byte [ebp - 5]
xor cl, al
movzx eax, byte [0x10010002]
xor al, byte [ebp - 0xc]
xor cl, bh
sub cl, al
not cl
mov byte [0x10010012], cl
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
xor ecx, 0x133
imul eax, ecx
cmp eax, dword [ebp - 0x24]
je 0x10005d75
mov al, byte [ebp - 3]
mov ax, word [ebp - 0xc]
mov al, byte [ebp - 5]
mov eax, dword [0x10010070]
movzx eax, byte [ebp - 1]
add al, byte [ebp - 0x20]
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x3c]
mov byte [ebp - 1], al
movsx ecx, byte [ebp - 1]
xor edx, edx
movzx eax, byte [ebp - 2]
cmp eax, ecx
setl dl
cmp byte [ebp - 2], 0x4d
sbb eax, eax
neg eax
cmp edx, eax
jb 0x10005c51
movzx ecx, word [0x100100b8]
mov eax, 0xbeda
imul ecx, eax
mov word [ebp - 0x14], cx
mov cl, byte [ebp - 1]
mov al, byte [ebp - 1]
sub cl, al
add cl, byte [0x10010010]
mov byte [ebp - 1], cl
movsx eax, word [0x1001000c]
lea edx, [ebx - 8]
push dword [ebp - 0x44]
sar eax, 8
sub esi, ebx
mov dword [0x10010030], eax
mov al, byte [ebp - 6]
add al, byte [0x100b9360]
mov ecx, dword [0x10010050]
mov byte [ebp - 6], al
mov eax, dword [0x10010054]
movzx ecx, cx
mov eax, 0xefe4
imul ecx, eax
lea eax, [edi + 8]
push eax
shr edx, 1
mov word [ebp - 0x10], cx
mov ecx, dword [edi]
add ecx, dword [ebp - 0x48]
call fcn.100042e0
mov edi, eax
add esp, 8
test edi, edi
je 0x10005d0d
cmp word [ebp - 0x10], 0
je 0x10005cc7
mov cl, byte [ebp - 4]
mov dl, byte [ebp - 4]
mov al, byte [ebp - 4]
movzx ecx, cl
movzx edx, dl
imul edx, ecx
sub al, dl
mov byte [ebp - 4], al
jmp 0x10005cdf
cmp byte [ebp - 2], 0
jne 0x10005cdf
mov eax, dword [0x100100ac]
mov eax, dword [0x10010030]
add eax, 8
mov dword [0x10010004], eax
mov ebx, dword [edi + 4]
test ebx, ebx
je 0x10005cf5
test esi, esi
jne 0x10005c12
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [0x1001000f]
sub ax, 0x1f
mov word [0x100100b8], ax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, byte [ebp - 1]
movzx eax, byte [ebp - 6]
cmp ecx, eax
jg 0x10005d34
movzx eax, word [0x100100b0]
mov ecx, 0x3bf6
sub ecx, eax
add dword [0x10010058], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [ebp - 0x1c]
not eax
test eax, eax
je 0x10005d48
cmp word [0x1001000c], 0
jne 0x10005d5a
movsx ecx, word [0x10010068]
movzx eax, byte [0x10010015]
cmp ecx, eax
jne 0x10005d75
mov al, byte [section..data]
mov ecx, dword [0x100100a0]
mov byte [0x10010003], al
mov eax, dword [0x100100a4]
sub dword [0x100100bc], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret