Function at 0x517888
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x518048
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x9a
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x50], eax
fild dword [ebp - 0x1c]
call fcn.00407638
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x5c], eax
mov eax, dword [0x5339d8]
call fcn.004071f4
mov dword [0x5339d8], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x64], eax
mov eax, dword [0x53398c]
mov dword [0x533a18], eax
mov eax, dword [0x533a18]
cmp eax, dword [0x5339d8]
jge 0x517918
xor eax, eax
mov dword [ebp - 0x70], eax
mov eax, dword [0x533a48]
mov dword [0x53385c], eax
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 5
jne 0x517903
jmp 0x517922
mov eax, dword [0x53388c]
mov dword [0x53389c], eax
xor eax, eax
mov dword [ebp - 0x78], eax
imul eax, dword [ebp - 0x40], 0x2a
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
call fcn.00407638
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x34]
imul dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x50]
add eax, 0xc3
mov dword [ebp - 0x5c], eax
imul eax, dword [ebp - 0x30], 0xb
mov dword [ebp - 0x68], eax
mov eax, dword [0x533a40]
call fcn.004071f4
mov dword [0x533a40], eax
mov eax, dword [0x5338bc]
mov dword [0x533a50], eax
mov eax, dword [0x533a50]
cmp eax, dword [0x533a40]
jge 0x517bed
mov eax, dword [0x53386c]
call fcn.004071f4
mov dword [0x53386c], eax
jmp 0x517bed
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x74]
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
call fcn.00407638
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x70]
add eax, 4
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x44]
sub eax, 0x78
mov dword [ebp - 0x68], eax
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xb
jne 0x5179a9
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x5179f5
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x6c]
sub eax, 0x3c
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x34], 2
jl 0x5179e3
mov eax, dword [0x5338e4]
add eax, dword [0x533a30]
mov edx, dword [0x53389c]
add edx, dword [0x5338e4]
cmp eax, edx
jge 0x517a20
fild dword [0x5338b4]
call fcn.00407638
mov dword [0x53398c], eax
imul eax, dword [ebp - 0x38], 0x5a
mov dword [ebp - 0x3c], eax
mov ecx, 1
mov edx, dword [0x533a20]
mov eax, 0x518060
call fcn.0040ade8
cmp eax, 0xca
je 0x517a4d
mov eax, dword [0x5339f8]
mov dword [0x53387c], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x78]
mov eax, dword [eax + edx*4 + 4]
cmp eax, dword [ebp - 4]
je 0x517bfb
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x60]
jne 0x517a8b
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 9
jge 0x517a9e
inc dword [ebp - 0x6c]
mov eax, dword [0x533a18]
mov dword [0x53385c], eax
cmp dword [ebp - 0x6c], 9
jl 0x517a76
jmp 0x517a9e
mov eax, dword [0x533a08]
mov dword [0x5338ac], eax
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
add eax, 0xb8
mov dword [ebp - 0x38], eax
mov eax, dword [0x53392c]
call fcn.004071f4
mov dword [0x53392c], eax
mov eax, dword [0x53392c]
cmp eax, dword [0x5338ac]
jle 0x517ace
mov eax, dword [ebp - 0x74]
sub eax, 0x5c
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x3c]
imul dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x24]
call fcn.0040762c
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x2c]
add eax, 0x9a
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
call fcn.0040762c
mov dword [ebp - 0x70], eax
inc dword [ebp - 0x78]
mov eax, dword [ebp - 0x4c]
add eax, 4
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
call fcn.00407638
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x74]
add edx, dword [ebp - 0x44]
cmp eax, edx
jge 0x517b4c
mov eax, dword [ebp - 0x5c]
imul dword [ebp - 0x58]
mov dword [ebp - 0x48], eax
mov eax, dword [0x5338ec]
sub eax, dword [0x5338f4]
cmp eax, dword [0x53396c]
jne 0x517bae
mov eax, dword [0x533984]
call fcn.004071f4
mov dword [0x533984], eax
jmp 0x517bae
mov eax, 0x24
sub eax, dword [ebp - 0x5c]
cmp eax, 0xcc
jge 0x517b7b
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xa
jge 0x517b86
inc dword [ebp - 0x6c]
mov eax, dword [0x53398c]
mov dword [0x533874], eax
cmp dword [ebp - 0x6c], 0xa
jl 0x517b66
jmp 0x517b86
mov eax, dword [ebp - 0x44]
add eax, 0xb0
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 4
jge 0x517bae
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x50]
add eax, 4
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
call fcn.00407638
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x40], 4
jl 0x517b91
imul eax, dword [ebp - 0x68], 0x7c
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 5
jge 0x517bd2
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
sub eax, 0x6f
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x20], 5
jl 0x517bc0
mov eax, dword [0x53397c]
imul dword [0x533a30]
mov dword [0x5339c4], eax
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x78]
ja 0x51799b
mov edx, dword [0x533a48]
mov eax, dword [0x5339b4]
call fcn.00502408
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 1
jne 0x517c13
imul eax, dword [ebp - 0x1c], 0x68
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x48]
lea edx, [ebp - 0x38]
lea eax, [ebp - 0x64]
call fcn.004fb7d8
mov eax, dword [ebp - 0x3c]
sub eax, 0xda
mov dword [ebp - 0x48], eax
mov eax, dword [0x533a00]
mov dword [0x53397c], eax
mov eax, dword [0x533a00]
mov dword [0x53397c], eax
mov eax, dword [0x53397c]
cmp eax, dword [0x53397c]
jge 0x517c6e
mov eax, dword [ebp - 0x28]
add eax, 0x11
mov dword [ebp - 0x58], eax
jmp 0x517c8c
xor eax, eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0xd
jge 0x517c8c
inc dword [ebp - 0x60]
mov eax, dword [0x533984]
mov dword [0x533864], eax
cmp dword [ebp - 0x60], 0xd
jl 0x517c79
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x78]
jne 0x51802d
imul eax, dword [ebp - 0x40], 0xef
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jge 0x517ced
inc dword [ebp - 0x58]
mov eax, dword [0x5339e0]
sub eax, dword [0x533884]
cmp eax, 0xc7
jge 0x517ce7
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jge 0x517ce7
inc dword [ebp - 0x68]
lea eax, [ebp - 0xc]
mov edx, 0x518094
call fcn.0040a01c
jmp 0x517ce7
cmp dword [ebp - 0x58], 0
jl 0x517caf
mov ecx, 1
mov edx, dword [0x533954]
mov eax, 0x5180bc
call fcn.0040ade8
cmp eax, 0x18
je 0x517d11
imul eax, dword [ebp - 0x34], 0xc2
mov dword [ebp - 0x74], eax
mov eax, dword [0x5338d4]
mov dword [0x533964], eax
mov eax, dword [0x53388c]
mov dword [0x533974], eax
mov eax, dword [0x533964]
cmp eax, dword [0x533974]
jge 0x517d48
mov eax, dword [ebp - 0x64]
sub eax, 0x2f
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x18]
mov edx, 0x5180d8
call fcn.0040a01c
mov eax, dword [ebp - 0x50]
imul dword [ebp - 0x20]
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [0x5339c4]
mov dword [0x533864], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xc
jne 0x517d56
mov eax, dword [ebp - 8]
cmp dword [eax], 0x40
jae 0x517f4f
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 4]
mov dword [eax + edx*4 + 4], ecx
mov eax, dword [0x5339f8]
mov dword [0x5339d0], eax
mov eax, dword [0x53398c]
mov dword [0x5339e0], eax
mov eax, dword [0x5339d0]
cmp eax, dword [0x5339e0]
jge 0x517e52
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 2
jge 0x517e16
inc dword [ebp - 0x6c]
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x517de5
inc dword [ebp - 0x20]
mov eax, dword [0x5338c4]
call fcn.004071f4
mov dword [0x5338c4], eax
jmp 0x517de5
mov eax, dword [0x533a08]
mov dword [0x533a08], eax
mov eax, dword [0x5339b4]
mov dword [0x533a18], eax
mov eax, dword [0x533a18]
cmp eax, dword [0x533a08]
jge 0x517e10
mov eax, dword [0x53398c]
mov dword [0x533874], eax
cmp dword [ebp - 0x6c], 2
jl 0x517db2
mov eax, dword [ebp - 0x54]
add eax, 0x35
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x70]
add eax, 0xe4
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 7
jge 0x517e47
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x44], 7
jl 0x517e35
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x64], eax
jmp 0x517e68
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
mov eax, dword [ebp - 0x4c]
add eax, eax
lea eax, [eax + eax*8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x5338ec]
add eax, dword [0x5339ac]
mov edx, dword [0x533a48]
add edx, dword [0x5338ec]
cmp eax, edx
jge 0x517e8e
fild dword [ebp - 0x58]
call fcn.0040762c
mov dword [ebp - 0x38], eax
mov eax, dword [0x53388c]
add eax, dword [0x533884]
mov dword [0x5339f8], eax
mov eax, dword [0x5338c4]
add eax, 0x88
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
call fcn.0040762c
mov dword [0x5338a4], eax
mov eax, dword [0x533a10]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x517ed1
mov eax, dword [ebp - 0x7c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0xf
jne 0x517ee6
mov eax, dword [0x53395c]
add eax, 0x85
mov dword [0x53393c], eax
mov eax, dword [0x533a00]
add eax, 0x81
mov dword [0x5339e8], eax
mov eax, dword [ebp - 8]
inc dword [eax]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x53390c]
add eax, 0x4f
cmp eax, dword [0x53390c]
jge 0x517f19
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x5338bc]
mov dword [0x53398c], eax
mov eax, dword [0x5339ac]
call fcn.004071f4
mov dword [0x5339ac], eax
mov eax, dword [ebp - 0x6c]
sub eax, 0x12
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x54]
add eax, 0x6e
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
call fcn.0040762c
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x53386c
lea eax, [ebp - 0x58]
push eax
mov ecx, 0x5338dc
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x5c]
call fcn.004ff2b0
mov eax, dword [0x533a00]
mov dword [0x5338cc], eax
mov eax, dword [0x5338dc]
call fcn.004071f4
mov dword [0x5338dc], eax
mov eax, dword [0x5338cc]
cmp eax, dword [0x5338dc]
jle 0x517fa3
fild dword [ebp - 0x38]
call fcn.00407638
mov dword [ebp - 0x3c], eax
jmp 0x517fb7
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x18]
call fcn.0040a01c
mov eax, dword [ebp - 0x48]
add eax, 0xdf
mov dword [ebp - 0x5c], eax
fild dword [ebp - 0x70]
call fcn.00407638
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 9
jge 0x518027
inc dword [ebp - 0x6c]
mov eax, dword [0x5339d0]
mov dword [0x533864], eax
mov eax, dword [0x5338cc]
cmp eax, dword [0x533864]
jle 0x518017
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [0x533a30]
mov edx, dword [ebp - 0x60]
mov eax, dword [0x5339ac]
call fcn.004fac14
jmp 0x518021
mov eax, dword [0x53386c]
mov dword [0x5338ec], eax
cmp dword [ebp - 0x6c], 9
jl 0x517fd8
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51804f
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00409c54
ret