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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1e8
mov eax, dword [0x100cd008]
xor eax, esp
mov dword [esp + 0x1e4], eax
mov eax, dword [ebp + 0x14]
xorps xmm0, xmm0
mov edx, dword [ebp + 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
lea esi, [eax + 0x3d50]
mov dword [esp + 0x18], edi
mov dword [esp + 8], esi
cmp eax, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa0], 0
jae 0x100514b3
mov ecx, dword [esp + 8]
cmp eax, 0x90f
ja 0x100513ac
je 0x100512f5
cmp eax, 0x165
ja 0x1005123b
je 0x10051014
sub eax, 0x76
je 0x10051191
sub eax, 0x7a
jne 0x1005145d
mov edi, 0x12d
cmp edi, 0x12d
je 0x10050ffe
cmp edi, 0x6b2
je 0x10050fd5
cmp edi, 0xc37
je 0x100514d0
jmp 0x10051006
mov ecx, edx
test edx, edx
mov edx, dword [esp + 0x14]
je 0x10050ff6
nop
cmp dword [ecx], 0
lea eax, [edx + 1]
mov ecx, dword [ecx + 4]
cmove eax, edx
mov edx, eax
test ecx, ecx
jne 0x10050fe0
mov dword [esp + 0x14], edx
mov esi, edx
mov edx, dword [esp + 0x10]
jmp 0x10051006
mov dword [esp + 0x14], 0
add edi, 0x585
cmp edi, 0x11bc
jb 0x10050fb7
mov eax, dword [esp + 0x38]
movsd xmm0, qword [eax]
subsd xmm0, qword [0x100c2630]
mov eax, dword [esp + 0x3c]
addsd xmm0, qword [eax]
mov eax, dword [ebp + 0x10]
divsd xmm0, qword [0x100c33b8]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [eax]
movsd qword [esp + 0x48], xmm0
call fcn.100739c0
mov edi, dword [esp + 0x10]
xorps xmm1, xmm1
movsd qword [esp + 0x20], xmm0
movaps xmmword [esp + 0x70], xmm1
mov dword [esp + 0x80], 0
movsd xmm0, qword [edi]
call fcn.100739c0
mulsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [edi]
call fcn.100746d0
mulsd xmm0, qword [esp + 0x20]
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x78]
push eax
movsd qword [esp + 0xdc], xmm0
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorControl]
movsd xmm0, qword [esp + 0x48]
mov edi, eax
call fcn.100746d0
movsd qword [esp + 0xd8], xmm0
test edi, edi
je 0x100510d9
push 0
push dword [esp + 0x44]
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorControl]
push 0x14
push 0x40
mov byte [esp + 0x17], 1
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
movaps xmm0, xmmword [0x100c41e0]
mov edi, eax
push 0xe1
lea eax, [esp + 0x1a4]
push eax
push 0
lea eax, [esp + 0xec]
push eax
movups xmmword [esp + 0xf0], xmm0
push 0
movsd xmm0, qword [0x100c0a00]
push 0
movsd qword [esp + 0x108], xmm0
call fcn.1004bde0
movaps xmm0, xmmword [0x100c3850]
xor ecx, ecx
movzx eax, byte [esp + 0x27]
add esp, 0x18
test edi, edi
movups xmmword [esp + 0xf8], xmm0
cmove eax, ecx
movsd xmm0, qword [0x100c08b0]
movsd qword [esp + 0x108], xmm0
test al, al
je 0x1005116d
push 1
push edi
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 8]
add eax, 0x7aa
mov dword [ebp + 8], eax
cmp eax, ecx
jae 0x100514b3
mov edx, dword [esp + 0x10]
jmp 0x10050f82
movaps xmm0, xmmword [0x100c40a0]
lea eax, [esp + 0xb8]
sub esp, 0x10
movups xmmword [esp], xmm0
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.10040fa0
mov edi, dword [esp + 0x30]
mov edx, 0x7ca
mov ecx, dword [esp + 0x4c]
push edi
push 0x1007cc30
push str.eraD2dtf
mov dword [esp + 0x70], eax
call fcn.1005dcc0
mov ecx, dword [esp + 0x5c]
add esp, 0x2c
mov edx, 6
push edi
push 0x1007dd34
push str.eraD2dtf
call fcn.1005dcc0
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov edx, 0x1e
push edi
push 0x1007d190
push str.eraD2dtf
call fcn.1005dcc0
mov ecx, dword [esp + 0xc4]
add esp, 0xc
mov edx, 0x17
push edi
push 0x1007d244
push str.eraD2dtf
call fcn.1005dcc0
add esp, 0xc
jmp 0x1005116d
cmp eax, 0x820
jne 0x10051178
mov ecx, dword [esp + 0xbc]
cmp ecx, 0x3b
je 0x1005126c
push ecx
push 0x3b
push str.mdfr
push str.eraD2dtf
mov dword [edx], 1
push str._s_failed:__s_want__d_got__d_n
jmp 0x10051288
cmp dword [0x100ceab0], 0
je 0x10051297
push 0x3b
push 0x3b
push str.mdfr
push str.eraD2dtf
push str._s_passed:__s_want__d_got__d_n
call fcn.100010e0
mov eax, dword [ebp + 8]
add esp, 0x14
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc0]
cmp ecx, 0x3c
je 0x100512c8
push ecx
push 0x3c
push 0x1007d1a4
push str.eraD2dtf
push str._s_failed:__s_want__d_got__d_n
mov dword [edx], 1
call fcn.100010e0
add esp, 0x14
jmp 0x10051171
cmp dword [0x100ceab0], 0
je 0x10051174
push 0x3c
push 0x3c
push 0x1007d1a4
push str.eraD2dtf
push str._s_passed:__s_want__d_got__d_n
call fcn.100010e0
add esp, 0x14
jmp 0x10051171
movsd xmm0, qword [esp + 0x50]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x114]
movsd qword [esp + 0x4c], xmm0
push eax
push 0
lea eax, [esp + 0x104]
push eax
push 0xb8
call fcn.1000a990
add esp, 0x14
lea eax, [esp + 0x158]
push 0xe1
push eax
push 0
lea eax, [esp + 0x11c]
push eax
push 0
push 0
call fcn.1004bde0
lea eax, [esp + 0x140]
push eax
lea edx, [esp + 0xe4]
lea ecx, [esp + 0x174]
call fcn.10017640
add esp, 0x1c
lea eax, [esp + 0x1a0]
push eax
lea eax, [esp + 0x144]
push eax
push 0x1cc
push 0
lea eax, [esp + 0x138]
push eax
push 0
call fcn.100353e0
push 0xfb
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x160]
push eax
push edi
call fcn.10031cb0
add esp, 0x28
jmp 0x10051171
cmp eax, 0xfca
je 0x1005140b
cmp eax, 0x10b9
je 0x10051465
cmp eax, 0x1774
jne 0x10051178
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x100513de
push ecx
push 0
push 0x1007cc04
jmp 0x100512ab
cmp dword [0x100ceab0], 0
je 0x10051174
push 0
push 0
push 0x1007cc04
push str.eraD2dtf
push str._s_passed:__s_want__d_got__d_n
call fcn.100010e0
add esp, 0x14
jmp 0x10051171
mov ecx, dword [esp + 0xc4]
cmp ecx, 0x351f
je 0x1005142a
push ecx
push 0x351f
push 0x1007d194
jmp 0x100512ab
cmp dword [0x100ceab0], 0
je 0x10051174
push 0x351f
push 0x351f
push 0x1007d194
push str.eraD2dtf
push str._s_passed:__s_want__d_got__d_n
call fcn.100010e0
add esp, 0x14
jmp 0x10051171
mov eax, dword [ebp + 8]
jmp 0x10051178
movsd xmm0, qword [esp + 0x68]
lea eax, [esp + 0x50]
push 0
push 0x10c
push eax
push 0
movsd qword [esp + 0x60], xmm0
call fcn.1003fdf0
mov dword [esp + 0x30], eax
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
movsd xmm0, qword [esp + 0x20]
movsd qword [eax], xmm0
mov eax, esi
pop edi
pop esi
mov ecx, dword [esp + 0x1e4]
xor ecx, esp
call fcn.10062dbb
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorDacl]
mov ecx, dword [esp + 0x1ec]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.10062dbb
mov esp, ebp
pop ebp
ret