Function at 0x42d791
Capabilities:
Create thread
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a8af3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x2cd4
call fcn.0045a5d0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2cac], ecx
mov byte [ebp - 0x2c2c], 0
mov ecx, 0x9ff
xor eax, eax
lea edi, [ebp - 0x2c2b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x2c38], 0
xor eax, eax
mov dword [ebp - 0x2c37], eax
mov dword [ebp - 0x2c33], eax
mov byte [ebp - 0x2c2f], al
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x2c2c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov byte [ebp - 0x410], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x40f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x624434]
push eax
mov ecx, dword [0x624430]
push ecx
mov edx, dword [0x62443c]
push edx
mov eax, dword [0x624438]
push eax
mov ecx, dword [ebp - 0x2cac]
mov edx, dword [ecx + 0x4fc]
push edx
push 0x60ead8
push 0xa
push str.r2_l9n8C
lea eax, [ebp - 0x410]
push eax
call dword [0x62341c]
add esp, 0x24
lea ecx, [ebp - 0x410]
push ecx
lea edx, [ebp - 0x2c2c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dword [ebp - 0x2c5c], 0
lea eax, [ebp - 0x2c3c]
push eax
push 0
lea ecx, [ebp - 0x2c2c]
push ecx
push fcn.0042d485
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x428], 0
mov edx, 1
test edx, edx
je 0x42da22
push 0
push 0
push 0
lea eax, [ebp - 0x2c58]
push eax
call dword [0x623428]
test eax, eax
jne 0x42d8f4
push 0
mov ecx, dword [ebp - 0x424]
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov ecx, dword [ebp - 0x2cac]
call fcn.00581b35
or eax, 0xffffffff
jmp 0x42e086
lea edx, [ebp - 0x2c58]
push edx
call dword [0x62342c]
lea eax, [ebp - 0x2c58]
push eax
call dword [0x623430]
push 0x3e8
mov ecx, dword [ebp - 0x424]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x42d93d
lea edx, [ebp - 0x2c5c]
push edx
mov eax, dword [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
jmp 0x42da22
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
cmp dword [ebp - 0x428], 0x1e
jne 0x42d980
push 1
push 0x60eb04
push 0
mov ecx, dword [ebp - 0x2cac]
add ecx, 0x5c
call fcn.005907c8
push 0
mov edx, dword [ebp - 0x424]
push edx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
jmp 0x42da22
push 1
push 0x60eb0c
push 0
lea eax, [ebp - 0x2c8c]
push eax
mov ecx, dword [ebp - 0x2cac]
add ecx, 0x5c
call fcn.005907a3
mov dword [ebp - 0x2cb0], eax
mov ecx, dword [ebp - 0x2cb0]
mov dword [ebp - 0x2cb4], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x2cb4]
push edx
lea eax, [ebp - 0x2c90]
push eax
call fcn.00585e56
mov dword [ebp - 0x2cb8], eax
mov ecx, dword [ebp - 0x2cb8]
mov dword [ebp - 0x2cbc], ecx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x2cbc]
call fcn.00401260
push eax
push 0
mov ecx, dword [ebp - 0x2cac]
add ecx, 0x5c
call fcn.005907c8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c90]
call fcn.00585bc1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c8c]
call fcn.00585bc1
jmp 0x42d8ae
mov edx, dword [ebp - 0x424]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
cmp dword [ebp - 0x2c5c], 0xa
jbe 0x42e083
cmp dword [ebp + 0x10], 0
je 0x42da60
lea ecx, [ebp - 0x2c2c]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x2c38]
push eax
mov ecx, dword [ebp - 0x2c5c]
sub ecx, 8
push ecx
lea edx, [ebp - 0x2c2c]
push edx
call fcn.004262a9
add esp, 0xc
mov eax, dword [ebp - 0x2c5c]
lea esi, [ebp + eax - 0x2c2c]
lea ecx, [ebp - 0x2c38]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub esi, eax
push esi
lea edx, [ebp - 0x2c38]
push edx
call fcn.004621b0
add esp, 8
test eax, eax
jne 0x42e083
lea eax, [ebp - 0x2c2c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [ebp + eax - 0x2c2b]
mov dword [ebp - 0x2c68], ecx
mov edx, dword [ebp - 0x2c68]
push edx
call fcn.0045a879
add esp, 4
mov dword [ebp - 0x2c64], eax
mov eax, dword [ebp - 0x2c68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x2c68]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x2c68], edx
mov eax, dword [ebp - 0x2c68]
push eax
call fcn.0045a879
add esp, 4
mov dword [ebp - 0x2c60], eax
cmp dword [ebp - 0x2c60], 0xffffffff
jne 0x42db2f
lea ecx, [ebp - 0x2c2c]
push ecx
call fcn.004274b7
add esp, 4
jmp 0x42db6f
cmp dword [ebp - 0x2c64], 1
jne 0x42db6f
cmp dword [ebp - 0x2c60], 0
jne 0x42db5c
push 1
lea edx, [ebp - 0x2c2c]
push edx
push 0
mov ecx, dword [ebp - 0x2cac]
add ecx, 0x5c
call fcn.005907c8
jmp 0x42db6f
push 0
push 0x10040
lea eax, [ebp - 0x2c2c]
push eax
call fcn.00590cdf
cmp dword [ebp - 0x2c60], 0
jne 0x42db7f
xor eax, eax
jmp 0x42e086
cmp dword [ebp - 0x2c60], 0xa
jge 0x42dba3
push 0x60eb10
call fcn.0042ed9c
add esp, 4
push eax
call fcn.004274b7
add esp, 4
jmp 0x42e083
mov ecx, dword [ebp - 0x2cac]
mov byte [ecx + 0x4ec], 1
mov edx, dword [ebp - 0x2c68]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x2c68]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x2c7c], edx
lea ecx, [ebp - 0x2c70]
call fcn.00401240
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x2cac]
cmp dword [eax + 0x4f0], 0
je 0x42dd78
push 0x62443c
push 0x60eb28
push 0x624438
mov ecx, dword [ebp + 0xc]
push ecx
push 0x60eb2c
push 0x624430
lea edx, [ebp - 0x2c94]
push edx
call fcn.00585e56
mov dword [ebp - 0x2cc0], eax
mov eax, dword [ebp - 0x2cc0]
mov dword [ebp - 0x2cc4], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2cc4]
push ecx
lea edx, [ebp - 0x2c98]
push edx
call fcn.00585e56
mov dword [ebp - 0x2cc8], eax
mov eax, dword [ebp - 0x2cc8]
mov dword [ebp - 0x2ccc], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x2ccc]
push ecx
lea edx, [ebp - 0x2c9c]
push edx
call fcn.00585df0
mov dword [ebp - 0x2cd0], eax
mov eax, dword [ebp - 0x2cd0]
mov dword [ebp - 0x2cd4], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x2cd4]
push ecx
lea edx, [ebp - 0x2ca0]
push edx
call fcn.00585e56
mov dword [ebp - 0x2cd8], eax
mov eax, dword [ebp - 0x2cd8]
mov dword [ebp - 0x2cdc], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x2cdc]
push ecx
lea edx, [ebp - 0x2ca4]
push edx
call fcn.00585df0
mov dword [ebp - 0x2ce0], eax
mov eax, dword [ebp - 0x2ce0]
mov dword [ebp - 0x2ce4], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x2ce4]
push ecx
lea ecx, [ebp - 0x2c70]
call fcn.00585cfa
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2ca4]
call fcn.00585bc1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2ca0]
call fcn.00585bc1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c9c]
call fcn.00585bc1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c98]
call fcn.00585bc1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c94]
call fcn.00585bc1
lea ecx, [ebp - 0x2c70]
call fcn.00401260
push eax
call fcn.0043a33b
add esp, 4
mov dword [ebp - 0x2c84], eax
mov edx, dword [ebp - 0x2c84]
push edx
push 0x60eb30
push 0x60eb34
call fcn.00403a80
mov ecx, eax
call fcn.00590e8d
mov eax, dword [ebp - 0x2c84]
push eax
call fcn.0045af53
add esp, 4
mov ecx, dword [ebp - 0x2c7c]
push ecx
push 0x60eb38
push 0x60eb44
call fcn.00403a80
mov ecx, eax
call fcn.00590e8d
push 0xc7
mov edx, dword [ebp - 0x2c7c]
push edx
push 0x6244ac
call fcn.0045a6f0
add esp, 0xc
mov eax, dword [ebp - 0x2c7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x2c7c]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x2c7c], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x2c7c]
push eax
call fcn.0045a879
add esp, 4
mov dword [0x60981c], eax
cmp dword [0x60981c], 0
jne 0x42ddf6
mov dword [0x60981c], 0x7fffffff
mov ecx, dword [ebp - 0x2c7c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [ebp - 0x2c7c]
lea eax, [edx + eax + 1]
mov dword [ebp - 0x2c7c], eax
mov ecx, dword [ebp - 0x2c7c]
push ecx
call fcn.0045a879
add esp, 4
mov dword [0x609820], eax
jmp 0x42de2f
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2c80]
call fcn.00401240
mov byte [ebp - 4], 0xa
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x41a]
and eax, 0xffff
push eax
push 0x60eb48
lea ecx, [ebp - 0x2c80]
push ecx
call fcn.0057e262
add esp, 0x10
lea ecx, [ebp - 0x2c80]
call fcn.00401260
push eax
call fcn.0043a33b
add esp, 4
mov dword [ebp - 0x2c6c], eax
push 0x60eb50
call fcn.0042ed9c
add esp, 4
mov dword [ebp - 0x2c78], eax
mov edx, dword [ebp - 0x2c6c]
push edx
mov eax, dword [ebp - 0x2c78]
push eax
push 0x60eb5c
call fcn.00403a80
mov ecx, eax
call fcn.00590e8d
mov ecx, dword [ebp - 0x2c6c]
push ecx
call fcn.0045af53
add esp, 4
mov edx, dword [ebp - 0x2c78]
push edx
call fcn.0045af53
add esp, 4
mov byte [ebp - 0x2c74], 0
mov eax, dword [ebp - 0x2c7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x2c7c]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x2c7c], edx
push 0x624574
mov eax, dword [ebp - 0x2c7c]
push eax
call fcn.0045b1d0
add esp, 8
test eax, eax
je 0x42df2a
mov byte [ebp - 0x2c74], 1
mov ecx, dword [ebp - 0x2c7c]
push ecx
push 0x624574
call fcn.0045a600
add esp, 8
mov edx, dword [ebp - 0x2c7c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x2c7c]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x2c7c], edx
push 0x624704
mov eax, dword [ebp - 0x2c7c]
push eax
call fcn.0045b1d0
add esp, 8
test eax, eax
je 0x42df7a
mov byte [ebp - 0x2c74], 1
mov ecx, dword [ebp - 0x2c7c]
push ecx
push 0x624704
call fcn.0045a600
add esp, 8
mov edx, dword [ebp - 0x2c7c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x2c7c]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x2c7c], edx
push 0x62463c
mov eax, dword [ebp - 0x2c7c]
push eax
call fcn.0045b1d0
add esp, 8
test eax, eax
je 0x42dfca
mov byte [ebp - 0x2c74], 1
mov ecx, dword [ebp - 0x2c7c]
push ecx
push 0x62463c
call fcn.0045a600
add esp, 8
mov edx, dword [ebp - 0x2c74]
and edx, 0xff
test edx, edx
je 0x42e043
push 0x62463c
push 0x624704
push 0x624574
push 0x60eb60
lea eax, [ebp - 0x2c70]
push eax
call fcn.0057e262
add esp, 0x14
lea ecx, [ebp - 0x2c70]
call fcn.00401260
push eax
call fcn.0043a33b
add esp, 4
mov dword [ebp - 0x2c88], eax
mov ecx, dword [ebp - 0x2c88]
push ecx
push 0x60eb6c
push 0x60eb74
call fcn.00403a80
mov ecx, eax
call fcn.00590e8d
mov edx, dword [ebp - 0x2c88]
push edx
call fcn.0045af53
add esp, 4
mov eax, dword [ebp - 0x2c60]
mov dword [0x623eb4], eax
mov ecx, dword [ebp - 0x2c60]
mov dword [ebp - 0x2ca8], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c80]
call fcn.00585bc1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c70]
call fcn.00585bc1
mov eax, dword [ebp - 0x2ca8]
jmp 0x42e086
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc