Function at 0x519c70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov al, byte [0x689421]
sub esp, 0x90
push ebx
xor ebx, ebx
cmp al, bl
je 0x51a0cb
cmp byte [0x69c698], bl
jne 0x51a0cb
cmp byte [0x69c69a], bl
jne 0x51a0cb
cmp dword [0x7c0d2c], 0xffff0101
jb 0x51a0cb
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push esi
mov esi, dword [0x69d39c]
push esi
push ebx
push eax
call dword [ecx + 0x94]
mov edx, dword [esi]
lea eax, [esp + 0x78]
push eax
push esi
mov word [0x69d360], 2
call dword [edx + 0x30]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov eax, dword [0x71d09c]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0x3f800000
mov ecx, dword [eax]
push eax
call dword [ecx + 0xbc]
xor eax, eax
call fcn.005193b0
cmp byte [0x71d0d9], bl
je 0x51a09c
mov edx, dword [0x6e1a18]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x15c]
mov dl, byte [0x69c690]
mov esi, dword [0x6e1a20]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
neg dl
sbb edx, edx
and edx, 0x10
or edx, esi
and edx, 0x10
push edx
push eax
call dword [ecx + 0x134]
mov edx, dword [0x69e478]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x170]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x1ac]
mov ecx, dword [0x69d38c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push ecx
push ebx
push eax
call dword [edx + 0x104]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 3
push 1
push ebx
push eax
call dword [edx + 0x114]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 3
push 2
push ebx
push eax
call dword [ecx + 0x114]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 2
push 5
push ebx
push eax
call dword [edx + 0x114]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 2
push 6
push ebx
push eax
call dword [ecx + 0x114]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 1
push 7
push ebx
push eax
call dword [edx + 0x114]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 3
push 0x16
push eax
call dword [ecx + 0xe4]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 7
push 0xa8
push eax
call dword [edx + 0xe4]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push ebx
push 0x1b
push eax
call dword [ecx + 0xe4]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push ebx
push 0xf
push eax
call dword [edx + 0xe4]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push ebx
push 7
push eax
call dword [ecx + 0xe4]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push ebx
push 0x1c
push eax
call dword [edx + 0xe4]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 2
push 1
push ebx
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 2
push 2
push ebx
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 2
push 4
push ebx
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 2
push 5
push ebx
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 1
push 1
push 1
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 1
push 4
push 1
push eax
call dword [edx + 0x10c]
mov ax, word [0x7c0dfa]
sub ax, word [0x7c0df6]
mov ecx, dword [0x7c0df8]
movsx eax, ax
mov dword [esp + 8], eax
sub ecx, dword [0x7c0df4]
fild dword [esp + 8]
fstp dword [esp + 0xc]
fld dword [0x672afc]
fdiv dword [esp + 0xc]
fld st(0)
fadd st(1)
fstp dword [esp + 0x28]
movsx ecx, cx
fld dword [0x672be0]
mov dword [esp + 8], ecx
fsub st(1)
mov eax, dword [0x71d09c]
push 5
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x38]
push ecx
push 0xd
fstp st(0)
mov dword [esp + 0x38], ebx
fild dword [esp + 0x14]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], ebx
fstp dword [esp + 0x14]
mov dword [esp + 0x54], ebx
fld dword [0x672afc]
mov dword [esp + 0x58], ebx
fdiv dword [esp + 0x14]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], 0x3f000000
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], 0x3f800000
mov dword [esp + 0x74], 0x3f800000
mov dword [esp + 0x78], 0x3f800000
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], 0x3f800000
push eax
fld dword [0x672be8]
fmul st(1)
fstp dword [esp + 0x4c]
fadd dword [0x672afc]
fstp dword [esp + 0x54]
mov edx, dword [eax]
call dword [edx + 0x178]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
push 0x18
push 0x6d97a0
mov eax, edx
mov dword [0x6d97b8], edx
push 2
mov dword [0x6d97d0], eax
mov eax, dword [0x71d09c]
mov edx, ecx
push 6
mov dword [0x6d97ac], ebx
mov dword [0x6d97b0], ebx
mov dword [0x6d97b4], ebx
mov dword [0x6d97a0], ebx
mov dword [0x6d97a4], ebx
mov dword [0x6d97c4], ebx
mov dword [0x6d97c8], 0x3f800000
mov dword [0x6d97cc], ebx
mov dword [0x6d97bc], ebx
mov dword [0x6d97dc], ebx
mov dword [0x6d97e0], 0x3f800000
mov dword [0x6d97e4], 0x3f800000
mov dword [0x6d97d4], ecx
mov dword [0x6d97f4], ebx
mov dword [0x6d97f8], ebx
mov dword [0x6d97fc], 0x3f800000
mov dword [0x6d97e8], ebx
mov dword [0x6d97ec], edx
mov dword [0x6d97f0], ebx
mov dword [0x6d97d8], ebx
mov dword [0x6d97c0], ebx
mov dword [0x6d97a8], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14c]
movzx ecx, byte [0x69c690]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x134]
mov eax, dword [0x7c0dc0]
push ebx
push ebx
call fcn.0052ce30
add esp, 8
mov eax, 2
call fcn.005193b0
cmp byte [0x689422], bl
pop esi
jne 0x51a0c4
mov byte [0x71d0d9], bl
mov byte [0x71d0da], 1
pop ebx
add esp, 0x90
ret