Function at 0x443970
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x490329
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x4c0074]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x34], eax
xor bl, bl
call fcn.0041e1d0
or esi, 0xffffffff
cmp byte [eax + 0x1c], bl
je 0x443ab1
call fcn.0041e1d0
test byte [eax + 0x20], 4
je 0x443ab1
call fcn.0041e1d0
mov dword [ebp - 0x30], eax
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x443dbf
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x10]
push 0x25
push str.Waiting_for_commands._File_map_name:
call fcn.00402280
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x1c], eax
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x443dc9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1c]
test edx, edx
je 0x443a51
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1c], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x443a37
sub ecx, dword [ebp - 0x1c]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x10]
call fcn.00402280
push 0
push 0x4a4fb8
lea ecx, [ebp - 0x14]
call fcn.00402280
push ecx
lea eax, [ebp - 0x10]
push eax
push ecx
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x14]
push eax
call fcn.0041e320
mov byte [ebp - 4], 2
mov eax, esi
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x443a90
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x443ab1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xa
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x443b01
test bl, bl
jne 0x443adb
mov ecx, edi
call fcn.00445890
test al, al
movzx ebx, bl
mov eax, 1
cmovne ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x34]
cmp eax, 0xea60
ja 0x443da4
push 0xa
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x443ac3
test eax, eax
jne 0x443d96
push dword [edi]
lea ecx, [ebp - 0x2c]
call fcn.00403990
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x28]
mov eax, dword [edi]
add eax, 0x820
push eax
call fcn.00403990
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x24]
mov eax, dword [edi]
add eax, 0x1040
push eax
call fcn.00403990
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x20]
mov eax, dword [edi]
add eax, 0x1860
push eax
call fcn.00403990
mov byte [ebp - 4], 0xd
xor ebx, ebx
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x443b75
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x24]
push edx
lea edx, [ebp - 0x28]
push edx
lea edx, [ebp - 0x2c]
push edx
call dword [eax]
mov ebx, eax
call fcn.0041e1d0
cmp byte [eax + 0x1c], 0
je 0x443cfa
call fcn.0041e1d0
test byte [eax + 0x20], 4
je 0x443cfa
call fcn.0041e1d0
mov dword [ebp - 0x34], eax
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x443dd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x10]
push 8
push str.Command
call fcn.00402280
mov esi, dword [edi]
mov byte [ebp - 4], 0x11
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x443ddd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x11
lea eax, [esi + 0x1860]
push eax
lea eax, [esi + 0x1040]
mov dword [ebp - 0x18], 1
push eax
lea eax, [esi + 0x820]
push eax
push esi
lea eax, [ebp - 0x1c]
push str._s___s_____s_____s__
push eax
call fcn.00403590
mov esi, dword [ebp - 0x1c]
add esp, 0x18
test esi, esi
je 0x443c3f
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x443c26
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x10]
call fcn.00402280
push str._executed._Return_code:
lea ecx, [ebp - 0x10]
call fcn.00408330
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x443de7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x14]
push 0
push 0x4a4fb8
call fcn.00402280
push ecx
push ebx
lea ecx, [ebp - 0x10]
call fcn.0041ddf0
push eax
push ecx
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x14]
push eax
call fcn.0041e320
mov byte [ebp - 4], 0x11
or eax, 0xffffffff
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x443cb0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 1
mov dword [ebp - 0x18], eax
and eax, 0xfffffffe
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x443cdc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
mov eax, esi
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x443cfa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi]
mov dword [eax + 0x2080], ebx
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [ebp - 4], 0xc
mov eax, esi
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x443d29
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov eax, esi
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x443d47
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x443d65
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x443dad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [edi]
mov dword [ecx + 0x2080], eax
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
int3