Function at 0x40a8ab
Capabilities:
Create thread

Disassembly:
push 0x4b4
mov eax, 0x487449
call fcn.0046c67d
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 + 0xf18]
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 0x4c0748
call edi
lea eax, [ebx + 0x30]
cmp dword [eax + 0x14], 8
jb 0x40a90a
mov eax, dword [eax]
push eax
push 0x4c1150
call edi
push 0x4a1ae0
push 0x4c1150
call dword [sym.imp.KERNEL32.dll_lstrcatW]
cmp byte [ebx + 0x7f], 0
je 0x40a939
imul eax, dword [ebx + 0x80], 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00469273
xor edi, edi
mov dword [ebx + 0xd0], eax
push edi
push edi
push edi
push 0x40cb90
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x4c0], eax
test eax, eax
je 0x40abe8
push 0x1b7740
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x4b4], edi
cmp eax, 0x102
jne 0x40a990
mov eax, dword [ebx + 0xd0]
add eax, 0x1b7740
mov dword [ebx + 0xd4], eax
jmp 0x40a9fa
call fcn.00469273
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.00405f47
push eax
lea ecx, [ebx + 0xb8]
call fcn.00404f01
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.00405131
or dword [ebp - 4], 0xffffffff
jmp 0x40a9fa
lea eax, [ebp - 0x208]
mov ecx, esi
push eax
call fcn.0042c389
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 2
call fcn.0040d52b
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 4
call fcn.004045c4
mov esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x1c]
je 0x40aa8e
add ebx, 0x48
mov dword [ebp - 0x4b0], ebx
push esi
lea ecx, [ebp - 0x4a8]
call fcn.0040967d
push ecx
push ebx
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 5
call fcn.004102c0
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x49c]
call fcn.004114f8
lea ecx, [ebp - 0x60]
mov bl, al
call fcn.00410512
test bl, bl
jne 0x40aaae
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 4
call fcn.00405aed
mov ebx, dword [ebp - 0x4b0]
add esi, 0x26c
cmp esi, dword [ebp - 0x1c]
jne 0x40aa38
mov esi, dword [ebp - 0x4ac]
lea ecx, [ebp - 0x20]
call fcn.004051e5
lea eax, [esi + 0xf18]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
jmp 0x40ae8b
lea ecx, [ebp - 0x194]
call fcn.0040a84a
lea eax, [ebp - 0x49c]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x12c]
call fcn.0041052e
mov esi, dword [ebp - 0x4ac]
lea eax, [ebp - 0x23c]
push eax
mov ecx, esi
call fcn.0042c352
push eax
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 7
call fcn.0041052e
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 6
call fcn.0040713f
lea ecx, [ebp - 0x60]
call fcn.00420d6e
push eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 8
call fcn.0041052e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 6
call fcn.00410512
push ecx
push 0x4a1a64
lea ecx, [ebp - 0x60]
call fcn.00410317
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xc4]
call fcn.0041052e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 6
call fcn.00410512
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.00405e5a
push 1
push eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xa
call fcn.00410240
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0xf8]
call fcn.0041052e
lea ecx, [ebp - 0x60]
call fcn.00410512
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.0040b649
lea ecx, [ebp - 0x194]
call fcn.0040a87a
lea ecx, [ebp - 0x4a8]
call fcn.00405aed
jmp 0x40aa94
call fcn.00469273
push 0x4a1528
lea ecx, [ebp - 0x78]
mov dword [ebx + 0xd4], eax
call fcn.00404eab
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.0040e372
pop ecx
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xd
call fcn.00405274
push edi
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.00405131
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x90]
call fcn.00405f47
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call fcn.0040e3dc
pop ecx
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xf
call fcn.00405274
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.00405131
push edi
push 1
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xc
call fcn.00405131
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [esi + 0xeb4]
call fcn.004259e9
push edi
push 1
lea ecx, [ebp - 0x90]
call fcn.00405131
lea eax, [ebp - 0x208]
mov ecx, esi
push eax
call fcn.0042c389
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x10
call fcn.0040d52b
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x12
call fcn.004045c4
mov esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x1c]
je 0x40ae58
add ebx, 0x48
mov dword [ebp - 0x4b0], ebx
push esi
lea ecx, [ebp - 0x4a8]
call fcn.0040967d
push ecx
push ebx
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x13
call fcn.004102c0
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x49c]
call fcn.004114f8
lea ecx, [ebp - 0x60]
mov bl, al
call fcn.00410512
test bl, bl
jne 0x40ad44
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0x12
call fcn.00405aed
mov ebx, dword [ebp - 0x4b0]
add esi, 0x26c
cmp esi, dword [ebp - 0x1c]
jne 0x40ace9
jmp 0x40ae58
lea ecx, [ebp - 0x194]
call fcn.0040a84a
lea eax, [ebp - 0x49c]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x12c]
call fcn.0041052e
mov ecx, dword [ebp - 0x4ac]
lea eax, [ebp - 0x23c]
push eax
call fcn.0042c352
push eax
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0x15
call fcn.0041052e
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x14
call fcn.0040713f
lea ecx, [ebp - 0x60]
call fcn.00420d6e
push eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x16
call fcn.0041052e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x14
call fcn.00410512
push ecx
push 0x4a1a5c
lea ecx, [ebp - 0x60]
call fcn.00410317
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0xc4]
call fcn.0041052e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x14
call fcn.00410512
xor edx, edx
lea ecx, [ebp - 0x90]
call fcn.00405dcc
push 1
push eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x18
call fcn.00410240
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0xf8]
call fcn.0041052e
lea ecx, [ebp - 0x60]
call fcn.00410512
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.0040b649
lea ecx, [ebp - 0x194]
call fcn.0040a87a
lea ecx, [ebp - 0x4a8]
call fcn.00405aed
lea ecx, [ebp - 0x20]
call fcn.004051e5
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.00405131
call fcn.0046c5cf
ret 8