Function at 0x50ba98
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
cmp dword [0x8668a7], 0
jne 0x50be33
mov dword [0x8668a7], 1
mov dword [ebp - 4], 0x3a8
call fcn.0050be38
mov dword [0x8668ab], eax
call fcn.0050be5c
mov dword [0x8668af], eax
call fcn.0050be80
mov dword [0x8668b3], eax
call fcn.0050bea4
mov dword [0x8668b7], eax
mov dword [ebp - 0x14], esp
xor eax, eax
call dword [sym.imp.kernel32.dll_GetProcessHeap_1]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x50bb2c
push 0x172
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [0x8668bb], eax
mov dword [ebp - 0x14], esp
push str.ntdll.dll
xor eax, eax
call dword [sym.imp.kernel32.dll_GetModuleHandleA_1]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x50bb5f
push 0x1b2
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], esp
push str.RtlAllocateHeap
push dword [ebp - 8]
xor eax, eax
call dword [sym.imp.kernel32.dll_GetProcAddress_1]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x50bb93
push 0x1f7
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [0x8668bf], eax
mov dword [ebp - 0x14], esp
push str.RtlReAllocateHeap
push dword [ebp - 8]
xor eax, eax
call dword [sym.imp.kernel32.dll_GetProcAddress_1]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x50bbc9
push 0x24d
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [0x8668c3], eax
mov dword [ebp - 0x14], esp
push str.RtlFreeHeap
push dword [ebp - 8]
xor eax, eax
call dword [sym.imp.kernel32.dll_GetProcAddress_1]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x50bbff
push 0x2a1
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [0x8668c7], eax
mov dword [ebp - 0x14], esp
push 0x20000
push 8
push dword [0x8668bb]
xor eax, eax
call dword [sym.imp.kernel32.dll_HeapAlloc_1]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x50bc3d
push 0x30c
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x50be33
push dword [ebp - 0xc]
call fcn.0050befc
mov dword [ebp - 0x14], esp
push 0x20000
push 8
push dword [0x8668bb]
xor eax, eax
call dword [sym.imp.kernel32.dll_HeapAlloc_1]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x50bc8b
push 0x3cc
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [0x8668cb], eax
cmp dword [0x8668cb], 0
je 0x50bcf9
fild dword [0x8668cb]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fadd qword [0x8352ab]
fstp qword [ebp - 0x20]
mov dword [ebp - 0x24], esp
push 0x1fffe
fld qword [ebp - 0x20]
call fcn.00459f50
push eax
push 0x17d81
push dword [ebp - 0xc]
push 0
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.kernel32.dll_MultiByteToWideChar_1]
nop
nop
cmp dword [ebp - 0x24], esp
je 0x50bcf9
push 0x459
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 0x14], esp
push str.kernelbase.dll
xor eax, eax
call dword [sym.imp.kernel32.dll_GetModuleHandleA_1]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x50bd27
push 0x4f8
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], esp
push 0x864c9f
push dword [ebp - 0x18]
xor eax, eax
call dword [sym.imp.kernel32.dll_GetProcAddress_1]
nop
nop
cmp dword [ebp - 0x1c], esp
je 0x50bd5b
push 0x4f8
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x50bdcd
mov dword [ebp - 0x14], esp
push str.kernel32.dll
xor eax, eax
call dword [sym.imp.kernel32.dll_GetModuleHandleA_1]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x50bd96
push 0x59b
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], esp
push 0x864c9f
push dword [ebp - 0x18]
xor eax, eax
call dword [sym.imp.kernel32.dll_GetProcAddress_1]
nop
nop
cmp dword [ebp - 0x1c], esp
je 0x50bdca
push 0x59b
push 0x43977ef
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 0x10], eax
push 0x20000
push dword [ebp - 0xc]
call fcn.0050bf60
mov eax, dword [ebp - 0xc]
mov dword [0x8668cf], eax
cmp dword [ebp - 0x10], 0
je 0x50bdff
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp - 0xc]
call fcn.0050bf90
jmp 0x50be33
mov ebx, 6
call fcn.0045b804
push 0x80000301
push 0
push 0
push VariantClear
push 0
push 0x864cb3
push 4
mov ebx, 0x300
call fcn.00578380
add esp, 0x34
mov esp, ebp
pop ebp
ret