Function at 0x402b00
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
add eax, 0xffffff00
push esi
push edi
mov dword [ebp - 4], 0x100
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
cmp eax, 0x100
jbe 0x4030f8
mov bl, 0xc7
jmp 0x402b30
cmp dword [0x419938], 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
lea edi, [eax + ecx]
jne 0x4030c3
cmp byte [edi - 3], bl
jne 0x402b66
cmp byte [edi + 7], bl
jne 0x402b66
cmp byte [edi + 0xe], 0xeb
jne 0x402b66
mov eax, dword [edi]
cmp eax, 0x28488
je 0x402b93
cmp eax, 0xa1220
je 0x402b9a
mov ecx, 1
cmp byte [edi - 5], 0xeb
jne 0x402be1
cmp byte [edi - 3], bl
jne 0x402be1
cmp byte [edi + 4], bl
jne 0x402be1
mov eax, dword [edi]
cmp eax, 0x28488
je 0x402bc6
cmp eax, 0xa1220
jne 0x402be1
add dword [0x4198cc], ecx
jmp 0x402be1
cmp eax, 0xa1220
jne 0x402bad
mov ecx, 1
add dword [0x4198cc], ecx
add dword [0x4198c4], ecx
jmp 0x402b6b
mov ecx, 1
add dword [0x4198c8], ecx
add dword [0x4198c4], ecx
mov dword [edi], 0xa1220
jmp 0x402b6b
cmp eax, 0xa1220
jne 0x402bd5
add dword [0x4198cc], ecx
jmp 0x402be1
add dword [0x4198c8], ecx
mov dword [edi], 0xa1220
mov al, byte [edi - 1]
cmp al, 0xb8
jb 0x402c5a
cmp al, 0xbf
ja 0x402c5a
mov esi, dword [edi]
cmp esi, 0x28488
je 0x402bfe
cmp esi, 0xa1220
jne 0x402c5a
push 0x64
push edi
mov edx, 0x413f1c
call fcn.004012c0
add esp, 8
test eax, eax
je 0x402c5a
push 0x64
push edi
mov edx, 0x413f24
call fcn.004012c0
add esp, 8
test eax, eax
je 0x402c5a
cmp esi, 0x28488
je 0x402c3e
cmp esi, 0xa1220
jne 0x402c5a
inc dword [0x4198cc]
jmp 0x402c5a
cmp esi, 0xa1220
jne 0x402c4e
inc dword [0x4198cc]
jmp 0x402c5a
inc dword [0x4198c8]
mov dword [edi], 0xa1220
cmp dword [0x41993c], 0
jne 0x402d2c
cmp byte [edi - 6], 0x8b
jne 0x402ca6
cmp byte [edi - 3], 0x81
jne 0x402ca6
cmp byte [edi - 2], 0x78
jne 0x402ca6
cmp byte [edi + 4], 0x77
jne 0x402ca6
cmp byte [edi + 6], 0x83
jne 0x402ca6
mov eax, dword [0x419940]
mov ecx, dword [edi]
neg eax
sbb eax, eax
and eax, 0x68fb0
add eax, 0x38270
cmp ecx, 0x28488
je 0x402cf6
cmp ecx, eax
je 0x402cfa
mov edx, 1
cmp byte [edi - 6], 0x8b
jne 0x402d31
cmp byte [edi - 3], 0x81
jne 0x402d31
cmp byte [edi - 2], 0x78
jne 0x402d31
cmp byte [edi + 7], 0x77
jne 0x402d31
cmp byte [edi + 9], 0x83
jne 0x402d31
mov eax, dword [0x419940]
mov ecx, dword [edi]
neg eax
sbb eax, eax
and eax, 0x68fb0
add eax, 0x38270
cmp ecx, 0x28488
je 0x402d16
cmp ecx, eax
jne 0x402d31
add dword [0x4198dc], edx
jmp 0x402d31
cmp ecx, eax
jne 0x402d07
mov edx, 1
add dword [0x4198dc], edx
jmp 0x402cab
mov edx, 1
add dword [0x4198d8], edx
mov dword [edi], eax
jmp 0x402cab
cmp ecx, eax
jne 0x402d22
add dword [0x4198dc], edx
jmp 0x402d31
add dword [0x4198d8], edx
mov dword [edi], eax
jmp 0x402d31
mov edx, 1
cmp byte [edi - 3], bl
jne 0x402dbc
cmp byte [edi + 7], bl
jne 0x402d78
cmp byte [edi + 0xe], 0x8b
jne 0x402d78
mov eax, dword [edi]
cmp eax, 0x28488
je 0x402d57
cmp eax, 0xa1220
je 0x402d5e
jmp 0x402d78
cmp eax, 0xa1220
jne 0x402d66
add dword [0x4198e4], edx
jmp 0x402d72
add dword [0x4198e0], edx
mov dword [edi], 0xa1220
add dword [0x4198c4], edx
cmp byte [edi - 3], bl
jne 0x402dbc
cmp byte [edi + 7], 0x8b
jne 0x402dbc
cmp byte [edi + 0xa], 0xe8
jne 0x402dbc
mov eax, dword [edi]
cmp eax, 0x28488
je 0x402d9b
cmp eax, 0xa1220
je 0x402da2
jmp 0x402dbc
cmp eax, 0xa1220
jne 0x402daa
add dword [0x4198ec], edx
jmp 0x402db6
add dword [0x4198e8], edx
mov dword [edi], 0xa1220
add dword [0x4198c4], edx
mov ecx, 2
cmp dword [edi - 7], ecx
jne 0x402dfe
cmp byte [edi - 3], bl
jne 0x402dfe
mov eax, dword [edi]
cmp eax, 0x28488
je 0x402de3
cmp eax, 0xa1220
jne 0x402dfe
add dword [0x4198f4], edx
jmp 0x402dfe
cmp eax, 0xa1220
jne 0x402df2
add dword [0x4198f4], edx
jmp 0x402dfe
add dword [0x4198f0], edx
mov dword [edi], 0xa1220
cmp dword [edi - 8], 0xeb002383
jne 0x402e3f
cmp byte [edi - 3], bl
jne 0x402e3f
mov eax, dword [edi]
cmp eax, 0x28488
je 0x402e24
cmp eax, 0xa1220
jne 0x402e3f
add dword [0x4198f4], edx
jmp 0x402e3f
cmp eax, 0xa1220
jne 0x402e33
add dword [0x4198f4], edx
jmp 0x402e3f
add dword [0x4198f0], edx
mov dword [edi], 0xa1220
cmp dword [edi - 7], ecx
je 0x402e99
cmp byte [edi - 5], 0xeb
je 0x402e99
cmp byte [edi - 3], bl
jne 0x402e99
cmp byte [edi - 1], 0x20
jae 0x402e99
mov al, byte [edi + 7]
cmp al, bl
je 0x402e99
cmp al, 0x8b
jne 0x402e66
cmp byte [edi + 0xa], 0xe8
je 0x402e99
mov eax, dword [edi]
cmp eax, 0x48828
je 0x402e7e
cmp eax, 0xa1220
jne 0x402e99
add dword [0x4198fc], edx
jmp 0x402e99
cmp eax, 0xa1220
jne 0x402e8d
add dword [0x4198fc], edx
jmp 0x402e99
add dword [0x4198f8], edx
mov dword [edi], 0xa1220
cmp byte [edi - 0xa], 0xe8
jne 0x402ee3
cmp byte [edi - 5], 0x8b
jne 0x402ee3
cmp byte [edi - 4], 0xce
jne 0x402ee3
cmp byte [edi - 3], bl
jne 0x402ee3
mov eax, dword [edi]
cmp eax, 0x36ee8
je 0x402ec8
cmp eax, 0xa1220
jne 0x402ee3
add dword [0x419904], edx
jmp 0x402ee3
cmp eax, 0xa1220
jne 0x402ed7
add dword [0x419904], edx
jmp 0x402ee3
add dword [0x419900], edx
mov dword [edi], 0xa1220
cmp byte [edi - 0xa], 0x8b
jne 0x402f2d
cmp byte [edi - 9], 0xce
jne 0x402f2d
cmp byte [edi - 8], 0xe8
jne 0x402f2d
cmp byte [edi - 3], bl
jne 0x402f2d
mov eax, dword [edi]
cmp eax, 0x36ee8
je 0x402f12
cmp eax, 0xa1220
jne 0x402f2d
add dword [0x419904], edx
jmp 0x402f2d
cmp eax, 0xa1220
jne 0x402f21
add dword [0x419904], edx
jmp 0x402f2d
add dword [0x419900], edx
mov dword [edi], 0xa1220
cmp byte [edi - 3], 0xcc
je 0x402f7e
cmp byte [edi - 2], 0xcc
je 0x402f7e
cmp byte [edi - 1], 0xb8
jne 0x402f7e
cmp byte [edi + 8], 0xcc
jne 0x402f7e
cmp byte [edi + 9], 0xcc
jne 0x402f7e
mov eax, dword [edi]
cmp eax, 0x50910
je 0x402f63
cmp eax, 0xa1220
jne 0x402f7e
add dword [0x41990c], edx
jmp 0x402f7e
cmp eax, 0xa1220
jne 0x402f72
add dword [0x41990c], edx
jmp 0x402f7e
add dword [0x419908], edx
mov dword [edi], 0xa1220
cmp byte [edi - 0xb], 0
je 0x402fe2
cmp byte [edi - 4], 0
je 0x402fe2
cmp byte [edi - 3], bl
jne 0x402fe2
cmp byte [edi - 1], 0xc
jne 0x402fe2
cmp byte [edi + 8], 0x8b
je 0x402fe2
push 0xa
push edi
mov edx, 0x413f30
call fcn.004012c0
add esp, 8
test eax, eax
je 0x402fe2
mov eax, dword [edi]
cmp eax, 0x61a80
je 0x402fc7
cmp eax, 0xa1220
jne 0x402fe2
inc dword [0x419914]
jmp 0x402fe2
cmp eax, 0xa1220
jne 0x402fd6
inc dword [0x419914]
jmp 0x402fe2
inc dword [0x419910]
mov dword [edi], 0xa1220
push edi
mov eax, edi
call fcn.00401f00
add esp, 4
test eax, eax
je 0x403018
cmp dword [0x419910], 0
jne 0x403003
cmp dword [0x419914], 0
je 0x403018
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
add eax, 0xf4240
mov dword [ebp - 8], eax
cmp eax, ecx
jbe 0x403018
mov dword [ebp - 8], ecx
cmp byte [edi - 4], 0x83
jne 0x40303d
cmp byte [edi - 2], 0xa
jne 0x40303d
cmp byte [edi - 1], 0x5b
jne 0x40303d
cmp byte [edi + 2], 0x32
jne 0x40303d
cmp byte [edi + 3], 0xc0
jne 0x40303d
mov eax, edi
call fcn.00401360
cmp byte [edi - 5], 0x72
jne 0x403062
cmp byte [edi - 3], 0x83
jne 0x403062
cmp byte [edi - 1], 0xa
jne 0x403062
cmp byte [edi + 2], 0x32
jne 0x403062
cmp byte [edi + 3], 0xc0
jne 0x403062
mov eax, edi
call fcn.00401360
mov al, byte [edi - 1]
cmp al, 0xb8
jb 0x4030aa
cmp al, 0xbf
ja 0x4030aa
cmp byte [edi + 4], 0x3b
jne 0x4030aa
cmp byte [edi + 6], 0x72
jne 0x4030aa
mov eax, dword [edi]
cmp eax, 0x190
je 0x40308f
cmp eax, 0x64
jne 0x4030c3
inc dword [0x41992c]
jmp 0x4030c3
cmp eax, 0x64
jne 0x40309c
inc dword [0x41992c]
jmp 0x4030c3
inc dword [0x419928]
mov dword [edi], 0x64
jmp 0x4030c3
cmp dword [0x419928], 0
jne 0x4030c3
cmp dword [0x41992c], 0
jne 0x4030c3
mov edx, edi
call fcn.00402260
mov eax, edi
call fcn.004023e0
test eax, eax
je 0x4030e8
cmp dword [0x419938], 0
jne 0x4030f8
mov eax, dword [ebp - 4]
cmp eax, 0x4c4b40
jae 0x4030eb
mov eax, 0x4c4b40
jmp 0x4030eb
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebp - 8]
jb 0x402b30
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret