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

Disassembly:
sub esp, 0x280
mov dl, byte [0x426040]
push ebx
push esi
push edi
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0xbd]
mov byte [esp + 0xbc], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x7d]
mov byte [esp + 0x7c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x9d]
mov byte [esp + 0x9c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x290]
test eax, eax
jne 0x405ac1
pop edi
pop esi
mov eax, 0x71
pop ebx
add esp, 0x280
ret
lea ecx, [esp + 0x70]
lea edx, [esp + 0x18]
push ecx
push edx
push eax
push 2
push 0x4217bc
call fcn.00410fe0
add esp, 0x14
cmp eax, 0xffffffff
jne 0x405aef
pop edi
pop esi
mov eax, 0x71
pop ebx
add esp, 0x280
ret
lea eax, [esp + 0x18]
push ebp
push eax
call fcn.00414030
lea ecx, [esp + 0x78]
mov ebx, eax
push ecx
call fcn.00414030
add esp, 8
mov ebp, eax
call fcn.004036c0
call fcn.00403b50
call fcn.00403a20
call fcn.00406d40
mov edx, eax
test dl, 2
je 0x405b55
mov edi, 0x426458
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0xa0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x28], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x28]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test dl, 1
je 0x405b83
mov edi, 0x426478
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x80]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00406d40
xor ecx, ecx
push eax
mov dword [esp + 0x30], ecx
lea edx, [esp + 0x30]
mov dword [esp + 0x34], ecx
push 0x4217b4
push edx
mov dword [esp + 0x40], ecx
call fcn.00413de0
lea eax, [esp + 0xcc]
push eax
call fcn.00406d10
push ebp
push ebx
call fcn.00403df0
add esp, 0x18
mov esi, eax
test esi, esi
pop ebp
jne 0x405c3c
push 0x426040
push 0x426040
push 0x426040
push 0x426040
lea ecx, [esp + 0x38]
push 0x426040
lea edx, [esp + 0xd0]
push ecx
lea eax, [esp + 0xb4]
push edx
lea ecx, [esp + 0x98]
push eax
push ecx
push 9
push 0x4217bc
call fcn.00410ae0
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebx, [esp + 0x128]
mov eax, ecx
mov esi, edi
mov edi, ebx
push edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004137e0
add esp, 0x30
jmp 0x405e75
lea ecx, [esp + 0x58]
push ecx
push esi
call fcn.00401140
xor eax, eax
xor edx, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], eax
xor ecx, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x5c], eax
mov eax, dword [0x431738]
add esp, 8
mov dword [esp + 0x44], ecx
mov dword [esp + 0x10], edx
test eax, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x14], edx
je 0x405d9a
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x80
je 0x405d7e
mov edx, dword [esp + 0x58]
mov di, word [esp + 0x5a]
xor ecx, ecx
mov eax, 0x431682
cmp word [eax - 2], dx
jne 0x405cc8
cmp word [eax], di
je 0x405d13
add eax, 8
inc ecx
cmp eax, 0x4316d2
jl 0x405cbd
mov ax, word [esi + 0x40a]
cmp word [esi + 0x40e], ax
jae 0x405cea
mov word [esi + 0x40e], ax
and eax, 0xffff
lea edx, [esp + 0xc]
push eax
push 0x4217b4
push edx
call fcn.00413de0
mov eax, dword [0x431738]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x405d9a
cmp ecx, 0xa
jge 0x405cd3
mov eax, dword [0x431684]
test eax, eax
jne 0x405d3f
xor ecx, ecx
lea edx, [esp + 0xc]
mov cx, word [esi + 0x40a]
push ecx
push 0x4217b4
push edx
call fcn.00413de0
add esp, 0xc
jmp 0x405d64
mov ax, word [esi + 0x40a]
xor edx, edx
mov dx, word [esi + 0x40e]
mov ecx, eax
and ecx, 0xffff
inc ecx
cmp edx, ecx
jge 0x405d64
inc eax
mov word [esi + 0x40e], ax
xor eax, eax
lea ecx, [esp + 0xc]
mov ax, word [esi + 0x40a]
inc eax
push eax
push 0x4217b4
push ecx
jmp 0x405cfa
mov ecx, dword [0x431738]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x280
ret
xor edx, edx
lea eax, [esp + 0x4c]
mov dx, word [esi + 0x40e]
push edx
push 0x4217b4
push eax
call fcn.00413de0
mov ecx, dword [esp + 0x64]
lea edx, [esp + 0x24]
and ecx, 0xffff
push ecx
push 0x4217b4
push edx
call fcn.00413de0
xor eax, eax
lea ecx, [esp + 0x4c]
mov ax, word [esi + 0x408]
push eax
push 0x4217b4
push ecx
call fcn.00413de0
xor edx, edx
lea eax, [esp + 0x64]
mov dx, word [esi + 0x40c]
push edx
push 0x4217b4
push eax
call fcn.00413de0
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x70]
push ecx
lea eax, [esp + 0x40]
push edx
lea ecx, [esp + 0x6c]
push eax
lea edx, [esp + 0x54]
push ecx
lea eax, [esp + 0x68]
push edx
lea ecx, [esp + 0x100]
push eax
lea edx, [esp + 0xe4]
push ecx
lea eax, [esp + 0xc8]
push edx
push eax
push 9
push 0x4217bc
call fcn.00410ae0
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 0x5c
lea ebx, [esp + 0xfc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push edx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004137e0
add esp, 4
lea edi, [esp + 0xfc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x294]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
add esp, 0x280
ret