Function at 0x41c230
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45ed78
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x47ea94]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push 0
push 0
push 0
push 0
push str.DetourLoadImageHlp
lea ecx, [ebp - 0x14]
call fcn.00407b80
mov dword [ebp - 4], 0
cmp dword [0x47f16c], 0
je 0x41c29a
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00407aa0
mov eax, dword [ebp - 0x18]
jmp 0x41c4f9
cmp dword [0x47f168], 0
je 0x41c2c2
mov eax, dword [0x47f168]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00407aa0
mov eax, dword [ebp - 0x1c]
jmp 0x41c4f9
push 0x24
push 0
push 0x47f144
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [0x47f144], eax
push str.dbghelp.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x47f148], eax
cmp dword [0x47f148], 0
jne 0x41c37f
mov dword [0x47f16c], 1
cmp dword [0x47f148], 0
je 0x41c31b
mov ecx, dword [0x47f148]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x47f14c], 0
mov dword [0x47f150], 0
mov dword [0x47f154], 0
mov dword [0x47f158], 0
mov dword [0x47f15c], 0
mov dword [0x47f160], 0
mov dword [0x47f164], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00407aa0
mov eax, dword [ebp - 0x20]
jmp 0x41c4f9
push str.ImagehlpApiVersionEx
mov edx, dword [0x47f148]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x47f14c], eax
push str.SymInitialize
mov eax, dword [0x47f148]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x47f150], eax
push str.SymSetOptions
mov ecx, dword [0x47f148]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x47f154], eax
push str.SymGetOptions
mov edx, dword [0x47f148]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x47f158], eax
push str.SymLoadModule64
mov eax, dword [0x47f148]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x47f15c], eax
push str.SymGetModuleInfo64
mov ecx, dword [0x47f148]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x47f160], eax
push str.SymFromName
mov edx, dword [0x47f148]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x47f164], eax
push 8
push 0
lea eax, [ebp - 0x2c]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, 9
mov word [ebp - 0x2c], cx
cmp dword [0x47f14c], 0
je 0x41c464
cmp dword [0x47f150], 0
je 0x41c464
cmp dword [0x47f15c], 0
je 0x41c464
cmp dword [0x47f160], 0
je 0x41c464
cmp dword [0x47f164], 0
jne 0x41c469
jmp 0x41c2fb
lea edx, [ebp - 0x2c]
push edx
call dword [0x47f14c]
movzx eax, word [ebp - 0x2c]
cmp eax, 9
jge 0x41c481
jmp 0x41c2fb
push 0
push 0
mov ecx, dword [0x47f144]
push ecx
call dword [0x47f150]
test eax, eax
jne 0x41c49b
jmp 0x41c2fb
cmp dword [0x47f158], 0
je 0x41c4d4
cmp dword [0x47f154], 0
je 0x41c4d4
call dword [0x47f158]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
and edx, 0xfffffff8
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
or eax, 0x2704
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [0x47f154]
mov dword [0x47f168], 0x47f144
mov edx, dword [0x47f168]
mov dword [ebp - 0x24], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00407aa0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret