Function at 0x40ab80
Capabilities:
Create thread

Disassembly:
push 0x4b4
mov eax, 0x489565
call fcn.0046e71d
mov esi, ecx
mov dword [ebp - 0x4ac], esi
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x4bc], eax
lea eax, [esi + 0x10ec]
push eax
mov dword [ebp - 0x4b0], esi
mov dword [ebp - 0x4b8], ebx
mov dword [ebp - 0x4b4], eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.abc
push 0x4c3768
call edi
lea eax, [ebx + 0x30]
cmp dword [eax + 0x14], 8
jb 0x40abdf
mov eax, dword [eax]
push eax
push 0x4c4170
call edi
push 0x4a3ae0
push 0x4c4170
call dword [sym.imp.KERNEL32.dll_lstrcatW]
cmp byte [ebx + 0x7f], 0
je 0x40ac0e
imul eax, dword [ebx + 0x80], 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.0046b313
xor edi, edi
mov dword [ebx + 0xd0], eax
push edi
push edi
push edi
push 0x40d4a0
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x4c0], eax
test eax, eax
je 0x40aebd
push 0x1b7740
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x4b4], edi
cmp eax, 0x102
jne 0x40ac65
mov eax, dword [ebx + 0xd0]
add eax, 0x1b7740
mov dword [ebx + 0xd4], eax
jmp 0x40accf
call fcn.0046b313
mov dword [ebx + 0xd4], eax
lea eax, [ebp - 0x4b4]
push eax
push dword [ebp - 0x4c0]
mov dword [ebp - 4], edi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov edx, dword [ebp - 0x4b4]
lea ecx, [ebp - 0x2c]
call fcn.00405fc8
push eax
lea ecx, [ebx + 0xb8]
call fcn.00404f0f
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040513f
or dword [ebp - 4], 0xffffffff
jmp 0x40accf
lea eax, [ebp - 0x208]
mov ecx, esi
push eax
call fcn.0042d6ba
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 2
call fcn.0040deca
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 4
call fcn.004045c4
mov esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x1c]
je 0x40ad63
add ebx, 0x48
mov dword [ebp - 0x4b0], ebx
push esi
lea ecx, [ebp - 0x4a8]
call fcn.004098e0
push ecx
push ebx
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 5
call fcn.004110b0
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x49c]
call fcn.00412277
lea ecx, [ebp - 0x60]
mov bl, al
call fcn.00411302
test bl, bl
jne 0x40ad83
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 4
call fcn.00405b11
mov ebx, dword [ebp - 0x4b0]
add esi, 0x26c
cmp esi, dword [ebp - 0x1c]
jne 0x40ad0d
mov esi, dword [ebp - 0x4ac]
lea ecx, [ebp - 0x20]
call fcn.004051f3
lea eax, [esi + 0x10ec]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
jmp 0x40b160
lea ecx, [ebp - 0x194]
call fcn.0040ab1f
lea eax, [ebp - 0x49c]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x12c]
call fcn.0041131e
mov esi, dword [ebp - 0x4ac]
lea eax, [ebp - 0x23c]
push eax
mov ecx, esi
call fcn.0042d683
push eax
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 7
call fcn.0041131e
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 6
call fcn.0040739b
lea ecx, [ebp - 0x60]
call fcn.004220a3
push eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 8
call fcn.0041131e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 6
call fcn.00411302
push ecx
push 0x4a3a64
lea ecx, [ebp - 0x60]
call fcn.00411107
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xc4]
call fcn.0041131e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 6
call fcn.00411302
mov ecx, dword [ebp - 0x4b8]
mov eax, dword [ecx + 0xd4]
sub eax, dword [ecx + 0xd0]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, 0x708
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
cmovg eax, ecx
lea ecx, [ebp - 0x78]
mov edx, eax
call fcn.00405edb
push 1
push eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xa
call fcn.00411030
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0xf8]
call fcn.0041131e
lea ecx, [ebp - 0x60]
call fcn.00411302
push edi
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 6
call fcn.00403790
lea eax, [ebp - 0x194]
mov ecx, esi
push eax
call fcn.0040b91e
lea ecx, [ebp - 0x194]
call fcn.0040ab4f
lea ecx, [ebp - 0x4a8]
call fcn.00405b11
jmp 0x40ad69
call fcn.0046b313
push 0x4a3528
lea ecx, [ebp - 0x78]
mov dword [ebx + 0xd4], eax
call fcn.00404eb9
lea eax, [ebx + 0x18]
mov dword [ebp - 4], 0xc
push eax
mov edx, str.Cannot_run_component_in_memory:
lea ecx, [ebp - 0x2c]
call fcn.0040edde
pop ecx
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xd
call fcn.00405282
push edi
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.0040513f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x90]
call fcn.00405fc8
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call fcn.0040ee48
pop ecx
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xf
call fcn.00405282
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040513f
push edi
push 1
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xc
call fcn.0040513f
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [esi + 0x1088]
call fcn.00426d1e
push edi
push 1
lea ecx, [ebp - 0x90]
call fcn.0040513f
lea eax, [ebp - 0x208]
mov ecx, esi
push eax
call fcn.0042d6ba
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x10
call fcn.0040deca
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x12
call fcn.004045c4
mov esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x1c]
je 0x40b12d
add ebx, 0x48
mov dword [ebp - 0x4b0], ebx
push esi
lea ecx, [ebp - 0x4a8]
call fcn.004098e0
push ecx
push ebx
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x13
call fcn.004110b0
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x49c]
call fcn.00412277
lea ecx, [ebp - 0x60]
mov bl, al
call fcn.00411302
test bl, bl
jne 0x40b019
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0x12
call fcn.00405b11
mov ebx, dword [ebp - 0x4b0]
add esi, 0x26c
cmp esi, dword [ebp - 0x1c]
jne 0x40afbe
jmp 0x40b12d
lea ecx, [ebp - 0x194]
call fcn.0040ab1f
lea eax, [ebp - 0x49c]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x12c]
call fcn.0041131e
mov ecx, dword [ebp - 0x4ac]
lea eax, [ebp - 0x23c]
push eax
call fcn.0042d683
push eax
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0x15
call fcn.0041131e
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x14
call fcn.0040739b
lea ecx, [ebp - 0x60]
call fcn.004220a3
push eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x16
call fcn.0041131e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x14
call fcn.00411302
push ecx
push 0x4a3a5c
lea ecx, [ebp - 0x60]
call fcn.00411107
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0xc4]
call fcn.0041131e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x14
call fcn.00411302
xor edx, edx
lea ecx, [ebp - 0x90]
call fcn.00405e4d
push 1
push eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x18
call fcn.00411030
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0xf8]
call fcn.0041131e
lea ecx, [ebp - 0x60]
call fcn.00411302
push edi
push 1
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x14
call fcn.00403790
mov ecx, dword [ebp - 0x4ac]
lea eax, [ebp - 0x194]
push eax
call fcn.0040b91e
lea ecx, [ebp - 0x194]
call fcn.0040ab4f
lea ecx, [ebp - 0x4a8]
call fcn.00405b11
lea ecx, [ebp - 0x20]
call fcn.004051f3
push dword [ebp - 0x4b4]
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
push edi
push 3
push 0x111
push dword [ebp - 0x4bc]
call dword [sym.imp.USER32.dll_SendMessageW]
push edi
push 1
lea ecx, [ebp - 0x78]
call fcn.0040513f
call fcn.0046e66f
ret 8