Function at 0x401000
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1140
call fcn.00402350
mov eax, dword [0x41dff0]
xor eax, ebp
mov dword [ebp - 0x3c], eax
push ebx
mov dword [ebp - 0x1104], 0
jmp 0x401033
mov eax, dword [ebp - 0x1104]
add eax, 1
mov dword [ebp - 0x1104], eax
cmp dword [ebp - 0x1104], 2
jae 0x401085
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [ebp - 0x1104]
mov dword [ecx*4 + 0x41f4a0], eax
mov edx, dword [ebp - 0x1104]
cmp dword [edx*4 + 0x41f4a0], 0
jne 0x401083
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateEvent_error:__d_n
call fcn.004021f2
add esp, 8
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x401024
lea eax, [ebp - 0x14]
push eax
push 0
push 0
push 0x401520
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x10dc], eax
cmp dword [ebp - 0x10dc], 0
jne 0x4010c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateThread_error:__d_n
call fcn.004021f2
add esp, 8
mov eax, 1
jmp 0x4014ed
push 0x1388
push 0
push 0x41f4a0
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 0xfec], eax
mov ecx, dword [ebp - 0xfec]
mov dword [ebp - 0x1140], ecx
cmp dword [ebp - 0x1140], 0
je 0x40110f
cmp dword [ebp - 0x1140], 1
je 0x40111e
cmp dword [ebp - 0x1140], 0x102
je 0x40112d
jmp 0x40113c
push str.First_event_was_signaled._n
call fcn.004021f2
add esp, 4
jmp 0x401158
push str.Second_event_was_signaled._n
call fcn.004021f2
add esp, 4
jmp 0x401158
push str.Wait_timed_out._n
call fcn.004021f2
add esp, 4
jmp 0x401158
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Wait_error:__d_n
call fcn.004021f2
add esp, 8
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 0x1104], 0
jmp 0x401173
mov edx, dword [ebp - 0x1104]
add edx, 1
mov dword [ebp - 0x1104], edx
cmp dword [ebp - 0x1104], 2
jae 0x401192
mov eax, dword [ebp - 0x1104]
mov ecx, dword [eax*4 + 0x41f4a0]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x401164
fld qword [0x4114d8]
fstp qword [ebp - 0x10]
fld qword [0x4114d0]
fstp qword [ebp - 0xfe8]
sub esp, 8
fld qword [ebp - 0xfe8]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0x10]
fstp qword [esp]
call fcn.004021c0
add esp, 0x10
fstp qword [ebp - 0x10d8]
mov dx, word [0x4112fc]
mov word [ebp - 0x1100], dx
mov al, byte [0x4112fe]
mov byte [ebp - 0x10fe], al
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xc
mov dword [ebp - 0x2c], 0x19
mov dword [ebp - 0x28], 0xb
mov dword [ebp - 0x24], 0x5d
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
lea edx, [ebp - 0x10d0]
push edx
push str.OS_time:_t_t_t_t_s_n
call fcn.004021f2
add esp, 8
lea eax, [ebp - 0x10d0]
push eax
push str.OS_date:_t_t_t_t_s_n
call fcn.004021f2
add esp, 8
lea ecx, [ebp - 0x10f0]
push ecx
call fcn.00401500
add esp, 4
mov edx, dword [ebp - 0x10ec]
push edx
mov eax, dword [ebp - 0x10f0]
push eax
push str.Time_in_seconds_since_UTC_1_1_70:_t_ld_n
call fcn.004021f2
add esp, 0xc
lea ecx, [ebp - 0x104c]
push ecx
push str.UNIX_time_and_date:_t_t_t_s
call fcn.004021f2
add esp, 8
lea edx, [ebp - 0x10f0]
push edx
lea eax, [ebp - 0x112c]
push eax
call fcn.00401f73
add esp, 8
mov dword [ebp - 0x10e8], eax
cmp dword [ebp - 0x10e8], 0
je 0x4012b0
push str._gmtime64_s_failed_due_to_an_invalid_argument.
call fcn.004021f2
add esp, 4
lea ecx, [ebp - 0x112c]
push ecx
push 0x1a
lea edx, [ebp - 0x104c]
push edx
call fcn.00401da5
add esp, 0xc
mov dword [ebp - 0x10e8], eax
cmp dword [ebp - 0x10e8], 0
je 0x4012eb
push str.asctime_s_failed_due_to_an_invalid_argument.
call fcn.004021f2
add esp, 4
push 1
call fcn.00401d0d
lea eax, [ebp - 0x104c]
push eax
push str.Coordinated_universal_time:_t_t_s
call fcn.004021f2
add esp, 8
lea ecx, [ebp - 0x10f0]
push ecx
lea edx, [ebp - 0x1020]
push edx
call fcn.004017b5
add esp, 8
mov dword [ebp - 0x10e8], eax
cmp dword [ebp - 0x10e8], 0
je 0x401338
push str._localtime64_s_failed_due_to_an_invalid_argument.
call fcn.004021f2
add esp, 4
push 1
call fcn.00401d0d
lea eax, [ebp - 0x1100]
push eax
lea ecx, [ebp - 0x1041]
push ecx
push str.12_hour_time:_t_t_t_t_.8s__s_n
call fcn.004021f2
add esp, 0xc
lea edx, [ebp - 0x1030]
push edx
call fcn.004017aa
add esp, 4
movzx eax, word [ebp - 0x1028]
push eax
push str.Plus_milliseconds:_t_t_t_u_n
call fcn.004021f2
add esp, 8
movsx eax, word [ebp - 0x1026]
cdq
mov ecx, 0x3c
idiv ecx
push eax
push str.Zone_difference_in_hours_from_UTC:_t_u_n
call fcn.004021f2
add esp, 8
mov dword [ebp - 0xff4], 0
mov dword [ebp - 0xff0], 0
mov dword [ebp - 0x10e4], 0xb7e
mov byte [ebp - 0x10f9], 0x1a
mov dword [ebp - 0x113c], 0
jmp 0x4013d4
mov edx, dword [ebp - 0x113c]
add edx, 1
mov dword [ebp - 0x113c], edx
cmp dword [ebp - 0x113c], 0xa
jge 0x4013e9
push 0
push 0
call dword [sym.imp.USER32.dll_GetClientRect]
jmp 0x4013c5
mov dword [ebp - 0x1138], 0x29a
mov dword [ebp - 0x1134], 0x4d
mov eax, dword [ebp - 0x1138]
nop
nop
mov ebx, dword [ebp - 0x1134]
nop
nop
add eax, ebx
nop
nop
mov dword [ebp - 0x1130], eax
mov al, byte [ebp - 0x10f9]
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0xff4]
movzx edx, byte [ecx + 0x41d410]
movsx eax, byte [ebp - 1]
add edx, eax
mov byte [ebp - 2], dl
mov cl, byte [ebp - 2]
mov byte [ebp - 0xff5], cl
mov edx, dword [ebp - 0xff4]
mov al, byte [ebp - 0xff5]
mov byte [ebp + edx - 0xfe0], al
mov ecx, dword [ebp - 0xff4]
add ecx, 1
mov dword [ebp - 0xff4], ecx
mov edx, dword [ebp - 0xff4]
cmp edx, dword [ebp - 0x10e4]
jne 0x4013b9
push 4
push 0x28
call fcn.004015f4
add esp, 8
mov dword [ebp - 0x10f8], eax
push 4
push 0x28
call fcn.004015f4
add esp, 8
mov dword [ebp - 0x10f4], eax
cmp dword [ebp - 0x10f8], 0
je 0x4014b8
cmp dword [ebp - 0x10f4], 0
je 0x4014b8
push str.Allocated_memory_successfully_n
call fcn.004021f2
add esp, 4
jmp 0x4014c5
push str.Problem_allocating_memory_n
call fcn.004021f2
add esp, 4
mov eax, dword [ebp - 0x10f8]
push eax
call fcn.00401566
add esp, 4
mov ecx, dword [ebp - 0x10f4]
push ecx
call fcn.00401566
add esp, 4
lea edx, [ebp - 0xfe0]
call edx
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0x3c]
xor ecx, ebp
call fcn.0040233a
mov esp, ebp
pop ebp
ret 0x10