Function at 0x10004650
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [ebp + 0x18]
mov dword [ebp - 8], eax
jmp 0x1000466a
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0x18]
sub edx, 0xe
cmp dword [ebp - 8], edx
jbe 0x1000487f
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0xbb
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0x1f
ja case.0x1000469f.4
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0x10004f4c]
jmp dword [eax*4 + 0x10004f10]
dec esp
pushfd
mov byte [0x74ff52b0], al
std
lodsb al, byte [esi]
push ecx
call dword [eax]
test eax, eax
jmp case.0x1000469f.4
jns case.0x1000469f.25
jmp case.0x1000469f.4
sub ecx, 0x4b52955c
push edx
dec ebx
je 0x100048d1
dec ebx
jmp case.0x1000469f.4
xchg ebx, eax
xchg ebx, eax
cmp dword [eax + 0x50ec8335], edx
mov eax, 0x10004ee6
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0x18]
jmp case.0x1000469f.4
push edx
outsb dx, byte [esi]
cmpsb byte [esi], byte es:[edi]
cld
out 0xf, eax
test dh, ah
add eax, dword [eax]
add byte [ebx + 0x6be902eb], al
add dword [eax], eax
add cl, ch
jmp 0x100047a2
test ebx, ebx
je case.0x10004a7c.1
jmp 0x100047a2
and dword [ebx], esi
push edi
xor edi, edi
mov eax, dword [ecx]
lea edx, [ebp - 0x5c]
jmp case.0x1000469f.4
cmc
jno 0x100046c9
popal
scasd eax, dword es:[edi]
sub esp, 0x60
mov eax, 0x100048f2
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
and dword [ebp - 0x5c], 0
push ebx
mov ebx, dword [ebp + 0xc]
push esi
xor esi, esi
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], 0x100048f6
mov dword [ebp - 0x50], 0x10004990
mov dword [ebp - 0x4c], 0x100049ac
mov dword [ebp - 0x48], 0x100049bc
mov dword [ebp - 0x44], 0x10004bdc
mov dword [ebp - 0x40], 0x10004bec
mov dword [ebp - 0x3c], 0x10004c14
mov dword [ebp - 0x38], 0x10004c24
jmp case.0x1000469f.4
push ss
sbb eax, 0xbec48681
push edi
add byte [edi], al
sub cl, 0xdd
add byte [eax], al
add cl, bl
fst dword [esi - 0x7d]
and dl, bl
fst dword [esi - 0x7d]
and dl, bl
mov dword [ebp - 0x34], case.0x10004a7c.29
mov dword [ebp - 0x30], 0x10004c75
mov dword [ebp - 0x2c], case.0x10004a7c.30
mov dword [ebp - 0x28], 0x10004b2e
mov dword [ebp - 0x24], case.0x10004a7c.31
mov dword [ebp - 0x20], 0x10004ab3
mov dword [ebp - 0x1c], 0x10004ad3
mov dword [ebp - 0x18], 0x10004aed
mov dword [ebp - 0x14], 0x10004b54
mov dword [ebp - 0x10], 0x10004b64
mov dword [ebp - 0xc], 0x10004b98
mov dword [ebp - 8], 0x10004ba8
test ecx, ecx
jne 0x10004e66
jmp case.0x1000469f.4
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x20]
and dword [eax], 0
lea ecx, [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x3c]
push eax
jmp case.0x1000469f.4
mov edi, dword [0x89ad5bb0]
inc ebp
enter 0xffffffffffffc033, 0xffffffffffffff85
fisttp dword [edi]
xchg esp, eax
rcl byte [edx - 0x15], 0x4e
mov ecx, dword [ebp - 0x60]
inc edi
cmp edi, 0xa
jae 0x100048d1
jmp case.0x10004a7c.1
add esp, 0xc
and ebx, 7
dec ebx
je 0x100047a2
jmp case.0x1000469f.4
push ebx
mov ebx, dword [ebp + 0x10]
test bl, 0x80
je case.0x100048c5.29
push 0x2dc
push dword [0x1001a274]
push dword [str._mfnMask__0x0080___0]
call fcn.10001310
jmp 0x10004661
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x10], ecx
jmp 0x10004890
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp + 0x18]
add eax, 0xd
cmp dword [ebp - 0x10], eax
jae 0x10004a37
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0xbe
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x20
ja case.0x100048c5.3
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x10004fa4]
jmp dword [ecx*4 + 0x10004f6c]
or ebp, ebx
stosd dword es:[edi], eax
xchg edx, eax
adc ecx, dword [ebx + 0x26ab845]
mov eax, dword [ebp - 0x48]
push 2
pop ecx
mov edi, dword [0x1002391d]
mov esi, eax
jmp case.0x100048c5.3
ror byte [ebx - 0x17636eec], 0x42
xor al, 0
add cl, cl
ret 8
sahf
stosb byte es:[edi], al
xchg ecx, eax
mov ss, ebx
jne case.0x100048c5.1
jmp case.0x100048c5.3
ret
cmp dword [ebp + 0xc], eax
jmp case.0x100048c5.3
mov esi, dword [ebp - 0x58]
and dword [ebp - 0x58], 0
mov dword [ebx], esi
xor esi, esi
pop edi
lea eax, [ebp - 0x58]
push eax
call fcn.10007a60
jmp case.0x100048c5.3
add byte [edi + 0x68fbe1de], dh
call fcn.10005e40
mov esi, eax
test esi, esi
js 0x10004bdc
mov bh, 0xde
loope 0x1000494a
push 0x14ebe8
add byte [ebx + 0xff685f0], cl
mov byte [ebp + 2], bh
add byte [eax], al
jmp case.0x100048c5.3
invalid
dec esi
stosb byte es:[edi], al
inc ecx
dec eax
mov bh, 0x74
retf 0xa7e9
fisubr dword [ebx + 0x5b]
scasd eax, dword es:[edi]
std
popal
add byte [eax + eax + 0x6f], ah
add byte [ecx], al
add byte fs:[ecx], ah
jo 0x1000499e
je 0x100049a0
add byte gs:[edx], dh
add byte [eax], al
nop
nop
out dx, al
add byte [eax], al
add byte [esi + edx*8 + 0x6c], dl
or dword [esi - 0x6aee2ef9], eax
cli
add byte [eax - 0x441c7139], al
ja 0x100049be
add byte gs:[edx], ah
push ebx
add byte [ebp], ah
jb 0x100049c8
jbe 0x100049ca
imul eax, dword [eax], 0x650063
inc ecx
add byte [eax + eax + 0x61], ah
add byte [eax], dh
je 0x100049da
add byte gs:[edx], dh
add byte [eax], al
adc byte [eax], al
add byte [eax], al
jmp case.0x100048c5.3
sub byte [edi + 0x56ef8294], cl
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], edx
push eax
push dword [ebp + 0xc]
push edi
call int.10008f90
mov esi, eax
test esi, esi
jmp case.0x100048c5.3
push dword [ebp + 8]
call dword [ebp + 0xc]
pop ecx
pop ebx
pop ebp
ret
stc
mov edx, 0xff671c7
test byte [edi], ah
add dword [eax], eax
add cl, ch
lahf
invalid
jmp 0x10004887
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x18], edx
jmp 0x10004a48
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 0x18]
add ecx, 0xd
cmp dword [ebp - 0x18], ecx
jae 0x10004cda
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
sub eax, 0xbe
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x21
ja case.0x10004a7c.3
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + 0x10005000]
jmp dword [edx*4 + 0x10004fc8]
call fcn.10007f30
jmp case.0x10004a7c.3
push esi
call dword [eax + 0x14]
push eax
push esi
call fcn.10007f30
mov esi, eax
test esi, esi
jne case.0x10004a7c.31
jmp case.0x10004a7c.3
xlatb
aad 0x6c
or dword [esi - 0x6aee2ef9], eax
cli
add byte [eax - 0x441c7139], al
add byte gs:[ebp], ch
popal
add byte [ecx], ch
insb byte es:[edi], dx
add byte [ecx], al
add byte fs:[ecx], ah
jo 0x10004ac5
je 0x10004ac7
add byte gs:[edx], dh
add byte [eax], al
nop
nop
inc esp
add byte [eax], al
add byte [ecx], bh
xlatb
insb byte es:[edi], dx
or dword [esi - 0x6aee2ef9], eax
cli
add byte [eax - 0x441c7139], al
jmp case.0x10004a7c.3
sahf
bound esp, qword [edx + ebx*4 + 0x7500731d]
add byte [edx], ah
insd dword es:[edi], dx
add byte [ecx], ch
je 0x10004af9
push esp
add byte [edi], ch
dec eax
add byte [edi], ch
jae 0x10004b03
je 0x10004b05
inc ecx
add byte [eax + eax + 0x61], ah
add byte [eax], dh
je 0x10004b0f
add byte gs:[edx], dh
add byte [eax], al
or al, byte [eax]
add byte [eax], al
jmp case.0x10004a7c.3
salc
aad 0x6c
or dword [esi - 0x6aee2ef9], eax
cli
add byte [eax - 0x441c7139], al
add byte fs:[ecx], ah
jbe 0x10004b34
inc ecx
add byte [eax + eax + 0x61], ah
add byte [eax], dh
je 0x10004b3e
add byte gs:[edx], dh
add byte [eax], al
nop
nop
push ss
add byte [eax], al
add cl, ch
xchg byte [ecx], al
add byte [eax], al
aas
enter 0xffffffffffffd39e, 0x1c
xor eax, 0x86096cd6
pop es
rcl dword [ecx]
xchg ebp, eax
cli
add byte [eax - 0x441c7139], al
jae 0x10004b66
push 0x72006100
add byte [ebp], ah
jo 0x10004b70
outsd dx, dword [esi]
add byte [ecx], ch
outsb dx, byte [esi]
add byte [eax + eax + 0x4c], dh
add byte [ecx], ch
jae 0x10004b7e
je 0x10004b80
inc ecx
add byte [eax + eax + 0x61], ah
add byte [eax], dh
je 0x10004b8a
add byte gs:[edx], dh
push edx
add byte [edi], dl
add byte [eax], al
or al, byte [eax]
add byte [eax], al
inc ebx
xlatb
insb byte es:[edi], dx
or dword [esi - 0x6aee2ef9], eax
cli
add byte [eax - 0x441c7139], al
bound eax, qword [eax]
add byte fs:[ebx], ah
inc ecx
add byte [eax + eax + 0x61], ah
add byte [eax], dh
je 0x10004bb8
add byte gs:[edx], dh
add byte [eax], al
nop
nop
push ds
add byte [eax], al
add cl, ch
or al, 1
add byte [eax], al
xchg esi, eax
jecxz 0x10004bcc
push ds
mov edi, 0xa7f3d233
jmp case.0x10004a7c.3
ret
push ebp
salc
insb byte es:[edi], dx
or dword [esi - 0x6aee2ef9], eax
cli
add byte [eax - 0x441c7139], al
js 0x10004bee
insd dword es:[edi], dx
add byte [eax + eax + 0x46], ch
add byte [ecx], ch
insb byte es:[edi], dx
add byte [ebp], ah
inc ecx
add byte [eax + eax + 0x61], ah
add byte [eax], dh
je 0x10004c04
add byte gs:[edx], dh
add byte [eax], al
nop
nop
nop
nop
nop
nop
push 0x9a000000
salc
insb byte es:[edi], dx
or dword [esi - 0x6aee2ef9], eax
cli
add byte [eax - 0x441c7139], al
jae 0x10004c26
push 0x72006100
add byte [ebp], ah
jo 0x10004c30
outsd dx, dword [esi]
add byte [ecx], ch
outsb dx, byte [esi]
add byte [eax + eax + 0x4c], dh
add byte [ecx], ch
jae 0x10004c3e
je 0x10004c40
inc ecx
add byte [eax + eax + 0x61], ah
add byte [eax], dh
je 0x10004c4a
add byte gs:[edx], dh
add byte [eax], al
adc byte [eax], al
add byte [eax], al
jmp case.0x10004a7c.3
inc ebx
fdiv qword [esi + 0x78]
xor al, 0x85
fisttp dword [edi]
test dword [ebp - 0x14000005], ebx
jo 0x10004c66
invalid
add al, bl
insb byte es:[edi], dx
or dword [esi - 0x6aee2ef9], eax
fsubr dword [ecx + ecx - 0x7a]
pop es
rcl dword [ecx]
xchg ebp, eax
cli
add byte [eax - 0x441c7139], al
add byte [bp + si], dh
outsd dx, dword [esi]
add byte [edi], ch
jbe 0x10004c7f
add byte gs:[ecx], al
add byte fs:[ecx], ah
jo 0x10004c89
je 0x10004c8b
add byte gs:[edx], dh
add byte [eax], al
nop
nop
nop
nop
pushal
add dword [eax], eax
add bl, ch
cmp cl, byte [edi]
invalid
test byte [ebp - 2], bh
invalid
je case.0x10004a7c.30
mov esi, dword [ebp - 0x40]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov eax, dword [esi]
jmp case.0x10004a7c.3
ret
add esp, 0xc
pop ebx
pop ebp
ret
jmp 0x10004a3f
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x20], eax
jmp 0x10004cef
imul ecx, dword [ebp + 0x18], 0xc4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
imul edx, dword [ebp + 0x18], 0xd
imul eax, edx, 0xc4
cmp dword [ebp - 0x20], eax
ja 0x10004f08
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0x3a9ec
ja 0x10004d7f
cmp dword [ebp - 4], 0x3a9ec
je 0x10004df1
cmp dword [ebp - 4], 0x1d55c
ja 0x10004d60
cmp dword [ebp - 4], 0x1d55c
je 0x10004ddc
cmp dword [ebp - 4], 0xcc
je 0x10004e66
cmp dword [ebp - 4], 0x9cfc
je 0x10004eec
cmp dword [ebp - 4], 0x1392c
je 0x10004e8e
jmp 0x10004f03
cmp dword [ebp - 4], 0x2718c
je 0x10004e0b
cmp dword [ebp - 4], 0x30dbc
je 0x10004ec9
jmp 0x10004f03
cmp dword [ebp - 4], 0x61aac
ja 0x10004dc1
cmp dword [ebp - 4], 0x61aac
je 0x10004e1a
cmp dword [ebp - 4], 0x4461c
je 0x10004ead
cmp dword [ebp - 4], 0x4e24c
je 0x10004e3b
cmp dword [ebp - 4], 0x57e7c
je 0x10004e58
jmp 0x10004f03
cmp dword [ebp - 4], 0x6b6dc
je 0x10004de7
cmp dword [ebp - 4], 0x7530c
je 0x10004ee1
jmp 0x10004f03
push edi
call fcn.10005030
jmp 0x10004f03
jmp 0x100048d1
mov esi, dword [ebp - 0x40]
lea eax, [ebp - 0x34]
push eax
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x14]
push eax
push esi
call fcn.10006be0
jmp 0x10004f03
jmp 0x10004e1f
mov ah, 0x67
jmp 0x10004e51
cmp dword [ebp - 0x50], 0
jne 0x10004ee6
push dword [ebx]
call dword [0x1002393c]
and dword [ebx], 0
mov eax, esi
jmp 0x10004f03
jmp 0x10004990
invalid
cmp dword [ebx], 0
je case.0x1000469f.16
jmp 0x10004f03
mov ecx, dword [ebp - 0x3c]
neg ebx
sbb ebx, ebx
lea eax, [ebp - 0x34]
and ebx, eax
push ebx
mov ebx, dword [ebp - 0x38]
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
push dword [ebx]
push dword [eax]
push dword [ebp - 0x40]
call fcn.100034d0
jmp 0x10004f03
cld
dec esi
sub eax, 0xc2c9494e
sbb al, 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x3c]
push ebx
push dword [ebp - 0x48]
mov ebx, dword [ebp - 0x38]
push dword [ebp - 0x44]
push dword [ebx]
push dword [eax]
jmp 0x10004f03
mov esi, eax
test esi, esi
je case.0x1000469f.25
jmp 0x10004eec
dec edx
pop ss
invalid
jmp 0xe15b8438
dec esi
out 0x40, al
mov ebx, 0xf08b17eb
mov esi, eax
test esi, esi
jne case.0x1000469f.2
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call int.10008f90
jmp 0x10004ce2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret