Function at 0x4b3fc0
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, dword [ebp + 0x47c]
jmp 0x4b4709
sub esp, 0x34
push ebx
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x46c]
test ah, 1
push ebp
push esi
push edi
mov esi, ecx
je 0x4b4023
mov eax, dword [ebx + 0x58c]
test eax, eax
je 0x4b4023
mov eax, dword [esi + 0x1c]
push 1
push eax
call fcn.00743c60
mov ecx, dword [eax]
add esp, 8
test ecx, ecx
jne 0x4b4007
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x4b4007
cmp ecx, 1
je 0x4b4007
cmp ecx, 0x2e
jne 0x4b400e
cmp word [eax + 0x22], 0x32
jle 0x4b4012
or byte [esi + 0x25], 2
mov dword [esi + 0x2c], 0xbf
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 8
mov eax, dword [esi + 0x1c]
cmp eax, 0x1b
mov ecx, dword [ebx + 0x534]
mov dword [esp + 0x24], ecx
je 0x4b404e
cmp eax, 0x19
je 0x4b404e
cmp eax, 0x1a
je 0x4b404e
cmp eax, 0x18
je 0x4b404e
cmp eax, 0x21
mov byte [esp + 0x12], 0
jne 0x4b4053
mov byte [esp + 0x12], 1
test byte [ebx + 0x478], 4
je 0x4b4061
mov byte [esp + 0x12], 0
mov eax, dword [esi + 0x14]
mov edx, dword [0x85aaf4]
xor ebp, ebp
test eax, eax
mov dword [esp + 0x18], 0x3f800000
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], ebp
je 0x4b4103
mov cl, byte [eax + 0x36]
and cl, 7
cmp cl, 3
jne 0x4b4103
mov ecx, dword [eax + 0x47c]
call fcn.00600f30
mov ebp, eax
test ebp, ebp
jne 0x4b40b6
mov edx, dword [esi + 0x14]
mov ecx, dword [edx + 0x47c]
call fcn.00600f70
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x480]
test eax, eax
je 0x4b4103
test byte [eax + 0x34], 2
je 0x4b40d3
mov dword [esp + 0x18], 0x40000000
jmp 0x4b4103
push 4
call fcn.00559af0
fadd dword [0x858624]
add esp, 4
fmul dword [0x858b8c]
fstp dword [esp + 0x18]
fld dword [0x85aafc]
fmul dword [0x858b8c]
fadd dword [0x85aaf8]
fstp dword [esp + 0x20]
push 0
push 5
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebx
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call fcn.005e4280
mov eax, dword [ebx + 0x47c]
lea ecx, [eax + 4]
call fcn.006819d0
mov edi, eax
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x4b4147
add eax, 0x30
jmp 0x4b414a
lea eax, [ebx + 4]
fld dword [esp + 0x40]
fcomp dword [eax + 8]
fnstsw ax
test ah, 5
jp 0x4b41aa
mov ecx, ebx
call fcn.005df8f0
test al, al
jne 0x4b41aa
test edi, edi
je 0x4b41aa
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x10]
cmp eax, 0xcf
je 0x4b4183
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
cmp eax, 0xcd
jne 0x4b41aa
or byte [esi + 0x25], 2
mov ecx, dword [ebx + 0x18]
push 0x800
push ecx
call fcn.004d6a70
add esp, 8
neg eax
sbb eax, eax
and eax, 3
add eax, 0x24
mov dword [esi + 0x2c], eax
jmp 0x4b42a7
cmp dword [esi + 0x20], 3
jne 0x4b42a7
mov eax, dword [esp + 0x1c]
xor bl, bl
test eax, eax
je 0x4b41e0
cmp byte [eax + 0x10], 5
jne 0x4b41e0
mov al, byte [esi + 0x24]
test al, al
je 0x4b41cd
mov bl, 1
mov edi, dword [esp + 0x48]
mov ecx, edi
call fcn.005df8f0
test al, al
je 0x4b41f9
xor bl, bl
jmp 0x4b41f9
mov al, byte [esp + 0x12]
test al, al
mov edi, dword [esp + 0x48]
je 0x4b41f9
mov ecx, edi
call fcn.005df8f0
test al, al
jne 0x4b41f9
mov bl, 1
test byte [edi + 0x478], 4
jne 0x4b4231
test dword [edi + 0x46c], 0x4000000
jne 0x4b4231
mov eax, dword [edi + 0xfc]
test eax, eax
jne 0x4b4231
test bl, bl
je 0x4b4231
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4b4231
or byte [esi + 0x25], 2
mov dword [esp + 0x14], 0x40a00000
jmp 0x4b42ab
mov ecx, dword [esi + 0x1c]
cmp ecx, 9
jge 0x4b4262
fld dword [edi + 0x540]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x4b4262
fld dword [esp + 0x18]
mov al, byte [esi + 0x25]
fmul dword [0x858c80]
or al, 2
mov byte [esi + 0x25], al
fstp dword [esp + 0x14]
jmp 0x4b42ab
cmp ecx, 0x36
jne 0x4b427f
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4b427f
mov dl, byte [eax + 0x36]
and dl, 7
cmp dl, 4
jne 0x4b427f
or byte [esi + 0x25], 2
jmp 0x4b42ab
test ebp, ebp
je 0x4b42a7
cmp byte [ebp + 0x25], 4
jne 0x4b42a7
mov ecx, dword [esp + 0x48]
call fcn.005df8f0
test al, al
jne 0x4b42a7
mov eax, dword [esp + 0x48]
cmp dword [eax + 0x534], 4
jle 0x4b42a7
or byte [esi + 0x25], 2
mov edi, dword [esp + 0x48]
mov bl, byte [esi + 0x25]
test bl, 2
mov byte [esp + 0x13], 0
je 0x4b42e3
mov al, byte [esi + 0x24]
test al, al
jne 0x4b42d9
test ebp, ebp
je 0x4b42d9
mov ecx, ebp
call fcn.004abdc0
test al, al
jne 0x4b42e3
mov ecx, ebp
call fcn.004abdf0
test al, al
jne 0x4b42e3
mov byte [esp + 0x13], 1
jmp 0x4b46f7
mov al, byte [esi + 0x24]
and bl, 0xfd
test al, al
mov byte [esi + 0x25], bl
jne 0x4b4366
test ebp, ebp
je 0x4b4338
cmp byte [ebp + 0x24], 4
jl 0x4b4338
cmp byte [ebp + 0x25], 2
jg 0x4b4338
mov ecx, ebp
call fcn.004abda0
mov dword [esi + 0x28], eax
movsx ecx, byte [ebp + 0x25]
add ecx, 0xdb
mov dword [esi + 0x2c], ecx
mov ecx, ebp
mov dword [esi + 0x30], 0x41800000
call fcn.004abdc0
test al, al
je 0x4b46f7
or bl, 2
mov byte [esi + 0x25], bl
jmp 0x4b46f7
test al, al
jne 0x4b4366
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b4366
cmp byte [eax + 0x10], 5
jne 0x4b4366
mov edx, dword [0xc170d0]
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], 0xdc
mov dword [esi + 0x30], 0x41800000
jmp 0x4b46f7
mov eax, dword [esi + 0x1c]
cmp eax, 0x16
jl 0x4b4461
cmp eax, 0x21
jg 0x4b4461
mov bl, byte [esp + 0x12]
test bl, bl
je 0x4b4392
mov ecx, edi
call fcn.005df8f0
test al, al
je 0x4b4461
mov ecx, edi
call fcn.005df8f0
test al, al
je 0x4b43a1
test bl, bl
je 0x4b43c1
cmp dword [esp + 0x24], 1
jg 0x4b43c1
test dword [edi + 0x46c], 0x4000000
jne 0x4b43c1
test byte [edi + 0x478], 4
je 0x4b4461
movzx eax, byte [esi + 0x24]
add eax, 0x1c
mov ecx, edi
mov dword [esi + 0x28], 0
mov dword [esi + 0x30], 0x41000000
mov dword [esi + 0x2c], eax
call fcn.005df8f0
test al, al
je 0x4b46f7
mov ecx, dword [esp + 0x48]
mov edi, dword [ecx + 0x480]
mov eax, dword [0xb7cb84]
cmp eax, dword [edi + 0x28]
jbe 0x4b4455
cmp dword [ecx + 0x530], 0x32
je 0x4b4455
cmp dword [esi + 0x1c], 0x1f
jne 0x4b4430
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x4b441d
fadd dword [0x858c54]
fadd dword [0x85ab04]
call fcn.00821b40
mov dword [edi + 0x28], eax
jmp 0x4b46f7
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x4b4442
fadd dword [0x858c54]
fadd dword [0x85ab00]
call fcn.00821b40
mov dword [edi + 0x28], eax
jmp 0x4b46f7
mov dword [esi + 0x2c], 0xbf
jmp 0x4b46f7
mov ecx, edi
call fcn.005df8f0
test al, al
je 0x4b44af
cmp dword [esi + 0x1c], 0x16
jl 0x4b44af
mov ecx, dword [esp + 0x48]
mov edi, dword [ecx + 0x480]
mov eax, dword [0xb7cb84]
cmp eax, dword [edi + 0x28]
jbe 0x4b4455
cmp dword [ecx + 0x530], 0x32
je 0x4b4455
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x4b44a1
fadd dword [0x858c54]
fadd dword [0x85ab04]
call fcn.00821b40
mov dword [edi + 0x28], eax
mov edx, dword [esi + 0x1c]
cmp edx, 0x16
jl 0x4b46ba
cmp edx, 0x2f
jg 0x4b46ba
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x47c]
lea ecx, [eax + 0x38]
or edi, 0xffffffff
call fcn.004b8ca0
mov ebx, eax
test ebx, ebx
je 0x4b44ee
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 4]
cmp eax, 9
jne 0x4b44ee
mov edi, dword [ebx + 0x2c]
mov eax, dword [esi + 0x20]
cmp eax, 5
jne 0x4b455b
mov al, byte [esi + 0x24]
cmp al, 2
jne 0x4b4506
mov dword [esi + 0x2c], 0xab
jmp 0x4b451a
cmp al, 1
jne 0x4b4513
mov dword [esi + 0x2c], 0xad
jmp 0x4b451a
mov dword [esi + 0x2c], 0xac
cmp dword [esi + 0x2c], edi
jne 0x4b46f7
call fcn.00821b1e
and eax, 0xffff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul dword [0x858b14]
fmul dword [0x859024]
call fcn.00821b40
mov ecx, 0xab
sub ecx, eax
mov eax, ecx
cmp eax, edi
mov dword [esi + 0x2c], ecx
je 0x4b4523
jmp 0x4b46f7
cmp eax, 6
jne 0x4b45ad
mov al, byte [esi + 0x24]
cmp al, 2
jne 0x4b4570
mov dword [esi + 0x2c], 0xae
jmp 0x4b4584
cmp al, 3
jne 0x4b457d
mov dword [esi + 0x2c], 0xb0
jmp 0x4b4584
mov dword [esi + 0x2c], 0xaf
cmp dword [esi + 0x2c], edi
jne 0x4b46f7
lea ecx, [ecx]
push 3
push 0
call fcn.00407180
add eax, 0xae
add esp, 8
cmp eax, edi
mov dword [esi + 0x2c], eax
je 0x4b4590
jmp 0x4b46f7
cmp eax, 7
jne 0x4b45fd
mov al, byte [esi + 0x24]
cmp al, 2
jne 0x4b45c2
mov dword [esi + 0x2c], 0xb1
jmp 0x4b45d6
cmp al, 1
jne 0x4b45cf
mov dword [esi + 0x2c], 0xb3
jmp 0x4b45d6
mov dword [esi + 0x2c], 0xb2
cmp dword [esi + 0x2c], edi
jne 0x4b46f7
nop
push 3
push 0
call fcn.00407180
add eax, 0xb1
add esp, 8
cmp eax, edi
mov dword [esi + 0x2c], eax
je 0x4b45e0
jmp 0x4b46f7
cmp eax, 8
jne 0x4b464d
mov al, byte [esi + 0x24]
cmp al, 2
jne 0x4b4612
mov dword [esi + 0x2c], 0xb4
jmp 0x4b4626
cmp al, 3
jne 0x4b461f
mov dword [esi + 0x2c], 0xb6
jmp 0x4b4626
mov dword [esi + 0x2c], 0xb5
cmp dword [esi + 0x2c], edi
jne 0x4b46f7
nop
push 3
push 0
call fcn.00407180
add eax, 0xb4
add esp, 8
cmp eax, edi
mov dword [esi + 0x2c], eax
je 0x4b4630
jmp 0x4b46f7
cmp eax, 3
je 0x4b4666
cmp eax, 4
je 0x4b4666
movzx edx, byte [esi + 0x24]
add edx, 0x20
mov dword [esi + 0x2c], edx
jmp 0x4b46f7
mov al, byte [esi + 0x24]
test al, al
jne 0x4b4676
mov dword [esi + 0x2c], 0xb8
jmp 0x4b469b
cmp al, 1
jne 0x4b4683
mov dword [esi + 0x2c], 0xb9
jmp 0x4b469b
cmp al, 2
jne 0x4b4690
mov dword [esi + 0x2c], 0xb7
jmp 0x4b469b
cmp al, 3
jne 0x4b469b
mov dword [esi + 0x2c], 0xba
cmp dword [esi + 0x2c], edi
jne 0x4b46f7
push 4
push 0
call fcn.00407180
add eax, 0xb7
add esp, 8
cmp eax, edi
mov dword [esi + 0x2c], eax
je 0x4b46a0
jmp 0x4b46f7
mov cl, byte [esi + 0x24]
movzx eax, cl
add eax, 0x20
test cl, cl
mov dword [esi + 0x2c], eax
jne 0x4b46e6
fld dword [esi + 0x3c]
fadd dword [esi + 0x38]
fcomp dword [0x858ba4]
fnstsw ax
test ah, 0x41
jne 0x4b46e6
mov dword [esi + 0x2c], 0x25
jmp 0x4b46f7
cmp cl, 2
jne 0x4b46f7
cmp edx, 0xf
jg 0x4b46f7
mov dword [esi + 0x2c], 0x28
mov al, byte [esp + 0x4c]
test al, al
mov ebp, dword [esp + 0x48]
je 0x4b4748
nop
jmp 0x405b96
lea ecx, [eax + 4]
call fcn.00681720
test eax, eax
je 0x4b4748
mov eax, dword [ebp + 0x47c]
lea ecx, [eax + 4]
call fcn.00681720
mov edx, dword [eax]
push esi
push 1
push ebp
mov ecx, eax
call dword [edx + 0x18]
test al, al
jne 0x4b4748
mov al, byte [esi + 0x25]
and al, 0xfd
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0xc0
mov byte [esi + 0x25], al
test byte [esi + 0x25], 2
je 0x4b481f
mov al, byte [esp + 0x13]
test al, al
je 0x4b481f
movzx eax, byte [esi + 0x24]
fld dword [esp + 0x14]
fcomp dword [0x858b50]
add eax, 0x18
mov dword [esi + 0x2c], eax
fnstsw ax
test ah, 0x41
jne 0x4b481f
mov esi, dword [esi + 0x14]
mov eax, dword [esi + 0x14]
test eax, eax
lea ebx, [eax + 0x30]
jne 0x4b478d
lea ebx, [esi + 4]
mov ecx, dword [ebp + 0x14]
test ecx, ecx
lea edi, [ecx + 0x30]
jne 0x4b479a
lea edi, [ebp + 4]
mov eax, dword [esi + 0x14]
test eax, eax
lea edx, [eax + 0x30]
jne 0x4b47a7
lea edx, [esi + 4]
test ecx, ecx
lea eax, [ecx + 0x30]
jne 0x4b47b1
lea eax, [ebp + 4]
fld dword [edx]
lea ecx, [esp + 0x24]
fsub dword [eax]
fstp dword [esp + 0x24]
fld dword [ebx + 4]
fsub dword [edi + 4]
fstp dword [esp + 0x28]
call fcn.0044e480
fld dword [esp + 0x24]
fmul dword [esp + 0x14]
mov ecx, dword [ebp + 0x46c]
and ecx, 0xfffffffc
mov dword [ebp + 0x46c], ecx
fchs
sub esp, 0xc
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
fld dword [esp + 0x34]
mov ecx, esp
fmul dword [esp + 0x20]
mov dword [ecx], edx
mov dword [esp + 0x40], 0x40a00000
mov edx, dword [esp + 0x40]
fchs
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov ecx, ebp
call fcn.005429f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 8