Function at 0x427a5c
Capabilities:
Create thread
Resume thread

Disassembly:
sub esp, 0x31c
push ebp
push edi
push esi
push ebx
mov esi, dword [esp + 0x334]
mov edi, dword [esp + 0x338]
add esp, 0xfffffff4
mov eax, dword [esp + 0x33c]
push eax
call fcn.00427814
add esp, 0x10
test eax, eax
jne 0x427ad4
cmp edi, 0xff
jg 0x427ad4
xor ecx, ecx
lea ebp, [esp + 0x220]
lea edx, [esp + 0x20]
mov dword [esp + 0x18], edx
cmp ecx, edi
jge 0x427a48
mov ebx, ebp
mov eax, edi
and eax, 3
test edi, edi
jle 0x427a12
test eax, eax
je 0x427a20
cmp eax, 1
jle 0x427a12
cmp eax, 2
jle 0x427a0b
mov al, byte [esi]
mov byte [esp + 0x220], al
inc ecx
mov al, byte [ecx + esi]
mov byte [ecx + ebp], al
inc ecx
mov al, byte [ecx + esi]
mov byte [ecx + ebx], al
inc ecx
cmp ecx, edi
jge 0x427a48
lea esi, [esi]
mov al, byte [ecx + esi]
mov byte [ecx + ebx], al
lea edx, [ecx + 1]
mov al, byte [edx + esi]
mov byte [edx + ebx], al
lea edx, [ecx + 2]
mov al, byte [edx + esi]
mov byte [edx + ebx], al
lea edx, [ecx + 3]
mov al, byte [edx + esi]
mov byte [edx + ebx], al
add ecx, 4
cmp ecx, edi
jl 0x427a20
mov byte [edi + ebp], 0
add esp, 0xfffffff8
push 0xff
mov eax, dword [esp + 0x24]
push eax
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call sub.KERNEL32.dll_MultiByteToWideChar
mov edx, dword [esp + 0x338]
mov dword [edx], 0
add esp, 0xfffffff4
push 0
push pe_nt_image_headers32
mov eax, 3
cmp dword [esp + 0x358], 0
je 0x427a93
mov eax, 4
push eax
push 0
mov eax, 3
cmp dword [esp + 0x360], 0
je 0x427aaa
mov eax, 1
push eax
mov eax, 0x80000000
cmp dword [esp + 0x364], 0
je 0x427abf
mov eax, 0xc0000000
push eax
mov eax, dword [esp + 0x44]
push eax
call sub.KERNEL32.dll_CreateFileW
mov esi, eax
add esp, 0x14
cmp esi, 0xffffffff
jne 0x427ae6
add esp, 0xfffffff4
push 0
call fcn.00417a90
add esp, 0x10
jmp 0x427bf5
add esp, 0xfffffff8
push 0x30
push 1
call sub.crtdll.dll_calloc
mov ebx, eax
mov edx, dword [esp + 0x340]
mov dword [edx + 4], ebx
add esp, 0x10
test ebx, ebx
jne 0x427b20
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_CloseHandle
push 0
call fcn.00417a90
add esp, 0x10
jmp 0x427bf5
mov eax, dword [0x4e25c4]
mov edx, dword [esp + 0x330]
mov dword [edx], eax
mov dword [ebx], esi
mov eax, dword [esp + 0x33c]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x340]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
push 0
push 0
push 0
push 0
call sub.KERNEL32.dll_CreateEventA
mov dword [ebx + 8], eax
add esp, 0xfffffff8
lea eax, [esp + 0x24]
push eax
push 4
push ebx
push 0x4276a0
push 0
push 0
call sub.KERNEL32.dll_CreateThread
mov dword [ebx + 4], eax
add esp, 8
test eax, eax
jne 0x427ba0
add esp, 0xfffffff4
push 0x42794c
jmp 0x427bdc
add esp, 0xfffffff8
push 2
push eax
call sub.KERNEL32.dll_SetThreadPriority
add esp, 8
test eax, eax
jne 0x427bc2
add esp, 0xfffffff4
push 0x427962
call fcn.0041f898
add esp, 0x10
add esp, 0xfffffff4
push dword [ebx + 4]
call sub.KERNEL32.dll_ResumeThread
add esp, 0xc
test eax, eax
jne 0x427bf0
add esp, 0xfffffff4
push 0x42797d
call fcn.0041f898
add esp, 0xfffffff4
push 0
call fcn.00417a90
add esp, 0x20
jmp 0x427bf5
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
add esp, 0x31c
ret