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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x60
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov dword [esp], 0x104
mov dword [esp + 4], 2
call fcn.004551e7
mov dword [esp + 0x58], eax
lea eax, str.kernel32.dll
mov dword [esp], 0x7328f505
mov dword [esp + 4], eax
call fcn.0044cd40
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x104
call eax
sub esp, 0xc
mov dword [esp + 0x50], 0
mov dword [esp], 0x18
mov dword [esp + 4], 1
call fcn.004551e7
mov dword [esp + 0x38], eax
mov dword [esp], 8
mov dword [esp + 4], 1
call fcn.004551e7
mov dword [esp + 0x4c], eax
mov dword [esp], 8
mov dword [esp + 4], 1
call fcn.004551e7
mov dword [esp + 0x5c], eax
mov dword [esp], 0x118
mov dword [esp + 4], 2
call fcn.004551e7
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
lea ecx, [0x468754]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
sub esp, 4
shl eax, 1
mov ecx, dword [esp + 0x4c]
mov word [ecx], ax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
sub esp, 4
shl eax, 1
xor ecx, ecx
sub ecx, eax
add ecx, 0xfffffffe
xor eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x4c]
mov word [ecx + 2], ax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x38]
mov dword [eax], 0x18
mov eax, dword [esp + 0x38]
mov dword [eax + 4], 0
mov eax, dword [esp + 0x38]
mov dword [eax + 0xc], 0x40
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x38]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x38]
mov dword [eax + 0x14], 0
lea eax, str.ntdll.dll
mov dword [esp], 0xb5ca9f40
mov dword [esp + 4], eax
call fcn.0044cd40
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x38]
lea esi, [esp + 0x50]
xor edi, edi
mov dword [esp], esi
mov dword [esp + 4], 0x100001
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 7
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 0x4021
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call eax
sub esp, 0x2c
mov dword [esp + 0x54], eax
cmp dword [esp + 0x54], 0
jge 0x40b124
jmp 0x40b117
mov dword [esp + 0x30], 1
jmp 0x40b59e
mov dword [esp], 8
mov dword [esp + 4], 1
call fcn.004551e7
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
sub esp, 4
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 2
mov edx, eax
and edx, 0xfffffffd
imul edx, ecx
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
add eax, edx
mov ecx, dword [esp + 0x48]
mov word [ecx], ax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
sub esp, 4
mov ecx, eax
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
xor ecx, 2
and ecx, 2
mov edx, eax
and edx, 0xfffffffd
mov esi, ecx
xor esi, 0xffffffff
mov edi, edx
and edi, esi
mov ebx, edx
or ebx, esi
xor ebx, 0xffffffff
imul ebx, edi
mov esi, edx
and esi, ecx
or edx, ecx
imul edx, esi
add edx, ebx
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
add eax, edx
add eax, 2
mov ecx, dword [esp + 0x48]
mov word [ecx + 2], ax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x48]
mov dword [ecx + 4], eax
mov dword [esp], 0x4800
mov dword [esp + 4], 1
call fcn.004551e7
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0
sete al
test al, 1
jne 0x40b20d
jmp 0x40b21a
mov dword [esp + 0x30], 1
jmp 0x40b59e
jmp 0x40b21c
lea eax, str.ntdll.dll
mov dword [esp], 0x5a10633e
mov dword [esp + 4], eax
call fcn.0044cd40
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x50]
xor ebx, ebx
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 0x4800
mov dword [esp + 0x1c], 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], 0
call eax
sub esp, 0x2c
mov dword [esp + 0x54], eax
cmp dword [esp + 0x54], 0
setge al
test al, 1
jne 0x40b2af
jmp 0x40b2a2
mov dword [esp + 0x30], 1
jmp 0x40b59e
jmp 0x40b2b1
jmp 0x40b2b3
jmp 0x40b2b5
jmp 0x40b2b7
mov dword [esp], 0x104
mov dword [esp + 4], 2
call fcn.004551e7
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
add ecx, 0x44
mov edx, dword [esp + 0x2c]
mov edx, dword [edx + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0044fc30
cmp dword [esp + 0x34], 0
sete al
test al, 1
jne 0x40b2ff
jmp 0x40b31c
jmp 0x40b301
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
add eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 2
jmp 0x40b556
jmp 0x40b31e
mov eax, dword [esp + 0x34]
lea ecx, [0x468772]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
sub esp, 8
cmp eax, 0
setne al
test al, 1
jne 0x40b35f
jmp 0x40b344
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
add eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 2
jmp 0x40b556
mov eax, dword [esp + 0x34]
lea ecx, [0x468772]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
sub esp, 8
cmp eax, 0
jne 0x40b390
jmp 0x40b380
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
sete al
test al, 1
jne 0x40b3c1
jmp 0x40b390
mov eax, dword [esp + 0x34]
lea ecx, [0x468776]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
sub esp, 8
cmp eax, 0
jne 0x40b3ce
jmp 0x40b3b1
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
sete al
test al, 1
jne 0x40b3c1
jmp 0x40b3ce
mov dword [esp + 0x30], 3
jmp 0x40b556
jmp 0x40b3d0
mov eax, dword [esp + 0x34]
lea ecx, [0x468776]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
sub esp, 8
cmp eax, 0
setne al
test al, 1
jne 0x40b411
jmp 0x40b3f6
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
add eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 2
jmp 0x40b556
mov eax, dword [esp + 0x34]
lea ecx, [0x46877c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
sub esp, 8
cmp eax, 0
jne 0x40b44d
jmp 0x40b432
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
add eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 2
jmp 0x40b556
mov dword [esp], 0x104
mov dword [esp + 4], 2
call fcn.004551e7
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x44]
lea ecx, [0x46813c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov dword [esp], 0x10
call fcn.004556d4
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
and eax, 0x10
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov ecx, dword [ecx]
shl ecx, 4
add eax, ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
jne 0x40b53c
jmp 0x40b532
mov dword [esp + 0x30], 3
jmp 0x40b552
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
add eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0
jmp 0x40b554
jmp 0x40b556
mov eax, dword [esp + 0x30]
test eax, eax
je 0x40b56e
jmp 0x40b560
sub eax, 2
je 0x40b569
jmp 0x40b567
jmp 0x40b570
jmp 0x40b2b1
jmp 0x40b569
jmp 0x40b572
lea eax, str.ntdll.dll
mov dword [esp], 0xee81f141
mov dword [esp + 4], eax
call fcn.0044cd40
mov ecx, dword [esp + 0x50]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [esp + 0x30], 0
jmp 0x40b59e
jmp 0x40b5a0
jmp 0x40b5a2
add esp, 0x60
pop esi
pop edi
pop ebx
ret