Function at 0x1002a148
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov edx, dword [ebp + 0x18]
push ebx
push esi
mov esi, dword [ebp + 0xc]
lea ecx, [eax + 0x350]
push edi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x4c], ecx
cmp eax, ecx
ja 0x10029c45
mov ebx, dword [ebp - 0x34]
lea esp, [esp]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
cmp eax, 0x2873
ja 0x1002a036
je 0x10029e7c
cmp eax, 0x2843
ja 0x10029bf7
je 0x10029bc6
cmp eax, 0xa52
ja 0x10029ba2
je 0x10029b89
sub eax, 0xa42
je 0x10029b49
sub eax, 8
jne case.0x1002a24f.19135
cmp dword [ebp - 0x30], eax
jne 0x10029b41
mov eax, 0x78d0
cmp eax, eax
je 0x1002a2b6
add eax, 0x4c
cmp eax, 0x78d0
jbe 0x10029b31
inc dword [ebp - 0x30]
jmp case.0x1002a24f.19135
inc ecx
cdq
shl byte [ebx], 1
imul ecx, dword [ebp - 0x72af07bb], 0x8d51dc4d
push ebp
fcom dword [edx - 0x39]
inc ebp
fdivr st(7)
add byte [eax], al
add ch, al
mov edx, 0x8b000039
inc ebp
adc byte [ebx + 0x18458b08], cl
add esp, 0xc
push 4
push ecx
lea edx, [ebp - 8]
push edx
push eax
call fcn.10017ba0
add esp, 0x10
mov dword [ebp - 0x30], eax
jmp 0x1002a017
mov ecx, dword [ebp - 0x30]
push 8
call fcn.10008100
add esp, 4
mov dword [ebp - 0xc], 0
jmp 0x1002a017
cmp eax, 0xa5a
je 0x1002a2cd
cmp eax, 0x283b
jne case.0x1002a24f.19135
lea ecx, [edx + 0x1000]
mov dword [ebp - 0x20], ecx
jmp case.0x1002a24f.19135
xor dword [edx + 0x57], edx
xor byte [esi + 0x3bf05589], 0x55
loopne 0x10029be1
add dword [ebx + 4], 0
add byte [ebx + 0x4d8be045], cl
invalid
mov al, byte [0x31840fe1]
add al, 0
add byte [ebx + 0x3904f045], al
inc ebp
invalid
mov eax, dword [ebp - 0x24]
add eax, 0xffffd7b5
cmp eax, 0x20
ja case.0x1002a24f.19135
movzx eax, byte [eax + 0x1002a32c]
jmp dword [eax*4 + 0x1002a314]
push es
sub dword [eax + 0x14], eax
cmp byte [ebx + 0x4539e045], cl
invalid
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x100310fc]
mov eax, dword [eax + 4]
sub eax, edx
lea ecx, [eax + ecx - 0x3c]
sar ecx, 2
sub ecx, 2
and ecx, 0xffffff
or ecx, 0xea000000
mov dword [edx + 0x1c], ecx
mov edx, dword [esi]
mov ecx, dword [ebp + 0x10]
mov eax, esi
cmp edx, dword [ecx]
je 0x1002a017
mov ecx, 0x4886
jmp 0x10029cb0
mov edx, ecx
sub edx, 0x4886
je 0x10029d8f
sub edx, 0x48
jne 0x10029da5
push ecx
invalid
mov edx, dword [0x100310fc]
mov edx, dword [edx + 4]
sub edx, dword [ebp + 0x18]
mov ebx, dword [ebp - 0x1c]
lea ebx, [edx + ebx - 0x10000]
add ecx, 0x48
cmp ecx, 0x48ce
jbe 0x10029cb0
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 0x10]
add eax, 4
cmp ecx, dword [edx]
jne 0x10029ca1
mov dword [ebp - 0x34], ebx
jmp 0x1002a017
mov eax, dword [0x100310fc]
mov ecx, dword [ebp - 0x1c]
sub dword [ebp - 0x18], 8
push 0x64
add eax, 0x20
call fcn.100111b0
add esp, 4
jmp 0x1002a017
mov eax, dword [0x100310fc]
mov eax, dword [eax + 8]
sub eax, edx
lea eax, [eax + ecx - 0x24]
sar eax, 2
sub eax, 2
and eax, 0xffffff
or eax, 0xea000000
mov dword [edx + 4], eax
mov eax, dword [0x100310fc]
mov eax, dword [eax + 0xc]
sub eax, edx
lea ecx, [eax + ecx - 0x2c]
sar ecx, 2
sub ecx, 2
and ecx, 0xffffff
or ecx, 0xea000000
mov dword [edx + 0xc], ecx
jmp case.0x1002a24f.19135
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jae 0x10029e50
cmp dword [eax], 0xffffffff
je 0x10029e4d
add eax, 4
cmp eax, ecx
jb 0x10029e41
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
cmp edx, dword [ebp - 0x20]
jae case.0x1002a24f.19135
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
cmp dword [ecx], 0xe3a0a0c2
je case.0x1002a24f.19135
add dword [ebp - 0x18], 4
cmp dword [ebp - 0x18], eax
jb 0x10029e5f
jmp case.0x1002a24f.19135
mov edx, dword [ebp - 0x1c]
lea edi, [edx + 0x64]
cmp edx, edi
jae 0x1002a00a
lea ebx, [ebx]
mov esi, 0x5c6b
mov eax, esi
sub eax, 0x5c6b
je 0x10029eac
sub eax, 0x4c
je 0x10029feb
jmp 0x10029ff0
dec ecx
outsb dx, byte [esi]
pop ecx
push ss
out dx, eax
mov eax, dword [edx]
cmp eax, 0xeafffffe
ja 0x10029edb
je 0x10029f6a
cmp eax, 0xbeefbeef
je 0x10029fba
cmp eax, 0xe12fff1c
je 0x10029fa7
jmp 0x10029ff0
cmp eax, 0xebfffffe
je 0x10029f24
cmp eax, 0xffff3000
jne 0x10029ff0
mov ecx, 0xb9b
mov eax, ecx
sub eax, 0xb9b
je 0x10029f0a
sub eax, 0x1c
jne 0x10029f19
cli
loop 0x10029f57
mov al, byte [0xe1e947]
add byte [eax], al
pop ecx
and byte [edi], bl
xor ebx, edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
sub eax, 0x10
mov dword [edx], eax
add ecx, 0x1c
cmp ecx, 0xbb7
jbe 0x10029ef2
mov ecx, 0x5991
lea esp, [esp]
mov eax, ecx
sub eax, 0x5991
je 0x10029f48
sub eax, 0x3c
jne 0x10029f5f
cmpsb byte [esi], byte es:[edi]
lodsd eax, dword [esi]
or byte [edx - 0x5d], ah
jmp 0x10029feb
mov eax, dword [ebp - 0x10]
sub eax, edx
sar eax, 2
sub eax, 2
and eax, 0xffffff
or eax, 0xeb000000
add byte [0xeb000000], cl
mov dword [edx], eax
add ecx, 0x3c
cmp ecx, 0x59cd
jbe 0x10029f30
mov ecx, 0x26e3
nop
mov eax, ecx
sub eax, 0x26e3
je 0x10029f80
sub eax, 0x2f
je 0x10029feb
jmp 0x10029f9c
mov ch, 0xd1
fsub dword [eax + 0x2be8458b]
ret 0xf8c1
add ecx, 0x2f
cmp ecx, 0x2712
jbe 0x10029f70
mov eax, 0xcbb
cmp eax, eax
je 0x10029fcf
add eax, 0x2a
cmp eax, 0xcbb
jbe 0x10029fae
mov eax, 0xf7c
cmp eax, eax
je 0x10029fe4
add eax, 6
cmp eax, 0xf7c
jbe 0x10029fc1
jmp 0x10029ff0
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp + 0x18]
sar ecx, 2
lea eax, [ecx*4 - 0x10020]
add dword [edx + 4], eax
jmp 0x10029feb
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov dword [edx], eax
mov esi, 0x5cb7
add esi, 0x4c
cmp esi, 0x5cb7
jbe 0x10029e95
add edx, 4
cmp edx, edi
jb 0x10029e90
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xc], 0
mov edi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x24]
add eax, 8
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x4c]
jbe 0x10029ae0
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x4ab6
ja 0x1002a237
je 0x1002a1fc
cmp eax, 0x3a9e
ja 0x1002a1d6
je 0x1002a08c
cmp eax, 0x287b
je 0x1002a2dc
cmp eax, 0x3a96
jne case.0x1002a24f.19135
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx]
push edx
call fcn.10008130
mov byte [ebp - 0x14], al
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax]
add esp, 4
push ecx
call fcn.100145c0
add esp, 4
mov byte [ebp - 0x44], al
jmp 0x1002a017
mov dword [ebp - 0x3c], 0
mov edi, 0x1a9c
mov dword [ebp - 0x38], edi
jmp 0x1002a0a0
mov eax, edi
sub eax, 0x1a9c
je 0x1002a0d2
sub eax, 0x5a
jne 0x1002a1af
mov edx, dword [ebp - 0x14]
push edx
call fcn.1000ffd0
mov byte [eax], 0xc5
mov eax, dword [ebp - 0x14]
add esp, 4
push eax
call fcn.10021f60
add esp, 4
jmp 0x1002a1af
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
push ecx
push edx
call fcn.1001e240
add esp, 8
test al, al
je 0x1002a1af
mov eax, dword [ebp + 0x10]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x14]
push ecx
push edx
call fcn.1000ef40
add esp, 8
test al, al
je 0x1002a1af
mov edi, 0x5152
xor esi, esi
lea esp, [esp]
cmp esi, 0xcc
ja case.0x1002a123.1
movzx eax, byte [esi + 0x1002a364]
jmp dword [eax*4 + 0x1002a350]
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.10021f60
jmp 0x1002a194
mov bh, byte [edi]
pop ecx
xchg ecx, eax
xchg edi, eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.1000ffd0
mov byte [eax], 0xc1
jmp 0x1002a194
mov eax, dword [ebp - 0x14]
push 0
push eax
call fcn.100246f0
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.10004560
add esp, 0xc
test al, al
je case.0x1002a123.1
mov eax, 0x221
cmp eax, eax
je 0x1002a2eb
add eax, 0x4a
cmp eax, 0x221
jbe 0x1002a16a
jmp case.0x1002a123.1
das
mov esi, 0x8b14892f
inc ebp
in al, dx
mov edx, dword [ebp + 8]
mov bl, byte [edx]
push eax
call fcn.10008d40
mov byte [eax], bl
mov ebx, dword [ebp - 0x34]
add esp, 4
add edi, 0x44
add esi, 0x44
cmp edi, 0x521e
jbe 0x1002a110
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp + 0xc]
add edi, 0x5a
mov dword [ebp - 0x38], edi
cmp edi, 0x1af6
jbe 0x1002a0a0
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 8
jb 0x1002a093
jmp 0x1002a014
mov eax, dword [ebp - 0x24]
sub eax, 0x3aa6
je 0x1002a1ee
sub eax, 8
je 0x10029c45
jmp case.0x1002a24f.19135
in al, 0xf0
pop es
cmp dh, al
inc ebp
hlt
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], 0x68490800
call fcn.1002d520
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x18]
add esp, 0xc
push 4
push edx
lea eax, [ebp - 4]
inc ebp
cld
push eax
push ecx
call fcn.10017ba0
add esp, 0x10
mov dword [ebp - 0x48], eax
jmp 0x1002a017
mov eax, dword [ebp - 0x24]
add eax, 0xffffb542
cmp eax, 0x20
ja case.0x1002a24f.19135
movzx eax, byte [eax + 0x1002a44c]
jmp dword [eax*4 + 0x1002a434]
stosb byte es:[edi], al
dec edx
cwde
xchg ecx, eax
jp 0x1002a223
inc ebp
hlt
mov eax, dword [ebp - 0x40]
mov ecx, 0x2001
mov word [eax], cx
jmp case.0x1002a24f.19135
mov ecx, dword [ebp - 0x48]
test ecx, ecx
jne 0x1002a295
mov eax, 0x5b32
cmp eax, eax
je 0x1002a308
add eax, 0x4b
cmp eax, 0x5b32
jbe 0x1002a285
add ecx, 0xfffffffd
mov dword [ebp - 0x40], ecx
jmp case.0x1002a24f.19135
invalid
call dword [edi + 0x5afe37b2]
mov ecx, dword [ebp + 8]
xor eax, eax
cmp dword [ecx], 0xffffffff
setne al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xchg edi, eax
mov dl, 0x37
invalid
mov dl, 0xc0
pop edx
xor dword [eax], edi
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
les ebp, [esi - 0x36]
jno 0x1002a323
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jns 0x1002a2b5
sal dword [edx + 0x1d], cl
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
adc byte [edi - 0x64], ch
add dl, byte [eax]
sbb ah, byte [eax + 0x5001002]
add eax, 84215045
add eax, 84215041
add eax, 33883397
add eax, 84215045
add eax, 84214533
add eax, 84215045
add al, 141
dec ecx
add byte [edx], ch
mov eax, dword [0xa17c1002]
add dl, byte [eax]
xor eax, 0x481002a1
mov eax, dword [-1583935486]
add dl, byte [eax]
add byte [esp + eax], al
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 1
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 2
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, byte [esp + eax]
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 3
lea ecx, [ecx]
ja 0x1002a3d8
add dl, byte [eax]
mov byte [0x1002], al
mov al, byte [1443889826]
mov byte [2734231554], al
add dl, byte [eax]
sbb ah, byte [eax + 0x5001002]
add eax, 84215045
add eax, 84215041
add eax, 33883397
add eax, 84215045
add eax, 84214533
add eax, 84215045
add al, 204
int3