Function at 0x403770
Capabilities:
Create process on windows

Disassembly:
push 0x3d4
mov eax, 0x427e14
call fcn.004162d9
mov esi, dword [ebp + 8]
or dword [ebp - 0x334], 0xffffffff
xor ebx, ebx
push ebx
push 0x10
lea ecx, [ebp - 0x37c]
mov dword [ebp - 0x33c], esi
call fcn.0040ec2f
mov dword [ebp - 4], ebx
push esi
push ebx
push 0x100400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x348], eax
cmp eax, ebx
jne 0x403818
push 0x23
push 1
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x4037f8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x42bd6c
call fcn.00408be0
mov esi, eax
push esi
push 0x22a
push 0xd2
push 0x23
push 1
call fcn.004094a0
push esi
call fcn.004141bd
add esp, 0x20
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x37c], ebx
je 0x403810
push dword [ebp - 0x37c]
call fcn.004141bd
pop ecx
or eax, 0xffffffff
jmp 0x40454d
mov ecx, dword [0x43c180]
mov eax, dword [ecx]
call dword [eax + 0x94]
mov edx, dword [eax]
push 0x800005e6
push 0x5e6
mov ecx, eax
call dword [edx + 4]
push eax
call fcn.00402199
push 0x236
push str.CorpLauncher.cpp
push 0xc4
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x338], ebx
call fcn.00414091
add esp, 0x14
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x403880
push 1
push ebx
push ebx
push ebx
push ebx
push ebx
mov ecx, eax
call fcn.0040e6ce
mov edi, eax
jmp 0x403882
xor edi, edi
mov byte [ebp - 4], bl
lea eax, [ebp - 0x338]
push eax
push ebx
push ebx
push 0x3e8
push 1
push 0xa8
push 0x1f
mov ecx, edi
call fcn.0040e99d
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx]
call dword [eax + 0x60]
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 2
push ebx
mov dword [ebp - 0x328], eax
push ebx
lea eax, [ebp - 0x340]
push eax
call esi
mov ecx, dword [ebp - 0x328]
push eax
mov eax, dword [ecx]
call dword [eax + 8]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx]
call dword [eax + 0x60]
push 2
push ebx
mov dword [ebp - 0x328], eax
push ebx
lea eax, [ebp - 0x34c]
push eax
call esi
mov ecx, dword [ebp - 0x328]
push eax
mov eax, dword [ecx]
call dword [eax + 0x1c]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov eax, dword [ebp - 0x338]
cmp eax, ebx
je 0x403938
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebp - 0x338], ebx
push 0x23
push 4
call fcn.00409a80
pop ecx
pop ecx
mov edi, 0xd2
test al, al
je 0x403986
push dword [ebp - 0x34c]
push dword [ebp - 0x340]
push 0x42bd10
call fcn.00408be0
push eax
push 0x245
push edi
push 0x23
push 4
mov dword [ebp - 0x328], eax
call fcn.004094a0
push dword [ebp - 0x328]
call fcn.004141bd
add esp, 0x24
mov ecx, dword [ebp - 0x344]
mov eax, dword [ecx]
push 1
push dword [ebp - 0x34c]
push dword [ebp - 0x340]
call dword [eax]
push 0x23
push 3
mov dword [ebp - 0x354], ebx
mov dword [ebp - 0x350], ebx
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x4039f4
push dword [ebp - 0x33c]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42bccc
call fcn.00408be0
push eax
push 0x24c
push edi
push 0x23
push 3
mov dword [ebp - 0x328], eax
call fcn.004094a0
push dword [ebp - 0x328]
call fcn.004141bd
add esp, 0x24
mov ecx, dword [0x43c180]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1bc]
mov edi, dword [ebp - 0x344]
mov dword [ebp - 0x364], eax
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x360], edx
call dword [eax + 0x20]
test al, al
jne 0x403d1b
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 8]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x403d1b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
mov ecx, dword [0x43c180]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1bc]
mov ecx, dword [0x43c180]
mov dword [ebp - 0x354], eax
mov eax, dword [ecx]
mov dword [ebp - 0x350], edx
call dword [eax + 4]
mov edx, dword [eax]
push ebx
lea ecx, [ebp - 0x384]
push ecx
mov ecx, eax
call dword [edx + 0x120]
mov byte [ebp - 4], 2
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
mov edi, eax
mov dword [ebp - 0x320], edi
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x384]
call fcn.0040d56e
cmp edi, ebx
je 0x40427a
push edi
call fcn.004167a0
pop ecx
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
ja 0x403aca
push edi
call fcn.004167a0
pop ecx
inc eax
push eax
push dword [ebp - 0x320]
mov edi, 0x104
lea eax, [ebp - 0x114]
push edi
push eax
call fcn.004166ea
push 0x42b43c
mov byte [ebp - 0x11], bl
call fcn.004087f7
push 0x42bcbc
mov dword [ebp - 0x330], eax
call fcn.004087f7
mov dword [ebp - 0x33c], eax
lea eax, [ebp - 0x31c]
push edi
push eax
call fcn.00405d37
add esp, 0x20
test al, al
je 0x4042c4
lea eax, [ebp - 0x114]
push 0x2e
push eax
call fcn.00415e50
pop ecx
pop ecx
cmp eax, ebx
je 0x403b44
push dword [ebp - 0x330]
push eax
call fcn.004164fa
pop ecx
pop ecx
test eax, eax
je 0x403b5a
push edi
push dword [ebp - 0x330]
lea eax, [ebp - 0x31c]
push eax
call fcn.0040e2af
add esp, 0xc
lea eax, [ebp - 0x114]
push 0x5c
push eax
call fcn.00415e50
pop ecx
pop ecx
cmp eax, ebx
je 0x403b85
inc eax
lea ecx, [ebp - 0x10]
sub ecx, eax
push ecx
lea ecx, [ebp - 0x31c]
push ecx
push eax
call fcn.0040e267
add esp, 0xc
lea eax, [ebp - 0x31c]
push eax
push dword [ebp - 0x33c]
lea eax, [ebp - 0x218]
push edi
push eax
call fcn.0040e32c
push 0x44
lea eax, [ebp - 0x3e0]
push ebx
push eax
call fcn.00416670
add esp, 0x1c
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x3e0]
push eax
push ebx
push ebx
push 0x8000000
push ebx
push ebx
push ebx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x114]
push eax
mov dword [ebp - 0x3e0], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x403c43
push 0x5c
push dword [ebp - 0x320]
call fcn.00415e50
inc eax
push eax
push dword [ebp - 0x33c]
lea eax, [ebp - 0x218]
push edi
push eax
call fcn.0040e32c
add esp, 0x18
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x3e0]
push eax
push ebx
push ebx
push 0x8000000
push ebx
push ebx
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x320]
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x404305
push dword [ebp - 0x39c]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push dword [ebp - 0x398]
call edi
push 0x1f4
push dword [ebp - 0x348]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, ebx
jne 0x4039f4
mov ecx, dword [0x43c180]
mov eax, dword [ecx]
call dword [eax + 0x94]
mov edx, dword [eax]
push 0x8000012f
push 0x12f
mov ecx, eax
call dword [edx + 4]
push eax
call fcn.00402199
mov edi, eax
pop ecx
pop ecx
cmp edi, ebx
je 0x403cb5
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
lea ecx, [eax + edi + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
call fcn.00401640
call fcn.0040270e
xor edi, edi
inc edi
push 0x23
push edi
cmp al, 1
jne 0x403d64
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x403d10
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42bc68
call fcn.00408be0
push eax
push 0x2bd
push 0xd2
push 0x23
push edi
mov dword [ebp - 0x328], eax
call fcn.004094a0
push dword [ebp - 0x328]
call fcn.004141bd
add esp, 0x20
mov dword [ebp - 0x334], edi
jmp 0x403dae
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
cmp al, 1
jne 0x403c59
mov ecx, dword [ebp - 0x354]
mov eax, dword [ebp - 0x350]
add ecx, 0xea60
adc eax, ebx
cmp dword [ebp - 0x360], eax
jl 0x403c59
jg 0x403d58
cmp dword [ebp - 0x364], ecx
jb 0x403c59
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
jmp 0x403c59
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x403da7
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42bc08
call fcn.00408be0
push eax
push 0x2c2
push 0xd2
push 0x23
push edi
mov dword [ebp - 0x328], eax
call fcn.004094a0
push dword [ebp - 0x328]
call fcn.004141bd
add esp, 0x20
or dword [ebp - 0x334], 0xffffffff
mov ecx, dword [0x43c180]
mov eax, dword [ecx]
call dword [eax + 0x94]
mov edx, dword [eax]
push 0x80000168
push 0x168
mov ecx, eax
call dword [edx + 4]
push eax
call fcn.00402199
pop ecx
pop ecx
mov dword [ebp - 0x330], eax
cmp eax, ebx
je 0x404352
mov edi, dword [eax]
call fcn.0040e9f8
mov ecx, dword [ebp - 0x330]
push eax
call dword [edi]
push 0x42b8d8
call fcn.004087f7
mov dword [ebp - 0x328], eax
mov dword [esp], 0x42bbe8
call fcn.004087f7
mov dword [ebp - 0x320], eax
mov dword [esp], 0x42bbcc
call fcn.004087f7
mov dword [ebp - 0x33c], eax
mov dword [esp], 0x42bbb0
call fcn.004087f7
mov ecx, dword [ebp - 0x330]
mov dword [esp], 0x1a4
push dword [ebp - 0x328]
mov dword [ebp - 0x32c], eax
mov eax, dword [ecx]
mov byte [ebp - 0x321], 1
call dword [eax + 0x50]
mov edi, eax
cmp edi, ebx
je 0x404383
push dword [ebp - 0x320]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov ecx, dword [0x43c180]
mov dword [ebp - 0x35c], eax
or eax, edx
mov eax, dword [ecx]
mov dword [ebp - 0x358], edx
jne 0x403ea5
call dword [eax + 4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x184]
push edx
push eax
push dword [ebp - 0x320]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
jmp 0x403eec
call dword [eax + 4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x184]
mov ecx, eax
sub ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x388], edx
sbb edx, dword [ebp - 0x358]
mov dword [ebp - 0x368], edx
js 0x403ef8
jg 0x403ed8
cmp ecx, 0xa4cb800
jb 0x403ef8
push dword [ebp - 0x388]
mov edx, dword [edi]
push eax
push dword [ebp - 0x320]
mov ecx, edi
call dword [edx + 0x28]
mov dword [ebp - 0x320], 1
jmp 0x403f6c
push dword [ebp - 0x33c]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov dword [ebp - 0x320], eax
cmp eax, 0xa
jge 0x403f18
inc dword [ebp - 0x320]
jmp 0x403f6c
push 0x23
push 1
mov dword [ebp - 0x320], ebx
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x403f66
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42bb68
call fcn.00408be0
push eax
push 0x304
push 0xd2
push 0x23
push 1
mov dword [ebp - 0x368], eax
call fcn.004094a0
push dword [ebp - 0x368]
call fcn.004141bd
add esp, 0x20
mov byte [ebp - 0x321], bl
push dword [ebp - 0x320]
mov eax, dword [edi]
push dword [ebp - 0x33c]
mov ecx, edi
call dword [eax + 0x24]
mov eax, dword [edi]
push 1
push dword [ebp - 0x32c]
mov ecx, edi
call dword [eax + 0x2c]
mov ecx, dword [ebp - 0x330]
mov eax, dword [ecx]
push edi
push dword [ebp - 0x328]
call dword [eax + 0x58]
test al, al
je 0x4043dc
mov eax, dword [ebp - 0x330]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
lea ecx, [eax + edi + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp byte [ebp - 0x321], bl
je 0x4044c7
push 0x23
push 4
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x40401c
push 0x42bb34
call fcn.00408be0
push eax
push 0x322
mov edi, 0xd2
push edi
push 0x23
push 4
mov dword [ebp - 0x32c], eax
call fcn.004094a0
push dword [ebp - 0x32c]
call fcn.004141bd
add esp, 0x1c
jmp 0x404021
mov edi, 0xd2
lea ecx, [ebp - 0x321]
call fcn.00403506
push 0x23
cmp eax, ebx
jne 0x404473
push 3
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x404078
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42bafc
call fcn.00408be0
push eax
push 0x329
push edi
push 0x23
push 3
mov dword [ebp - 0x32c], eax
call fcn.004094a0
push dword [ebp - 0x32c]
call fcn.004141bd
add esp, 0x20
mov eax, dword [ebp - 0x344]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [0x43c180]
mov eax, dword [ecx]
call dword [eax + 0x94]
mov edx, dword [eax]
push 0x800005e6
push 0x5e6
mov ecx, eax
call dword [edx + 4]
push eax
call fcn.00402199
push 0x333
push str.CorpLauncher.cpp
push 0xc4
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x338], ebx
call fcn.00414091
add esp, 0x14
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x4040f5
push 1
push ebx
push ebx
push ebx
push ebx
push ebx
mov ecx, eax
call fcn.0040e6ce
mov edi, eax
jmp 0x4040f7
xor edi, edi
mov byte [ebp - 4], bl
lea eax, [ebp - 0x338]
push eax
push ebx
push ebx
push 0x3e8
push 1
push 0xa8
push 0x1f
mov ecx, edi
call fcn.0040e99d
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx]
call dword [eax + 0x60]
push 2
push ebx
mov dword [ebp - 0x32c], eax
push ebx
lea eax, [ebp - 0x340]
push eax
call esi
mov ecx, dword [ebp - 0x32c]
push eax
mov eax, dword [ecx]
call dword [eax + 8]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx]
call dword [eax + 0x60]
push 2
push ebx
mov dword [ebp - 0x32c], eax
push ebx
lea eax, [ebp - 0x34c]
push eax
call esi
mov ecx, dword [ebp - 0x32c]
push eax
mov eax, dword [ecx]
call dword [eax + 0x1c]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov eax, dword [ebp - 0x338]
cmp eax, ebx
je 0x4041a7
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebp - 0x338], ebx
push 0x23
push 4
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x4041eb
push dword [ebp - 0x34c]
push dword [ebp - 0x340]
push 0x42bd10
call fcn.00408be0
mov edi, eax
push edi
push 0x342
push 0xd2
push 0x23
push 4
call fcn.004094a0
push edi
call fcn.004141bd
add esp, 0x24
mov ecx, dword [ebp - 0x344]
mov eax, dword [ecx]
push 1
push dword [ebp - 0x34c]
push dword [ebp - 0x340]
call dword [eax]
push dword [ebp - 0x348]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.004011e8
mov edi, eax
cmp edi, ebx
je 0x4044c7
push edi
push ebx
push 0x100400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x348], eax
push 0x23
cmp eax, ebx
je 0x404448
push 3
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x4039f4
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42bccc
call fcn.00408be0
mov edi, eax
push edi
push 0x351
push 0xd2
push 0x23
push 3
call fcn.004094a0
push edi
jmp 0x4039ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x23
push 1
mov esi, eax
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x4044c7
push esi
push 0x42bad0
call fcn.00408be0
mov esi, eax
push esi
push 0x26d
push 0xd2
push 0x23
push 1
call fcn.004094a0
push esi
call fcn.004141bd
add esp, 0x20
jmp 0x4044c7
push 0x23
push 1
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x4044c7
push 0x42b748
call fcn.00408be0
mov esi, eax
push esi
push 0x278
push 0xd2
push 0x23
push 1
call fcn.004094a0
push esi
call fcn.004141bd
add esp, 0x1c
jmp 0x4044c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x23
push 1
mov esi, eax
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x404346
push esi
push 0x42baa8
call fcn.00408be0
mov esi, eax
push esi
push 0x29d
push 0xd2
push 0x23
push 1
call fcn.004094a0
push esi
call fcn.004141bd
add esp, 0x20
or dword [ebp - 0x334], 0xffffffff
jmp 0x4044c7
push 0x23
push edi
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x404346
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42ba50
call fcn.00408be0
mov esi, eax
push esi
push 0x2ca
push 0xd2
push 0x23
push edi
jmp 0x404338
push 0x23
push 1
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x4043c2
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42b9f8
call fcn.00408be0
mov esi, eax
push esi
push 0x2de
push 0xd2
push 0x23
push 1
call fcn.004094a0
push esi
call fcn.004141bd
add esp, 0x20
mov eax, dword [ebp - 0x330]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x404346
push 0x23
push 1
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x40441b
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42b9a0
call fcn.00408be0
mov esi, eax
push esi
push 0x30d
push 0xd2
push 0x23
push 1
call fcn.004094a0
push esi
call fcn.004141bd
add esp, 0x20
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
or dword [ebp - 0x334], 0xffffffff
lea ecx, [eax + edi + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov eax, dword [ebp - 0x330]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x4044c7
push 1
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x4044c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x42bd6c
call fcn.00408be0
mov esi, eax
push esi
push 0x34c
jmp 0x4042a8
push 1
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x4044ac
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42b96c
call fcn.00408be0
mov esi, eax
push esi
push 0x35a
push edi
push 0x23
push 1
call fcn.004094a0
push esi
call fcn.004141bd
add esp, 0x20
or dword [ebp - 0x334], 0xffffffff
cmp dword [ebp - 0x340], ebx
je 0x4044c7
push dword [ebp - 0x340]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x23
push 4
call fcn.00409a80
pop ecx
pop ecx
test al, al
je 0x404506
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x42b934
call fcn.00408be0
mov esi, eax
push esi
push 0x366
push 0xd2
push 0x23
push 4
call fcn.004094a0
push esi
call fcn.004141bd
add esp, 0x20
mov eax, dword [ebp - 0x344]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [ebp - 0x348], ebx
je 0x40452f
push dword [ebp - 0x348]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x37c], ebx
je 0x404547
push dword [ebp - 0x37c]
call fcn.004141bd
pop ecx
mov eax, dword [ebp - 0x334]
call fcn.0041635c
ret