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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x461edc
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov esi, dword [ebp + 0x10]
movzx edi, ax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov byte [esp + 0x78], 2
test byte [0x468400], 1
je 0x42163f
push ecx
push ecx
mov ecx, 0x4069e0
call fcn.00422ace
mov eax, dword [esp + 0x24]
xor ecx, ecx
test di, di
jne 0x421655
mov ecx, 0x80070057
mov ebx, ecx
call fcn.0041b100
jmp 0x421973
test esi, esi
je 0x421644
mov edx, 0x42bf90
test edx, edx
je 0x421644
test eax, eax
je 0x421644
cmp dword [ebx + 4], ecx
jne 0x421674
mov ebx, 0x8000000a
mov ecx, ebx
jmp 0x42164b
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x40a0d8
push 0x409780
push 0x2f0
push 0
push 0x406890
push 0xa4000
push 0x40a12c
push 0x4000000
call fcn.00420037
pop ecx
pop ecx
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x40a0d8
push 0x409780
push 0x2f1
push 0
push 0x406890
push 0xa4000
movzx eax, di
push eax
push 0x40a160
push 0x4000000
call fcn.00420037
add esp, 0xc
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
xor edi, edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x40a0d8
push 0x409780
push 0x2f2
push edi
push 0x406890
push 0xa4000
push esi
push 0x40a178
push 0x4000000
call fcn.00420037
add esp, 0xc
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
mov eax, dword [ebx]
mov dword [esp + 0x20], eax
mov ebx, dword [eax]
lea eax, [esp + 0x10]
push eax
push edi
push esi
mov ecx, dword [ebx + 0x14]
mov esi, 0x4069c0
push 0x40a190
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [0x46a7c8]
mov ecx, dword [esp + 0x40]
call dword [ebx + 0x14]
mov ebx, eax
test ebx, ebx
js 0x421670
mov eax, dword [esp + 0x1c]
mov esi, 0x406abc
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov ebx, dword [eax]
lea eax, [esp + 0x18]
push eax
sub esp, 0x10
mov edi, esp
mov ecx, dword [ebx + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [0x46a7c8]
mov ecx, dword [esp + 0x34]
call dword [ebx + 0x18]
mov ebx, eax
test ebx, ebx
js 0x421670
push 0x30
lea eax, [esp + 0x38]
push 0
push eax
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x3c]
lea edi, [esp + 0x40]
mov esi, 0x406abc
lea ecx, [esp + 0x40]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push 0x30
push ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
and dword [esp + 0x64], 0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x34]
mov word [esp + 0x50], ax
mov dword [esp + 0x54], 2
mov dword [esp + 0x58], 1
mov dword [esp + 0x68], 8
mov eax, dword [esi]
mov edi, dword [eax + 0x10]
mov ecx, edi
call dword [0x46a7c8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x421670
mov esi, dword [esp + 0x10]
push 0
push dword [esp + 0x1c]
mov eax, dword [esi]
mov edi, dword [eax + 0x28]
mov ecx, edi
call dword [0x46a7c8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x421670
mov esi, dword [esp + 0x10]
push dword [esp + 0x24]
push 0x42bf90
mov eax, dword [esi]
mov edi, dword [eax + 0x80]
mov ecx, edi
call dword [0x46a7c8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x421670
mov esi, dword [esp + 0x1c]
push 0x40a190
lea ecx, [esi + 0x14]
call dword [0x46a524]
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x40a0d8
push 0x409780
push 0x323
push ebx
push 0x406890
push 0xa4000
push dword [esi + 0x14]
push 0x409e48
push 0x4000000
call fcn.00420037
add esp, 0xc
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov edi, dword [eax + 0x2c]
mov ecx, edi
call dword [0x46a7c8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
jns 0x42192e
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
mov eax, dword [edi + 0xc]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x46a7c8]
lea ecx, [edi + 0xc]
call esi
test eax, eax
js 0x421973
mov ecx, dword [esp + 0x1c]
push dword [esp + 0x14]
add ecx, 0x10
call dword [0x46a524]
jmp 0x421973
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x40a0d8
push 0x409780
push 0x334
push 0
push 0x406890
push 0xa4000
push 0x40a1a4
push 0x4000000
call fcn.00420037
pop ecx
pop ecx
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
test byte [0x468400], 1
je 0x421988
push ecx
push ecx
mov ecx, 0x406a08
call fcn.00422ace
test ebx, ebx
jns 0x4219d3
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x40a0d8
push 0x409780
push 0x340
push 0
push 0x406890
push 0xa4000
push ebx
push 0x40a1d0
push 0x2000000
call fcn.00420037
add esp, 0xc
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
mov ecx, ebx
call fcn.0041b049
cmp dword [esp + 0x14], 0
je 0x4219f0
push dword [esp + 0x14]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
and dword [esp + 0x14], 0
lea ecx, [esp + 0x10]
call fcn.0041b864
lea ecx, [esp + 0x18]
call fcn.0041b864
mov eax, ebx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.00445fe0
mov esp, ebp
pop ebp
ret 0x14