Function at 0x510d40
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x542a48
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
mov eax, dword [0x582be0]
mov ecx, dword [0x582be4]
push ebx
mov ebx, dword [esp + 0x54]
push ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebx + 0xc]
push esi
cmp edx, eax
push edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], ecx
je 0x510e7d
fld dword [ebp + 8]
fsub dword [ebx + 8]
fabs
fcomp dword [0x548ebc]
fnstsw ax
test ah, 1
je 0x510e7d
fld dword [ebx + 4]
fsub dword [ebp + 4]
fld dword [ebx]
fsub dword [ebp]
fst dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld st(1)
mov dword [esp + 0x14], eax
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fxch st(1)
fchs
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x20]
lea edx, [esp + 0x1c]
push ecx
push edx
mov dword [esp + 0x28], eax
call fcn.004f8150
mov eax, dword [ebp + 0xc]
add esp, 8
cmp eax, 2
jne 0x510e1c
fld dword [ebp + 8]
fchs
fstp dword [esp + 0x5c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x5c]
fld dword [esp + 0x20]
fmul dword [esp + 0x5c]
jmp 0x510e33
mov eax, dword [ebp + 8]
mov dword [esp + 0x5c], eax
fld dword [esp + 0x5c]
fmul dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul dword [esp + 0x5c]
fld st(0)
fadd dword [ebp + 4]
fld st(2)
fadd dword [ebp]
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
fadd dword [ebx + 4]
mov dword [esp + 0x28], edx
fstp dword [esp + 0x5c]
mov eax, dword [esp + 0x5c]
fadd dword [ebx]
mov edx, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], edx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
jmp 0x510fb7
mov ecx, 6
mov esi, ebx
lea edi, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
fld dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
cmp edx, ecx
jne 0x510e9b
fadd dword [ebp + 8]
jmp 0x510ec4
fsub dword [ebp + 8]
fst dword [esp + 0x3c]
fcomp dword [0x545374]
fnstsw ax
test ah, 1
je 0x510ec8
mov ecx, dword [ecx*4 + 0x54919c]
fld dword [esp + 0x3c]
fmul dword [0x545318]
mov dword [esp + 0x40], ecx
fstp dword [esp + 0x3c]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x34]
push eax
push ebp
call fcn.00519bd0
test al, al
jne 0x510eee
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
fld dword [esp + 0x20]
fsub dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0xc]
cmp edx, eax
fst dword [esp + 0x5c]
fld dword [esp + 0x1c]
fsub dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x20], ecx
fst dword [esp + 0x14]
fst dword [esp + 0x10]
je 0x510f37
fstp st(0)
fld dword [esp + 0x10]
fmul dword [0x545318]
fld dword [esp + 0x5c]
fmul dword [0x545318]
fstp dword [esp + 0x20]
fld dword [ebx + 8]
fdiv dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
fstp dword [esp + 0x5c]
fmul dword [esp + 0x5c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul dword [esp + 0x5c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fadd dword [ebp + 4]
fld dword [esp + 0x1c]
fadd dword [ebp]
fstp dword [esp + 0x5c]
fsubrp st(1)
fld dword [esp + 0x5c]
fsub dword [esp + 0x14]
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
fstp dword [esp + 0x18]
fld dword [esp + 0x20]
fadd dword [ebx + 4]
fld dword [esp + 0x1c]
fadd dword [ebx]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
push esi
lea eax, [esp + 0x28]
push edx
push eax
mov ecx, ebp
call fcn.00519cf0
lea ecx, [esp + 0x5c]
mov dword [esp + 0x54], 0
push ecx
lea ecx, [esp + 0x64]
call fcn.004da170
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x30]
push eax
push ecx
mov ecx, ebx
mov byte [esp + 0x60], 2
call fcn.00519cf0
mov edx, dword [esp + 0x60]
push ecx
mov eax, esp
lea ecx, [esp + 0x70]
mov dword [eax], edx
call fcn.0051a030
push ecx
mov ecx, dword [esp + 0x64]
mov eax, esp
mov ecx, dword [ecx]
mov dword [eax], ecx
lea ecx, [esp + 0x68]
call fcn.0051a030
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
cmp eax, ecx
je 0x511059
mov eax, dword [eax + 4]
add eax, 8
push eax
push ecx
push esp
mov ecx, esi
call fcn.00513c50
lea edx, [esp + 0x70]
mov ecx, esi
push edx
call fcn.00421aa0
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 4]
mov dword [esp + 0x6c], ecx
jmp 0x511010
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], 3
mov esi, dword [eax]
cmp esi, eax
je 0x511083
mov eax, esi
mov esi, dword [esi]
push 1
push eax
lea ecx, [esp + 0x68]
call fcn.004fdfd0
mov eax, dword [esp + 0x60]
cmp esi, eax
jne 0x51106b
mov dword [eax], eax
mov eax, dword [esp + 0x60]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x51109d
push eax
call fcn.005265a0
add esp, 4
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
mov al, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x48
ret