Function at 0x505c70
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e6c48
mov eax, dword fs:[0]
push eax
mov eax, 0x20e0
call fcn.0048fb00
mov eax, dword [0x55b090]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
xor esi, esi
mov dword [ebp - 0x20bc], eax
mov dword [ebp - 0x20a4], esi
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x20b4]
mov eax, dword [ebp + 8]
mov edx, 0x52f250
mov dword [ebp - 0x2014], eax
mov dword [ebp - 0x20a4], 0x80004005
call fcn.004d3680
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [ebp - 0x20b4]
mov edi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test edi, edi
je 0x5065d1
mov edx, 0x5301a0
lea ecx, [ebp - 0x20b0]
call fcn.0043a300
push dword [eax]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x20b0]
mov dword [ebp - 0x20ac], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1046]
mov eax, dword [ebp - 0x20ac]
test eax, eax
je 0x505d40
lea ecx, [ebp - 0x2068]
push ecx
push dword [ebp - 0x2014]
call eax
mov dword [ebp - 0x20a4], eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x20a4], 0
jl 0x5065d1
push 0x800
lea eax, [ebp - 0x810]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x20a4], 0
mov edx, 0x52e920
lea ecx, [ebp - 0x20b4]
call fcn.004d3680
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [ebp - 0x20b4]
mov edi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test edi, edi
je 0x5065d1
mov edx, 0x52fba0
lea ecx, [ebp - 0x20b0]
call fcn.0043a300
push dword [eax]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x20b0]
mov dword [ebp - 0x20ac], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1046]
mov eax, dword [ebp - 0x20ac]
test eax, eax
je 0x505df4
push 0
push 0x400
lea ecx, [ebp - 0x810]
push ecx
lea ecx, [ebp - 0x2068]
push ecx
call eax
mov dword [ebp - 0x20a4], eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x20a4], 0
je 0x5065d1
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x2018]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__17]
push 0x1000
lea eax, [ebp - 0x2010]
mov byte [ebp - 4], 1
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x20a4], 0
mov edx, 0x52e920
lea ecx, [ebp - 0x20b4]
call fcn.004d3680
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [ebp - 0x20b4]
mov edi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test edi, edi
je 0x5065bc
mov edx, 0x52e940
lea ecx, [ebp - 0x20b0]
call fcn.0043a300
push dword [eax]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x20b0]
mov dword [ebp - 0x20ac], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1046]
mov eax, dword [ebp - 0x20ac]
test eax, eax
je 0x505ebf
push 0
push 0x800
lea ecx, [ebp - 0x2010]
push ecx
lea ecx, [ebp - 0x2068]
push ecx
call eax
mov dword [ebp - 0x20a4], eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x20a4], 0
je 0x5065bc
lea eax, [ebp - 0x2010]
push eax
lea ecx, [ebp - 0x201c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__17]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2018]
cmp dword [eax - 0xc], 0
jne 0x505f1a
lea ecx, [ebp - 0x201c]
mov byte [ebp - 0x209d], 0
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x2018]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
jmp 0x5065d8
mov edx, 0x52e920
mov dword [ebp - 0x20b0], 0xffffffff
lea ecx, [ebp - 0x20c0]
call fcn.004d3680
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [ebp - 0x20c0]
mov edi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test edi, edi
je 0x505f9f
mov edx, 0x52efe0
lea ecx, [ebp - 0x20c4]
call fcn.0043a300
push dword [eax]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x20c4]
mov dword [ebp - 0x20a4], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1046]
mov eax, dword [ebp - 0x20a4]
test eax, eax
je 0x505f98
push 2
push 0
push 0
lea ecx, [ebp - 0x2068]
push ecx
call eax
mov dword [ebp - 0x20b0], eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xorps xmm0, xmm0
mov dword [ebp - 0x209c], 0x1c
push ecx
lea ecx, [ebp - 0x2080]
movlpd qword [ebp - 0x2098], xmm0
movlpd qword [ebp - 0x2090], xmm0
movlpd qword [ebp - 0x2088], xmm0
mov dword [ebp - 0x20b4], 0
movups xmmword [ebp - 0x2080], xmm0
movq qword [ebp - 0x2070], xmm0
call fcn.004662a0
mov byte [ebp - 4], 3
nop dword [eax]
mov edx, 0x52e920
mov dword [ebp - 0x20a4], 0
lea ecx, [ebp - 0x20c8]
call fcn.004d3680
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [ebp - 0x20c8]
mov edi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test edi, edi
je 0x50607b
mov edx, 0x52fb70
lea ecx, [ebp - 0x20cc]
call fcn.0043a300
push dword [eax]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x20cc]
mov dword [ebp - 0x20ac], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1046]
mov eax, dword [ebp - 0x20ac]
test eax, eax
je 0x506074
lea ecx, [ebp - 0x209c]
push ecx
push dword [ebp - 0x20b4]
push dword [ebp - 0x20b0]
call eax
mov dword [ebp - 0x20a4], eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x20a4], 0
je 0x506523
inc dword [ebp - 0x20b4]
lea ecx, [ebp - 0x20d0]
mov edx, 0x52e920
mov dword [ebp - 0x20ac], 0xffffffff
call fcn.004d3680
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [ebp - 0x20d0]
mov edi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test edi, edi
je 0x50612b
mov edx, 0x52fb40
lea ecx, [ebp - 0x20d4]
call fcn.0043a300
push dword [eax]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x20d4]
mov dword [ebp - 0x20a4], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1046]
mov eax, dword [ebp - 0x20a4]
test eax, eax
je 0x506117
push 0x20019
push 2
push 0
push 1
lea ecx, [ebp - 0x209c]
push ecx
push dword [ebp - 0x20b0]
call eax
mov dword [ebp - 0x20ac], eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x20ac], 0
je 0x505ff0
mov eax, dword [ebp - 0x2088]
lea ecx, [ebp - 0x20d8]
mov edx, 0x52e920
mov dword [ebp - 0x20a8], eax
call fcn.004d3680
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [ebp - 0x20d8]
mov edi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test edi, edi
je 0x5061b3
mov edx, 0x52fae0
lea ecx, [ebp - 0x20dc]
call fcn.0043a300
push dword [eax]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x20dc]
mov dword [ebp - 0x20a4], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1046]
mov eax, dword [ebp - 0x20a4]
test eax, eax
je 0x5061ac
push 0
push 0x400
lea ecx, [ebp - 0x1010]
push ecx
push dword [ebp - 0x20a8]
call eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0x1010]
push eax
lea ecx, [ebp - 0x2014]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__17]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2014]
cmp dword [eax - 0xc], 0
jne 0x5061f6
mov ecx, dword [ebp - 0x20ac]
call fcn.004340b0
lea ecx, [ebp - 0x2014]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
jmp 0x505ff0
mov edx, 0x523344
lea ecx, [ebp - 0x20b8]
call fcn.004d3680
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2014]
push 0
push dword [eax]
or esi, 1
mov dword [ebp - 0x20a4], esi
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__10]
test eax, eax
js 0x506261
mov edx, 0x523350
lea ecx, [ebp - 0x20e8]
call fcn.004d3680
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x2014]
push 0
push dword [eax]
or esi, 2
mov dword [ebp - 0x20a8], esi
mov dword [ebp - 0x20a4], esi
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__10]
test eax, eax
jns 0x5062c8
mov edx, 0x52335c
lea ecx, [ebp - 0x20e4]
call fcn.004d3680
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x2014]
push 0
push dword [eax]
or esi, 4
mov dword [ebp - 0x20a8], esi
mov dword [ebp - 0x20a4], esi
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__10]
test eax, eax
js 0x5062d1
mov edx, 0x523368
lea ecx, [ebp - 0x20e0]
call fcn.004d3680
push 0
or esi, 8
lea ecx, [ebp - 0x2014]
mov dword [ebp - 0x20a8], esi
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__10]
test eax, eax
js 0x5062d1
mov byte [ebp - 0x209d], 1
jmp 0x5062d8
mov byte [ebp - 0x209d], 0
mov eax, dword [ebp - 0x20a8]
test al, 8
je 0x5062fd
and eax, 0xfffffff7
lea ecx, [ebp - 0x20e0]
mov dword [ebp - 0x20a8], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x20a8]
test al, 4
je 0x50631c
and eax, 0xfffffffb
lea ecx, [ebp - 0x20e4]
mov dword [ebp - 0x20a8], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x20a8]
test al, 2
je 0x50633b
and eax, 0xfffffffd
lea ecx, [ebp - 0x20e8]
mov dword [ebp - 0x20a8], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x20a8]
and eax, 0xfffffffe
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x20b8]
mov dword [ebp - 0x20a8], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0x209d], 0
je 0x506516
lea ecx, [ebp - 0x2044]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x2040]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x203c]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x2038]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x2034]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x2030]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x202c]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x2028]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x2024]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x2020]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
push dword [ebp - 0x20ac]
mov byte [ebp - 4], 8
lea eax, [ebp - 0x201c]
push ecx
mov ecx, esp
mov dword [ebp - 0x20a4], esp
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__18]
push ecx
lea eax, [ebp - 0x2018]
mov byte [ebp - 4], 9
mov ecx, esp
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__18]
movups xmm0, xmmword [ebp - 0x2068]
sub esp, 0x10
mov byte [ebp - 4], 8
mov eax, esp
lea ecx, [ebp - 0x2058]
push dword [ebp + 0x10]
movups xmmword [eax], xmm0
call fcn.004109b0
test al, al
je 0x5064e5
mov edi, dword [ebp - 0x2080]
test edi, edi
je 0x5064c1
push dword [edi + 0x30]
lea esi, [edi]
mov edi, dword [edi]
lea ecx, [ebp - 0x2030]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
test eax, eax
jne 0x5064bd
push dword [esi + 0x24]
lea ecx, [ebp - 0x203c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
test eax, eax
jne 0x5064bd
push dword [esi + 0x38]
lea ecx, [ebp - 0x2028]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
test eax, eax
jne 0x5064bd
push dword [esi + 0x3c]
lea ecx, [ebp - 0x2024]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
test eax, eax
jne 0x5064bd
push dword [esi + 0x34]
lea ecx, [ebp - 0x202c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
test eax, eax
jne 0x5064bd
push dword [esi + 0x40]
lea ecx, [ebp - 0x2020]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
test eax, eax
je 0x5064e5
test edi, edi
jne 0x506447
mov ecx, dword [ebp - 0x20bc]
lea eax, [ebp - 0x2058]
push eax
call fcn.0046bdd0
lea eax, [ebp - 0x2058]
push eax
lea ecx, [ebp - 0x2080]
call fcn.0046bdd0
mov ecx, dword [ebp - 0x20ac]
call fcn.004340b0
lea ecx, [ebp - 0x2058]
call fcn.0040a170
lea ecx, [ebp - 0x2014]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov esi, dword [ebp - 0x20a8]
jmp 0x505ff0
mov ecx, dword [ebp - 0x20ac]
call fcn.004340b0
jmp 0x5064fb
cmp dword [ebp - 0x20b0], 0
je 0x506590
mov edx, 0x52e920
lea ecx, [ebp - 0x20bc]
call fcn.004d3680
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [ebp - 0x20bc]
mov esi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test esi, esi
je 0x506590
mov edx, 0x52f1c0
lea ecx, [ebp - 0x20b8]
call fcn.0043a300
push dword [eax]
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x20b8]
mov edi, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1046]
test edi, edi
je 0x506589
push dword [ebp - 0x20b0]
call edi
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [ebp - 0x2080]
mov byte [ebp - 0x209d], 1
call fcn.0046c5a0
lea ecx, [ebp - 0x201c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x2018]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
jmp 0x5065d8
lea ecx, [ebp - 0x2018]
mov byte [ebp - 0x209d], 0
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
jmp 0x5065d8
mov byte [ebp - 0x209d], 0
lea ecx, [ebp + 8]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov al, byte [ebp - 0x209d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048cc46
mov esp, ebp
pop ebp
ret 0xc