Function at 0x519430
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc4
mov eax, dword [0x76ba40]
test eax, eax
push ebx
push esi
push edi
mov esi, ecx
je 0x519465
test dword [esi + 4], 0x60000000
je 0x519465
mov eax, dword [ebp + 8]
push eax
call fcn.0051d0d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea edi, [esi + 0x1010]
mov ebx, 4
mov ecx, edi
call fcn.004c65b0
add edi, 0xd0
dec ebx
jne 0x519470
cmp dword [esi + 0xd68], 3
jne 0x519492
push 1
mov ecx, esi
call fcn.004f8410
mov eax, dword [esi + 0x204]
mov edi, dword [ebp + 8]
or ebx, 0xffffffff
cmp eax, ebx
je 0x519582
cmp dword [esi + 0x208], ebx
jne 0x519582
mov eax, dword [esi + 4]
test ah, 0x20
jne 0x519582
mov ecx, dword [esi + 0x204]
cmp ecx, ebx
je 0x519582
mov eax, dword [0x725b2c]
cmp eax, ebx
je 0x519582
sub eax, ecx
cmp eax, ebx
je 0x519582
cmp eax, 0xe
sbb al, al
inc al
je 0x519582
mov eax, dword [edi + 0xc]
test al, 1
jne 0x519503
test al, 2
jne 0x519503
test al, 4
jne 0x519503
test al, 8
je 0x519582
cmp byte [esi + 9], 3
je 0x519513
mov al, byte [esi + 0xbd9]
test al, al
je 0x519582
mov ecx, esi
call fcn.004f1f40
test al, al
jne 0x519582
mov ecx, esi
call fcn.004f2850
test al, al
jne 0x519582
mov ecx, esi
call fcn.00507e70
test al, al
jne 0x519582
mov ecx, esi
call fcn.004f2780
test al, al
jne 0x519582
mov ecx, esi
call fcn.004f27b0
test al, al
jne 0x519582
mov ecx, esi
call fcn.00419850
test al, al
jne 0x519576
mov ecx, esi
call fcn.00419810
test al, al
je 0x51956b
mov ecx, esi
call fcn.00419830
test al, al
je 0x519576
mov ecx, esi
call fcn.00419870
test al, al
je 0x519582
push 1
push 0
push esi
mov ecx, esi
call fcn.005107b0
push edi
mov ecx, esi
call fcn.0050f1b0
mov ax, word [esi + 0x80]
cmp ax, 0xe3
je 0x5195b0
cmp ax, 0xe4
je 0x5195b0
cmp ax, 0xe6
je 0x5195b0
cmp ax, 0xe7
je 0x5195b0
mov ecx, esi
call fcn.004f6770
mov ecx, esi
call fcn.0050dc40
mov ecx, dword [esi + 0xb50]
test ecx, ecx
lea edi, [esi + 0xb50]
je 0x519772
cmp byte [esi + 9], 3
jne 0x519772
mov eax, dword [esi + 0xb48]
test eax, eax
je 0x51993c
cmp eax, 1
je 0x51993c
cmp eax, 2
je 0x51993c
cmp eax, 3
je 0x51993c
cmp eax, 4
je 0x51993c
cmp eax, 5
je 0x51993c
cmp eax, 7
je 0x51993c
mov al, byte [esi + 0xbd7]
test al, al
je 0x519779
movaps xmm0, xmmword [esi + 0x40]
lea edx, [esp + 0x30]
push edx
movaps xmmword [esp + 0x24], xmm0
call fcn.005ef730
mov ecx, eax
call fcn.005efd30
fld dword [0x69087c]
movaps xmm0, xmmword [eax]
fmul dword [0x69087c]
subps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x5196d6
mov ecx, esi
call fcn.004f29f0
test al, al
je 0x5196b6
fld dword [esi + 0xb4c]
fcomp dword [0x68b880]
fnstsw ax
test ah, 5
mov eax, 0x63
jnp 0x5196a6
mov eax, 0x64
push 1
push 0
push ebx
push ebx
push 0xa
push eax
mov ecx, esi
call fcn.004f43b0
push 0
push 1
mov ecx, esi
call fcn.004f8fb0
push 0
mov ecx, edi
mov byte [esi + 0xbd7], 0
call fcn.00401a50
jmp 0x519779
movaps xmm0, xmmword [esi + 0x40]
mov ecx, dword [edi]
lea eax, [esp + 0x30]
push eax
movaps xmmword [esp + 0x24], xmm0
call fcn.005ef730
mov ecx, eax
call fcn.005efd30
fld dword [0x690880]
movaps xmm0, xmmword [eax]
fmul dword [0x690880]
subps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x519779
mov ecx, esi
call fcn.004f29f0
test al, al
je 0x519772
cmp word [esi + 0x80], 0xad
je 0x519772
fld dword [esi + 0xb4c]
fcomp dword [0x68b880]
fnstsw ax
test ah, 5
mov eax, 0xad
jnp 0x519762
mov eax, 0xb2
push 1
push 0
push ebx
push ebx
push 0xa
push eax
mov ecx, esi
call fcn.004f43b0
mov byte [esi + 0xbd7], 0
mov eax, dword [ebp + 8]
movaps xmm0, xmmword [eax + 0xb0]
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
mov dword [esi + 0xb4c], ecx
push eax
mov ecx, esi
call fcn.0050ba90
mov ax, word [esi + 0x80]
cmp ax, 0x92
je 0x5197de
cmp ax, 0x93
jne 0x519a88
mov ecx, dword [esi + 0xe60]
test ecx, ecx
je 0x519a88
fld dword [esi + 0x90]
mov eax, dword [ecx + 0x1f0]
test eax, eax
fsub dword [esi + 0x8c]
fstp dword [esp + 0x18]
je 0x519a1a
fild dword [eax + 8]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
jnp 0x519a1a
mov edx, dword [ecx + 0x1f0]
fild dword [edx + 8]
lea eax, [esi + 0xcb0]
push eax
lea edx, [esp + 0x94]
fdivr dword [esp + 0x1c]
push edx
lea eax, [esp + 0x48]
push eax
fstp dword [esp + 0x28]
call fcn.005efd90
mov ecx, eax
call fcn.006020a0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x40]
push ecx
push edx
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x3c]
lea edi, [esi + 0x10]
call fcn.00603e20
push eax
push edi
lea ecx, [esp + 0x90]
call fcn.00603e20
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.00604050
add esp, 0x10
mov ecx, eax
call fcn.00600120
fld dword [0x68b500]
fsub dword [esp + 0x1c]
movaps xmm0, xmmword [esp + 0x40]
mov eax, dword [esp + 0x1c]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [esp + 0x50]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x60]
movaps xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x40]
fstp dword [esp + 0x18]
lea edx, [esp + 0x18]
movss xmm1, dword [edx]
shufps xmm1, xmm1, 0
mulps xmm0, xmm1
movaps xmm2, xmm0
movaps xmm0, xmmword [esp + 0xc0]
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], eax
movss xmm1, dword [ecx]
shufps xmm1, xmm1, 0
mulps xmm0, xmm1
movss xmm1, dword [0x68b500]
movss dword [esp + 0x20], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x24], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x28], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x2c], xmm1
movaps xmm1, xmmword [esp + 0x20]
addps xmm0, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmmword [edi + 0x30], xmm0
jmp 0x519c42
movaps xmm0, xmmword [esi + 0x40]
lea edx, [esp + 0x30]
push edx
movaps xmmword [esp + 0x24], xmm0
call fcn.005ef730
mov ecx, eax
call fcn.005efd30
fld dword [0x690880]
movaps xmm0, xmmword [eax]
fmul dword [0x690880]
subps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x519779
mov ecx, esi
call fcn.004f29f0
test al, al
je 0x5199cf
fld dword [esi + 0xb4c]
fcomp dword [0x68b880]
fnstsw ax
test ah, 5
mov eax, 0x63
jnp 0x5199bf
mov eax, 0x64
push 1
push 0
push ebx
push ebx
push 0xa
push eax
mov ecx, esi
call fcn.004f43b0
mov ecx, esi
call fcn.004fa390
mov byte [esi + 0xbd7], 0
mov eax, dword [edi]
test eax, eax
je 0x519779
xor ecx, ecx
mov cx, word [eax + 0xa]
test cx, cx
lea edx, [ecx - 1]
mov word [eax + 0xa], dx
jne 0x519a0f
mov eax, dword [eax + 0x5c]
push 0xae
push str.....LuxEngine2Object.h
push eax
call fcn.00620150
add esp, 0xc
mov dword [edi], 0
jmp 0x519779
lea edx, [esi + 0xcb0]
push edx
lea eax, [esp + 0x44]
push eax
lea edx, [esp + 0x98]
push edx
call fcn.005efd90
mov ecx, eax
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0x30], xmm0
movaps xmm0, xmmword [eax + 0x30]
xor eax, eax
movaps xmmword [esi + 0x40], xmm0
cmp word [esi + 0x80], 0x92
push 1
push 0
setne al
push ebx
push ebx
push 0x14
mov ecx, esi
add eax, 0x94
push eax
call fcn.004f43b0
and dword [esi + 4], 0xfffffeff
jmp 0x519c42
cmp ax, 0x8e
jne 0x519b8a
mov ecx, dword [esi + 0xe60]
test ecx, ecx
je 0x519b8a
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call fcn.005efd30
mov ecx, dword [esi + 0xe60]
lea edx, [esp + 0x40]
push edx
mov edi, eax
call fcn.005efd30
movaps xmm0, xmmword [eax]
movaps xmm1, xmmword [edi]
subps xmm0, xmm1
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
movss xmm1, dword [eax]
unpcklps xmm1, xmm0
shufps xmm1, xmm0, 0xe1
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm4, xmm0
movaps xmm3, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm2, xmm0
shufps xmm3, xmm0, 0xaa
addss xmm2, xmm4
addss xmm2, xmm3
movaps xmmword [esp + 0x20], xmm2
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x80], xmm1
fnstsw ax
test ah, 0x41
jne 0x519b5a
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x20], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x20]
shufps xmm0, xmm0, 0
mulps xmm1, xmm0
movaps xmmword [esp + 0x20], xmm1
lea eax, [esp + 0x20]
jmp 0x519b61
lea eax, [esp + 0x80]
fld dword [0x725b3c]
movaps xmm0, xmmword [eax]
fmul dword [0x6c022c]
push ecx
lea ecx, [esp + 0x34]
movaps xmmword [esp + 0x34], xmm0
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.005f0540
jmp 0x519c42
cmp ax, 0xc7
jb 0x519c42
cmp ax, 0xcf
ja 0x519c42
cmp dword [edi], 0
je 0x519c42
mov ecx, dword [esi + 0x17a0]
test ecx, ecx
je 0x519c42
cmp ecx, 1
mov edx, dword [0x6f2234]
jne 0x519be0
mov eax, dword [esi + 0x200]
mov eax, dword [eax + 8]
test eax, eax
je 0x519be0
cmp word [eax], 0xcc
jne 0x519c3c
test dword [edx + 0x458], 0x1000
ja 0x519c3c
cmp ecx, 2
jne 0x519c05
mov eax, dword [esi + 0x200]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x519c05
cmp word [eax], 0xc8
jne 0x519c3c
test dword [edx + 0x458], 0x800
ja 0x519c3c
cmp ecx, 4
jne 0x519c2a
mov eax, dword [esi + 0x200]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x519c2a
cmp word [eax], 0xc9
jne 0x519c3c
test dword [edx + 0x458], 0x400
ja 0x519c3c
cmp ecx, 3
jne 0x519c42
mov ecx, dword [esi + 0x200]
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x519c42
mov dword [esi + 0x200], eax
xor ebx, ebx
cmp word [esi + 0x80], 0xe8
jne 0x519d4a
cmp dword [esi + 0xd58], ebx
je 0x519d4a
push 0x1f
mov ecx, esi
call fcn.005ef7a0
mov edi, eax
cmp edi, ebx
je 0x519d67
fld dword [0x725b3c]
movaps xmm0, xmmword [edi + 0x30]
fmul dword [0x693a7c]
push ecx
mov ecx, dword [esi + 0xd58]
lea edx, [esp + 0x34]
fstp dword [esp]
push edx
movaps xmmword [esp + 0x38], xmm0
call fcn.005f0540
fld dword [esi + 0x90]
fsub dword [esi + 0x8c]
fmul dword [0x68b62c]
fst dword [esp + 0x1c]
fcomp dword [0x68b62c]
fnstsw ax
test ah, 0x41
jne 0x519cd9
fld dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x68b500]
fnstsw ax
test ah, 5
jp 0x519ce5
fstp dword [esp + 0x18]
jmp 0x519cef
fld dword [0x68b62c]
fstp dword [esp + 0x18]
jmp 0x519cef
fstp st(0)
mov dword [esp + 0x18], 0x3f800000
lea eax, [esp + 0x40]
push eax
mov ecx, edi
call fcn.005efd30
lea ecx, [esp + 0x90]
push ecx
mov ecx, dword [esi + 0xd58]
mov edi, eax
call fcn.005efd30
movaps xmm1, xmmword [eax]
mov edx, dword [esp + 0x18]
movaps xmm0, xmmword [edi]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], edx
movss xmm2, dword [eax]
subps xmm0, xmm1
lea ecx, [esp + 0x30]
shufps xmm2, xmm2, 0
mulps xmm0, xmm2
push ecx
mov ecx, dword [esi + 0xd58]
addps xmm1, xmm0
movaps xmmword [esp + 0x34], xmm1
call fcn.00401bc0
jmp 0x519d67
mov ecx, dword [esi + 0xd58]
cmp ecx, ebx
je 0x519d67
mov eax, dword [ecx + 4]
test eax, eax
js 0x519d61
push ebx
call fcn.005b7e10
mov dword [esi + 0xd58], ebx
mov edi, dword [0x725b2c]
cmp edi, dword [esi + 0x13bc]
jle 0x51a167
cmp dword [esi + 0xb48], ebx
jne 0x51a167
mov ecx, esi
call fcn.00507e10
test al, al
jne 0x519dad
mov ax, word [esi + 0x80]
cmp ax, 0x63
je 0x519dad
cmp ax, 0x64
je 0x519dad
cmp ax, 0x65
jne 0x51a167
mov eax, dword [0x725c34]
mov ebx, dword [eax]
xor ecx, ecx
cmp ebx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
je 0x51a130
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x519e4c
mov eax, dword [edi]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x40], 0x57
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
je 0x519e4c
lea edx, [esp + 0x40]
push edx
push 0xb
push edi
call eax
add esp, 0xc
test eax, eax
je 0x519e4c
movaps xmm1, xmmword [esi + 0x40]
movaps xmm0, xmmword [edi + 0x40]
subps xmm0, xmm1
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fcomp dword [0x68b604]
fnstsw ax
test ah, 5
jp 0x519e4c
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x519ef4
mov eax, dword [edi]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x90], 0x56
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ecx
je 0x519ef4
lea ecx, [esp + 0x90]
push ecx
push 0xb
push edi
call eax
add esp, 0xc
test eax, eax
je 0x519ef4
movaps xmm1, xmmword [esi + 0x40]
movaps xmm0, xmmword [edi + 0x40]
subps xmm0, xmm1
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x80], xmm0
fld dword [esp + 0x80]
fcomp dword [0x68b604]
fnstsw ax
test ah, 5
jp 0x519ef4
mov dword [esp + 0x18], edi
mov eax, ebx
mov ebx, dword [ebx]
test ebx, ebx
jne 0x519dc6
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x51a009
call fcn.005f2010
push ebx
cdq
push 0x28
push edx
push eax
call fcn.00671a00
push ebx
push bind
push edx
push eax
call fcn.00671360
test eax, eax
jne 0x51a009
mov edx, dword [0x725b2c]
sub edx, dword [esi + 0x13b4]
cmp edx, 0x78
jle 0x51a009
mov eax, dword [esp + 0x1c]
movaps xmm1, xmmword [eax + 0x40]
movaps xmm4, xmmword [eax + 0x30]
movaps xmm5, xmmword [esi + 0x40]
movaps xmm0, xmm1
subps xmm0, xmm5
mulps xmm0, xmm4
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 5
jp 0x51a009
movaps xmm0, xmmword [esi + 0x30]
mulps xmm0, xmm4
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 5
jp 0x51a009
subps xmm1, xmm5
movaps xmm0, xmm1
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fcomp dword [0x68b8b0]
fnstsw ax
test ah, 0x41
jne 0x51a009
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x51a009
push ebx
push 4
mov ecx, 0x6ddda8
call fcn.00486ae0
mov edi, dword [esp + 0x18]
test edi, edi
je 0x51a11c
call fcn.005f2010
push 0
cdq
push 0x28
push edx
push eax
call fcn.00671a00
push 0
push bind
push edx
push eax
call fcn.00671360
test eax, eax
jne 0x51a110
mov eax, dword [0x725b2c]
sub eax, dword [esi + 0x13b8]
cmp eax, 0x78
jle 0x51a110
movaps xmm1, xmmword [edi + 0x40]
movaps xmm5, xmmword [esi + 0x40]
movaps xmm4, xmmword [edi + 0x30]
movaps xmm0, xmm1
subps xmm0, xmm5
mulps xmm0, xmm4
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 5
jp 0x51a110
movaps xmm0, xmmword [esi + 0x30]
mulps xmm0, xmm4
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 5
jp 0x51a110
subps xmm1, xmm5
movaps xmm0, xmm1
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fcomp dword [0x68b8b0]
fnstsw ax
test ah, 0x41
jne 0x51a110
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x51a110
push 0
push 3
mov ecx, 0x6ddda8
call fcn.00486ae0
mov ecx, dword [0x725b2c]
mov dword [esi + 0x13b8], ecx
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x51a130
mov edx, dword [0x725b2c]
mov dword [esi + 0x13b4], edx
call fcn.005f2010
push 0
cdq
push 6
push edx
push eax
call fcn.00671a00
push 0
push bind
push edx
push eax
call fcn.00671360
mov ecx, dword [0x725b2c]
lea edx, [eax + ecx + 0xc]
mov dword [esi + 0x13bc], edx
mov edi, dword [0x725b2c]
xor ebx, ebx
cmp word [esi + 0x80], 0x8f
jne 0x51a2dd
cmp dword [0x6dddc8], ebx
jne 0x51a2dd
sub edi, dword [0x6de114]
cmp edi, 0x3c
jle 0x51a2dd
mov eax, dword [esi + 0xe60]
cmp eax, ebx
je 0x51a25d
mov dword [esp + 0x40], 0x59e9
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov ecx, dword [eax]
cmp ecx, ebx
je 0x51a25d
lea edx, [esp + 0x40]
push edx
push 0xb
push eax
call ecx
add esp, 0xc
cmp eax, ebx
mov eax, dword [0x6dddc8]
je 0x51a259
cmp eax, ebx
jne 0x51a232
mov eax, dword [esi + 0xe60]
push ebx
push eax
push ecx
mov eax, esp
mov dword [eax], ebx
push ecx
mov eax, esp
mov dword [eax], ebx
push ecx
mov eax, esp
push ecx
mov dword [eax], ebx
mov eax, esp
push ecx
mov dword [eax], ebx
mov eax, esp
push ecx
mov dword [eax], ebx
mov eax, esp
push ebx
push 0x55
lea ecx, [esp + 0x68]
mov dword [eax], ebx
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
neg eax
sbb eax, eax
add eax, 0xa
push eax
mov ecx, 0x6ddda8
call fcn.00486ae0
mov ecx, dword [esi + 0xe60]
push ecx
call fcn.00419f70
add esp, 4
test al, al
jne 0x51a2dd
mov eax, dword [0x6f2234]
inc dword [eax + 0x3bc]
jmp 0x51a2dd
cmp eax, ebx
jne 0x51a2b1
mov eax, dword [esi + 0xe60]
mov dword [esp + 0x40], 0x55
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov ecx, dword [eax]
cmp ecx, ebx
push ebx
je 0x51a29d
lea edx, [esp + 0x44]
push edx
push 0xb
push eax
call ecx
add esp, 0xc
jmp 0x51a29f
xor eax, eax
neg eax
sbb eax, eax
add eax, 8
push eax
mov ecx, 0x6ddda8
call fcn.00486ae0
mov eax, dword [esi + 0xe60]
cmp eax, ebx
je 0x51a2dd
mov eax, dword [eax]
cmp eax, 0x4192c0
je 0x51a2dd
cmp eax, 0x42a860
je 0x51a2dd
cmp eax, 0x43d5f0
je 0x51a2dd
mov eax, dword [0x6f2234]
inc dword [eax + 0x3c0]
cmp byte [esi + 9], 8
je 0x51a2ee
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.005177e0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0xb50]
shr edx, 0x10
and dl, 1
cmp ecx, ebx
mov byte [esi + 0xbd5], dl
jne 0x51a32f
push 0xd0000000
push 1
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.005efd30
push eax
mov ecx, esi
call fcn.004f8720
mov ecx, eax
cmp ecx, ebx
je 0x51a42f
cmp byte [ecx + 8], 1
jne 0x51a349
lea edx, [esp + 0x40]
push edx
push 0x14
mov dword [esi + 0xae4], ecx
call fcn.005ef7a0
jmp 0x51a359
lea eax, [esp + 0x40]
push eax
mov dword [esi + 0xae4], ebx
call fcn.005ef730
mov ecx, eax
call fcn.005efd30
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0xaf0], xmm0
cmp byte [esi + 9], 3
mov ecx, esi
jne 0x51a425
mov dword [esi + 0x8e0], 2
call fcn.004198b0
test al, al
je 0x51a3a5
mov ecx, esi
call fcn.004f2a30
test al, al
jne 0x51a3a5
mov al, byte [esi + 0xbd7]
test al, al
je 0x51a3a5
push 3
jmp 0x51a430
mov di, word [esi + 0x80]
cmp di, 0xe9
jb 0x51a3d6
cmp di, 0xed
ja 0x51a3d6
cmp di, 0xea
je 0x51a3d6
cmp di, 0xeb
je 0x51a3d6
mov al, byte [esi + 0xbd7]
test al, al
je 0x51a3d6
push 1
jmp 0x51a430
mov ecx, esi
call fcn.004f2220
test al, al
jne 0x51a42f
mov ecx, esi
call fcn.004f2360
test al, al
jne 0x51a42f
cmp di, 0xe3
je 0x51a42f
cmp di, 0xe4
je 0x51a42f
cmp di, 0xe6
je 0x51a42f
cmp di, 0xe7
je 0x51a42f
cmp di, 0xea
je 0x51a42f
cmp di, 0xeb
je 0x51a42f
mov ecx, esi
call fcn.00419790
test al, al
jne 0x51a42f
push 2
jmp 0x51a430
mov dword [esi + 0x8e0], ebx
push 1
jmp 0x51a432
push ebx
mov ecx, esi
call fcn.004f1b70
mov ecx, esi
call fcn.004f76b0
mov ecx, esi
call fcn.004f2850
test al, al
jne 0x51a489
mov ax, word [esi + 0x80]
cmp ax, 0x7e
je 0x51a489
cmp ax, 0x81
je 0x51a489
cmp ax, 0x80
je 0x51a489
cmp ax, 0x83
je 0x51a489
cmp ax, 0x84
je 0x51a489
cmp ax, 0x85
je 0x51a489
cmp ax, 0x7f
je 0x51a489
cmp ax, 0x82
je 0x51a489
mov ecx, esi
call fcn.0050ae20
jmp 0x51a4eb
mov ax, word [esi + 0x80]
cmp ax, 0xfd
je 0x51a4a2
cmp ax, 0xfe
je 0x51a4a2
cmp ax, 0xff
jne 0x51a4ab
mov ecx, esi
call fcn.0050b8d0
jmp 0x51a4eb
cmp ax, 0x7e
je 0x51a4db
cmp ax, 0x81
je 0x51a4db
cmp ax, 0x80
je 0x51a4db
cmp ax, 0x83
je 0x51a4db
cmp ax, 0x84
je 0x51a4db
cmp ax, 0x85
je 0x51a4db
cmp ax, 0x7f
je 0x51a4db
cmp ax, 0x82
jne 0x51a4e4
cmp dword [esi + 0x19a0], 3
je 0x51a4eb
mov ecx, esi
call fcn.0050b150
mov ecx, dword [esi + 0xb50]
cmp ecx, ebx
je 0x51a671
mov eax, dword [esi + 0x460]
test eax, eax
lea ebx, [esi + 0x250]
je 0x51a513
cmp eax, 2
je 0x51a513
cmp eax, 1
jne 0x51a533
mov eax, dword [esi + 0x680]
test eax, eax
je 0x51a671
cmp eax, 2
je 0x51a671
cmp eax, 1
je 0x51a671
mov ax, word [esi + 0x80]
cmp ax, 0x86
je 0x51a671
cmp ax, 0x88
je 0x51a671
cmp ax, 0x8b
je 0x51a671
cmp ax, 0x89
je 0x51a671
cmp ax, 0x120
je 0x51a671
cmp ax, 0x8a
je 0x51a671
mov ax, word [esi + 0xe40]
cmp ax, 0x89
je 0x51a671
cmp ax, 0x88
je 0x51a671
mov eax, dword [esi + 0xb54]
xor edi, edi
test eax, eax
je 0x51a5bd
mov dl, byte [esi + 0xddf]
test dl, dl
je 0x51a5bd
push 0x14
mov ecx, eax
mov edi, 1
call fcn.005ef7a0
mov ecx, dword [esi + 0xb54]
jmp 0x51a5ca
push 0x14
call fcn.005ef7a0
mov ecx, dword [esi + 0xb50]
test eax, eax
je 0x51a5dc
lea edx, [esp + 0x40]
push edx
push 0x14
call fcn.005ef7a0
jmp 0x51a5e9
lea eax, [esp + 0x90]
push eax
call fcn.005ef730
mov ecx, eax
call fcn.005efd30
lea ecx, [esi + 0x470]
push eax
call fcn.004ea190
mov ecx, dword [esi + 0xb54]
test ecx, ecx
je 0x51a640
mov al, byte [esi + 0xddf]
test al, al
je 0x51a640
test edi, edi
jne 0x51a640
push 0x14
call fcn.005ef7a0
mov ecx, dword [esi + 0xb54]
test eax, eax
je 0x51a655
lea edx, [esp + 0x40]
push edx
push 0x14
call fcn.005ef7a0
mov ecx, eax
call fcn.005efd30
push eax
mov ecx, ebx
jmp 0x51a76b
mov ecx, dword [esi + 0xb50]
push 0x14
call fcn.005ef7a0
mov ecx, dword [esi + 0xb50]
jmp 0x51a621
lea eax, [esp + 0x90]
push eax
call fcn.005ef730
mov ecx, eax
call fcn.005efd30
push eax
mov ecx, ebx
jmp 0x51a76b
movaps xmm0, xmmword [0x6c0210]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esi + 0x254]
movaps xmmword [esp + 0x34], xmm0
call fcn.005efd90
movaps xmm0, xmmword [esp + 0x30]
movaps xmm1, xmmword [eax + 0x30]
movaps xmm3, xmmword [eax + 0x20]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
mulps xmm3, xmm2
movaps xmm2, xmmword [eax + 0x10]
addps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [eax]
lea edx, [esp + 0x80]
addps xmm2, xmm3
mulps xmm0, xmm1
addps xmm0, xmm2
push edx
lea ecx, [esi + 0x250]
movaps xmmword [esp + 0x84], xmm0
call fcn.004ea190
fld dword [0x6c0218]
fchs
lea eax, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm0, dword [eax]
movaps xmm1, xmm0
movaps xmm0, xmmword [0x6c0210]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esi + 0x474]
shufps xmm0, xmm1, 4
movaps xmmword [esp + 0x34], xmm0
call fcn.005efd90
movaps xmm0, xmmword [esp + 0x30]
movaps xmm1, xmmword [eax + 0x30]
movaps xmm3, xmmword [eax + 0x20]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
mulps xmm3, xmm2
movaps xmm2, xmmword [eax + 0x10]
addps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [eax]
addps xmm2, xmm3
mulps xmm0, xmm1
lea edx, [esp + 0x80]
addps xmm0, xmm2
movaps xmmword [esp + 0x80], xmm0
push edx
lea ecx, [esi + 0x470]
call fcn.004ea190
mov eax, dword [ebp + 8]
movaps xmm0, xmmword [eax + 0xc0]
pop edi
movaps xmmword [esi + 0xc50], xmm0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4