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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x41c028]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push ebp
push esi
push edi
xor eax, eax
push 0x48
mov edi, ecx
push eax
lea ecx, [esp + 0x3e]
push ecx
mov esi, edx
mov word [esp + 0x40], ax
call fcn.0040e6d0
xor eax, eax
xor edx, edx
add esp, 0xc
mov word [esp + 0x20], dx
mov dword [esp + 0x22], eax
mov dword [esp + 0x26], eax
mov dword [esp + 0x2a], eax
mov dword [esp + 0x2e], eax
mov word [esp + 0x32], ax
mov dword [esp + 0x10], eax
test edi, edi
jne 0x403ac3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10000
push edi
push edi
push eax
call fcn.004148f0
mov esi, eax
mov edi, edx
add esi, 0xf40000
adc edi, 0xa
push edi
push esi
push 0xf5
push str..Guid.cpp
push str._S__d_nRet0x_016llX_n
call fcn.004019b0
add esp, 0x14
mov eax, esi
mov edx, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.00409551
add esp, 0x7c
ret
mov ecx, edi
call fcn.00403650
mov ebx, eax
movzx ecx, dx
xor eax, eax
or eax, ecx
mov ebp, edx
mov dword [esp + 0x18], ebp
je 0x403af9
push ebp
push ebx
push 0xfd
push str..Guid.cpp
push str._S__d_nRet0x_016llX_n
call fcn.004019b0
add esp, 0x14
jmp 0x403d6d
mov eax, edi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403b00
sub eax, edx
sar eax, 1
push 0x24
cmp eax, 0x26
jne 0x403b21
add edi, 2
push edi
lea eax, [esp + 0x3c]
push eax
jmp 0x403b27
push edi
lea ecx, [esp + 0x3c]
push ecx
call fcn.00409e89
lea eax, [esp + 0x40]
add esp, 0xc
xor edx, edx
push eax
mov word [esp + 0x80], dx
call fcn.0040a13f
add esp, 4
push 8
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.00409e89
add esp, 0xc
push 0x10
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
xor eax, eax
push edx
mov word [esp + 0x3c], ax
call fcn.0040a5d2
add esp, 0xc
mov dword [esi], eax
push 4
lea eax, [esp + 0x4a]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.00409e89
add esp, 0xc
push 0x10
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
xor edx, edx
push ecx
mov word [esp + 0x34], dx
call fcn.0040a5d2
add esp, 0xc
push 4
lea edx, [esp + 0x54]
mov word [esi + 4], ax
push edx
lea eax, [esp + 0x28]
push eax
call fcn.00409e89
add esp, 0xc
push 0x10
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
xor ecx, ecx
push eax
mov word [esp + 0x34], cx
call fcn.0040a5d2
add esp, 0xc
push 2
lea ecx, [esp + 0x5e]
push ecx
lea edx, [esp + 0x28]
push edx
mov word [esi + 6], ax
call fcn.00409e89
add esp, 0xc
push 0x10
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
xor eax, eax
push edx
mov word [esp + 0x30], ax
call fcn.0040a5d2
add esp, 0xc
mov byte [esi + 8], al
push 2
lea eax, [esp + 0x62]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.00409e89
add esp, 0xc
push 0x10
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
xor edx, edx
push ecx
mov word [esp + 0x30], dx
call fcn.0040a5d2
add esp, 0xc
push 2
lea edx, [esp + 0x68]
mov byte [esi + 9], al
push edx
lea eax, [esp + 0x28]
push eax
call fcn.00409e89
add esp, 0xc
push 0x10
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
xor ecx, ecx
push eax
mov word [esp + 0x30], cx
call fcn.0040a5d2
add esp, 0xc
push 2
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x28]
push edx
mov byte [esi + 0xa], al
call fcn.00409e89
add esp, 0xc
push 0x10
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
xor eax, eax
push edx
mov word [esp + 0x30], ax
call fcn.0040a5d2
add esp, 0xc
mov byte [esi + 0xb], al
push 2
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.00409e89
add esp, 0xc
push 0x10
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
xor edx, edx
push ecx
mov word [esp + 0x30], dx
call fcn.0040a5d2
add esp, 0xc
push 2
lea edx, [esp + 0x74]
mov byte [esi + 0xc], al
push edx
lea eax, [esp + 0x28]
push eax
call fcn.00409e89
add esp, 0xc
push 0x10
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
xor ecx, ecx
push eax
mov word [esp + 0x30], cx
call fcn.0040a5d2
add esp, 0xc
mov byte [esi + 0xd], al
push 2
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.00409e89
add esp, 0xc
push 0x10
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
xor eax, eax
push edx
mov word [esp + 0x30], ax
call fcn.0040a5d2
add esp, 0xc
mov byte [esi + 0xe], al
push 2
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.00409e89
add esp, 0xc
push 0x10
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
xor edx, edx
push ecx
mov word [esp + 0x30], dx
call fcn.0040a5d2
add esp, 0xc
mov byte [esi + 0xf], al
mov ecx, dword [esp + 0x88]
pop edi
pop esi
mov edx, ebp
pop ebp
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.00409551
add esp, 0x7c
ret