Function at 0x403f50
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 4], 0
call fcn.004042e0
mov eax, dword [ebp + 8]
mov dword [0x41713c], eax
push 0x413aec
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x417140], eax
cmp dword [0x417140], 0
jne 0x403f9b
mov ecx, dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x417140], ecx
push 0x413ad0
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x417144], eax
cmp dword [0x417144], 0
jne 0x403fcc
mov edx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x417144], edx
push 0x413abc
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x417148], eax
cmp dword [0x417148], 0
jne 0x403ffb
mov eax, dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [0x417148], eax
push 0x413aac
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x41714c], eax
cmp dword [0x41714c], 0
jne 0x40402c
mov ecx, dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x41714c], ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00404340
add esp, 4
test eax, eax
je 0x404050
mov eax, dword [ebp + 8]
push eax
call fcn.00404440
add esp, 4
mov dword [ebp - 4], eax
call fcn.00404a60
cmp dword [0x417158], 0
je 0x404070
mov ecx, dword [0x417158]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [0x417158], 0
cmp dword [ebp - 4], 0
je 0x40411a
cmp dword [0x417154], 0
jne 0x404115
mov dword [ebp - 0xc], 0
mov edx, 0x11111111
and edx, 1
je 0x4040a6
push 0
push 1
call fcn.00404200
mov dword [ebp - 0x10], eax
jmp 0x4040ad
mov dword [ebp - 0x10], 1
mov eax, 0x11111111
and eax, 0x10
je 0x4040c5
push 0
push 2
call fcn.00404200
mov dword [ebp - 8], eax
jmp 0x4040cc
mov dword [ebp - 8], 2
push 0
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0xc], eax
mov eax, 0x11111111
and eax, 1
je 0x4040fb
cmp dword [ebp - 0x10], 0
je 0x4040fb
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, 0x11111111
and edx, 0x10
je 0x404115
cmp dword [ebp - 8], 0
je 0x404115
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x4041c6
mov dword [ebp - 0x18], 0
mov ecx, 0x11111111
and ecx, 1
je 0x404139
push 0
push 3
call fcn.00404200
mov dword [ebp - 0x1c], eax
jmp 0x404140
mov dword [ebp - 0x1c], 3
mov edx, 0x11111111
and edx, 0x10
je 0x404158
push 0
push 2
call fcn.00404200
mov dword [ebp - 0x14], eax
jmp 0x40415f
mov dword [ebp - 0x14], 2
push 0x30
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x18], eax
mov edx, 0x11111111
and edx, 1
je 0x40418e
cmp dword [ebp - 0x1c], 0
je 0x40418e
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, 0x11111111
and ecx, 0x10
je 0x4041a8
cmp dword [ebp - 0x14], 0
je 0x4041a8
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x41715c], 0
je 0x4041bf
push 0
mov eax, dword [0x41715c]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov eax, 0x3e7
jmp 0x4041ed
cmp dword [0x41715c], 0
je 0x4041eb
push 0
mov ecx, dword [0x41715c]
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov edx, dword [0x41715c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov esp, ebp
pop ebp
ret 0x10