Function at 0x4010dd
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x7c
lea edx, [ebp - 0x18]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
lea edi, [ebp - 0x2c]
mov dword [edx - 4], esp
mov dword [edx + 8], 0xffffffff
mov dword [edx + 4], 0x401560
mov esi, dword fs:[0]
mov dword [edx], esi
mov dword fs:[0], edx
push ecx
push eax
push edi
call fcn.0041a9ba
add esp, 0xc
lea esi, [ebp - 0x48]
push 0
push esi
call fcn.00402997
add esp, 8
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov dword [esi - 4], 1
mov dword [esi + 0x14], eax
lea eax, [ebp - 0x4c]
movsd qword [esi + 0xc], xmm0
lea esi, [ebp - 0x7c]
push eax
push esi
call fcn.00401ded
add esp, 8
mov eax, dword [esi + 8]
cmp eax, 0x3fffffff
ja 0x401417
mov ecx, dword [ebp - 0x78]
mov edx, ecx
and edx, 1
jne 0x401417
mov dword [ebp - 0x10], 0
lea edx, [ebp - 0x88]
push eax
push ecx
push dword [ebp + 0xc]
push edx
call fcn.00401574
add esp, 0x10
mov esi, dword [ebp + 8]
cmp dword [ebp - 0x88], 0x80000000
jne 0x40129c
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x60], eax
push 0xc
push 0x42c423
lea eax, [ebp - 0x2c]
push eax
call fcn.004162fc
add esp, 0xc
cmp dword [ebp - 0x2c], 0x80000000
jne 0x40145c
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x50], ecx
push 0xc
push str.LoadLibraryWB
lea eax, [ebp - 0x2c]
push eax
call fcn.004162fc
add esp, 0xc
cmp dword [ebp - 0x2c], 0x80000000
jne 0x401496
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x30]
test ecx, ecx
je 0x401426
cmp byte [ecx + eax - 1], 0
jne 0x401426
mov dword [ebp - 0x10], 2
push eax
call sub.KERNEL32.dll_GetModuleHandleA
mov edx, dword [ebp - 0x68]
test eax, eax
je 0x4012b3
mov ecx, dword [ebp - 0x64]
test edx, edx
je 0x401446
cmp byte [edx + ecx - 1], 0
jne 0x401446
push ecx
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x4012fc
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x60]
push eax
push ecx
push ecx
push dword [ebp + 0xc]
call sub.KERNEL32.dll_CreateRemoteThread
test eax, eax
je 0x401311
mov dword [ebp - 0x30], eax
push 0
push dword [ebp - 0x30]
call sub.KERNEL32.dll_WaitForSingleObject
cmp eax, 0x102
jne 0x4012c8
push 0xffffffffffffffff
push dword [ebp - 0x30]
call sub.KERNEL32.dll_WaitForSingleObject
jmp 0x40127f
mov eax, dword [ebp - 0x80]
movsd xmm0, qword [ebp - 0x88]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
jmp 0x40135f
push 0x29
push 0x42c512
lea eax, [ebp - 0x4c]
push eax
call fcn.0041626c
add esp, 0xc
jmp 0x401324
lea eax, [ebp - 0x70]
mov dword [eax], 0
push eax
push dword [ebp - 0x30]
call sub.KERNEL32.dll_GetExitCodeThread
test eax, eax
je 0x401385
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x40139a
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0x80000000
jmp 0x4013bd
push 0x2a
push 0x42c4e8
lea eax, [ebp - 0x4c]
push eax
call fcn.0041626c
add esp, 0xc
jmp 0x401324
push 0x37
push 0x42c4b1
lea eax, [ebp - 0x4c]
push eax
call fcn.0041626c
add esp, 0xc
mov eax, dword [ebp - 0x44]
movsd xmm0, qword [ebp - 0x4c]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], 1
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x24], eax
movsd qword [ebp - 0x2c], xmm0
call fcn.0040102e
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x10], 0
call fcn.0040102e
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x10], 0xffffffff
push eax
call fcn.00401ce9
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, esi
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x1f
push str.GetExitCodeThread_returns_falseFailed_to_load_dllFailed_to_create_a_remote_thread_in_the_target_process.Failed_to_get_the_address_of_LoadLibraryA.Failed_to_get_the_handle_of_kernel32.dll.src_injection.rs
lea eax, [ebp - 0x4c]
push eax
call fcn.0041626c
add esp, 0xc
jmp 0x4013ad
push 0x12
push 0x42c49f
lea eax, [ebp - 0x4c]
push eax
call fcn.0041626c
add esp, 0xc
mov eax, dword [ebp - 0x44]
movsd xmm0, qword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
movsd qword [ebp - 0x2c], xmm0
mov dword [ebp - 0x10], 3
push dword [ebp - 0x30]
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 8]
movsd xmm0, qword [ebp - 0x2c]
mov dword [ebp - 0x10], 1
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
lea ecx, [ebp - 0x5c]
call fcn.0040102e
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x10], 0
call fcn.0040102e
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x10], 0xffffffff
push eax
call fcn.00401ce9
add esp, 4
mov esi, dword [ebp + 8]
jmp 0x401372
push 0xa2
push 0x42c2c0
call fcn.0042af2f
mov dword [ebp - 0x10], 2
push 0x42c2b0
push 0x42
push 0x42c26c
call fcn.0042aef5
add esp, 0xc
jmp 0x4014ce
push 0x42c2b0
push 0x42
push 0x42c26c
call fcn.0042aef5
add esp, 0xc
jmp 0x4014ce
movsd xmm0, qword [ebp - 0x2c]
movsd xmm1, qword [ebp - 0x24]
mov dword [ebp - 0x10], 5
movsd qword [ebp - 0x44], xmm1
movsd qword [ebp - 0x4c], xmm0
push 0x42c454
push 0x42c364
lea eax, [ebp - 0x4c]
push eax
push 0x13
push 0x42c42f
call fcn.0042b146
add esp, 0x14
jmp 0x4014ce
movsd xmm0, qword [ebp - 0x2c]
movsd xmm1, qword [ebp - 0x24]
mov dword [ebp - 0x10], 4
movsd qword [ebp - 0x44], xmm1
movsd qword [ebp - 0x4c], xmm0
push 0x42c470
push 0x42c364
lea eax, [ebp - 0x4c]
push eax
push 0x13
push 0x42c42f
call fcn.0042b146
add esp, 0x14
ud2