Function at 0x44c2b0
Capabilities:
Create process on windows
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x4a9f58
mov eax, dword fs:[0]
push eax
sub esp, 0x13c
mov eax, dword [0x4cc850]
xor eax, esp
mov dword [esp + 0x138], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cc850]
xor eax, esp
push eax
lea eax, [esp + 0x150]
mov dword fs:[0], eax
mov eax, dword [esp + 0x160]
xor ebp, ebp
push 0xffffffffffffffff
mov esi, 7
push ebp
lea ecx, [esp + 0x138]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebp
mov word [esp + 0x13c], bp
call fcn.00406430
mov dword [esp + 0x158], ebp
mov dword [esp + 0x110], esi
mov dword [esp + 0x10c], ebp
mov word [esp + 0xfc], bp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf0], ebp
mov word [esp + 0xe0], bp
lea eax, [esp + 0x130]
mov byte [esp + 0x158], 3
push eax
mov edi, 1
or ecx, 0xffffffff
mov ebx, 0x4b5470
mov dword [esp + 0x48], 0x63
call fcn.00406920
push 0xffffffffffffffff
lea ecx, [esp + 0x134]
push ecx
mov ecx, eax
lea esi, [esp + 0x30]
call fcn.00406040
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x100]
mov byte [esp + 0x160], 4
call fcn.00406430
mov ebx, 8
mov byte [esp + 0x158], 3
cmp dword [esp + 0x40], ebx
jb 0x44c3d7
mov edx, dword [esp + 0x2c]
push edx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x110], ebx
mov eax, dword [esp + 0xfc]
jae 0x44c3ee
lea eax, [esp + 0xfc]
push str..exe
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x44c69e
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x18], ebx
jb 0x44c410
mov eax, dword [eax + 4]
jmp 0x44c413
add eax, 4
mov edi, str.__unregserver
mov ecx, eax
call fcn.0044ad60
test eax, eax
jne 0x44cbcd
push 1
mov edi, 7
push 0x4b3a90
lea esi, [esp + 0xc8]
mov dword [esp + 0xe0], edi
mov dword [esp + 0xdc], ebp
mov word [esp + 0xcc], bp
call fcn.00406d50
mov eax, esi
push eax
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 5
call fcn.004062b0
mov byte [esp + 0x158], 3
cmp dword [esp + 0xd8], ebx
jb 0x44c48a
mov ecx, dword [esp + 0xc4]
push ecx
call fcn.004692b1
add esp, 4
mov edx, dword [esp + 0x24]
push edx
lea esi, [esp + 0x18]
call fcn.004062b0
push 5
push str.error
lea esi, [esp + 0xc8]
mov dword [esp + 0xe0], edi
mov dword [esp + 0xdc], ebp
mov word [esp + 0xcc], bp
call fcn.00406d50
mov eax, esi
push eax
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 6
call fcn.004062b0
mov byte [esp + 0x158], 3
cmp dword [esp + 0xd8], ebx
jb 0x44c4f6
mov ecx, dword [esp + 0xc4]
push ecx
call fcn.004692b1
add esp, 4
xor ecx, ecx
lea edx, [esp + 0x28]
call fcn.004451b0
push eax
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 7
call fcn.004062b0
mov byte [esp + 0x158], 3
cmp dword [esp + 0x40], ebx
jb 0x44c52e
mov edx, dword [esp + 0x2c]
push edx
call fcn.004692b1
add esp, 4
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x2c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0xe4]
mov byte [esp + 0x160], bl
call fcn.00406430
mov byte [esp + 0x158], 3
cmp dword [esp + 0x40], ebx
jb 0x44c570
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004692b1
add esp, 4
push 0xe
push str.UNREGISTER_COM
lea esi, [esp + 0x11c]
mov dword [esp + 0x134], edi
mov dword [esp + 0x130], ebp
mov word [esp + 0x120], bp
call fcn.00406d50
mov byte [esp + 0x158], 9
push 2
push 0x4b3ac8
lea esi, [esp + 0xc8]
mov dword [esp + 0xe0], edi
mov dword [esp + 0xdc], ebp
mov word [esp + 0xcc], bp
call fcn.00406d50
lea edx, [esp + 0x114]
push edx
lea ecx, [esp + 0xe0]
mov edx, esi
mov byte [esp + 0x15c], 0xa
call fcn.004444d0
add esp, 4
cmp dword [esp + 0xd8], ebx
jb 0x44c604
mov eax, dword [esp + 0xc4]
push eax
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x12c], ebx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], ebp
mov word [esp + 0xc4], bp
jb 0x44c633
mov ecx, dword [esp + 0x118]
push ecx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0xf4], ebx
jb 0x44c64c
mov edx, dword [esp + 0xe0]
push edx
call fcn.004692b1
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, ebp
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf0], ebp
mov word [esp + 0xe0], bp
je 0x44c68d
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
push ecx
call fcn.00408440
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
call fcn.004692b1
add esp, 4
mov edi, 7
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
jmp 0x44d03b
cmp dword [esp + 0x164], ebp
jne 0x44c8e2
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x18], ebx
jb 0x44c6b9
mov eax, dword [eax + 4]
jmp 0x44c6bc
add eax, 4
push eax
call fcn.0044af50
add esp, 4
test eax, eax
jne 0x44cbcd
mov edx, 0x4b3a90
lea eax, [esp + 0x48]
call fcn.00405e60
lea edx, [esp + 0x48]
push edx
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 0xb
call fcn.004062b0
mov byte [esp + 0x158], 3
cmp dword [esp + 0x60], ebx
jb 0x44c70c
mov eax, dword [esp + 0x4c]
push eax
call fcn.004692b1
add esp, 4
mov ecx, dword [esp + 0x24]
push ecx
lea esi, [esp + 0x18]
call fcn.004062b0
mov edx, str.error
lea eax, [esp + 0x48]
call fcn.00405e60
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0x15c], 0xc
call fcn.004062b0
mov byte [esp + 0x158], 3
cmp dword [esp + 0x60], ebx
jb 0x44c755
mov eax, dword [esp + 0x4c]
push eax
call fcn.004692b1
add esp, 4
xor ecx, ecx
lea edx, [esp + 0x28]
call fcn.004451b0
push eax
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 0xd
call fcn.004062b0
mov byte [esp + 0x158], 3
cmp dword [esp + 0x40], ebx
jb 0x44c78d
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004692b1
add esp, 4
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x2c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0xe4]
mov byte [esp + 0x160], 0xe
call fcn.00406430
mov byte [esp + 0x158], 3
cmp dword [esp + 0x40], ebx
jb 0x44c7d0
mov eax, dword [esp + 0x2c]
push eax
call fcn.004692b1
add esp, 4
mov edx, str.UNREGISTER_COM
lea eax, [esp + 0x48]
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0xc0]
mov byte [esp + 0x158], 0xf
call fcn.00405e60
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0xe0]
lea edx, [esp + 0xc4]
mov byte [esp + 0x15c], 0x10
call fcn.004444d0
add esp, 4
cmp dword [esp + 0xd8], ebx
jb 0x44c833
mov edx, dword [esp + 0xc4]
push edx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x60], ebx
mov edi, 7
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], ebp
mov word [esp + 0xc4], bp
jb 0x44c861
mov eax, dword [esp + 0x4c]
push eax
call fcn.004692b1
add esp, 4
cmp dword [esp + 0xf4], ebx
jb 0x44c87a
mov ecx, dword [esp + 0xe0]
push ecx
call fcn.004692b1
add esp, 4
lea esi, [esp + 0x14]
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf0], ebp
mov word [esp + 0xe0], bp
call fcn.00406240
cmp dword [esp + 0x110], ebx
jb 0x44c8b2
mov edx, dword [esp + 0xfc]
push edx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x148], ebx
mov dword [esp + 0x110], edi
mov dword [esp + 0x10c], ebp
mov word [esp + 0xfc], bp
jb 0x44d083
mov eax, dword [esp + 0x134]
push eax
jmp 0x44d07b
call fcn.004560b0
call fcn.00456260
mov edi, 7
mov dword [esp + 0x12c], edi
mov dword [esp + 0x128], ebp
mov word [esp + 0x118], bp
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], ebp
mov word [esp + 0xc4], bp
mov eax, dword [esp + 0x24]
mov byte [esp + 0x158], 0x12
cmp dword [eax + 0x18], ebx
jb 0x44c933
mov ecx, dword [eax + 4]
jmp 0x44c936
lea ecx, [eax + 4]
push ebp
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x11c]
push eax
call fcn.0044be50
add esp, 0xc
push 0x44
lea ecx, [esp + 0x78]
push ebp
push ecx
call fcn.0048a580
mov eax, dword [esp + 0x124]
add esp, 0xc
cmp dword [esp + 0x12c], ebx
mov dword [esp + 0x74], 0x44
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
jae 0x44c98e
lea eax, [esp + 0x118]
lea edx, [esp + 0x64]
push edx
lea ecx, [esp + 0x78]
push ecx
push ebp
push ebp
push 0x20
push ebp
push ebp
push ebp
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x44ce0c
mov edx, dword [esp + 0x64]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x44]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [esp + 0x44], ebp
je 0x44cb8d
mov edx, 0x4b3a90
lea eax, [esp + 0x28]
call fcn.00405e60
lea edx, [esp + 0x28]
push edx
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 0x13
call fcn.004062b0
lea ecx, [esp + 0x28]
mov byte [esp + 0x158], 0x12
call fcn.00401a00
mov eax, dword [esp + 0x24]
push eax
call fcn.004062b0
mov edx, str.error
lea eax, [esp + 0x28]
call fcn.00405e60
lea ecx, [esp + 0x28]
push ecx
mov byte [esp + 0x15c], 0x14
call fcn.004062b0
lea ecx, [esp + 0x28]
mov byte [esp + 0x158], 0x12
call fcn.00401a00
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x28]
call fcn.004451b0
push eax
mov byte [esp + 0x15c], 0x15
call fcn.004062b0
lea ecx, [esp + 0x28]
mov byte [esp + 0x158], 0x12
call fcn.00401a00
mov edx, esi
push edx
lea ecx, [esp + 0x2c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0xe4]
mov byte [esp + 0x160], 0x16
call fcn.00406430
lea ecx, [esp + 0x28]
mov byte [esp + 0x158], 0x12
call fcn.00401a00
mov edx, str.UNREGISTER_COM
lea eax, [esp + 0x48]
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0x28]
mov byte [esp + 0x158], 0x17
call fcn.00405e60
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x2c]
mov byte [esp + 0x15c], 0x18
call fcn.004444d0
add esp, 4
lea ecx, [esp + 0x28]
call fcn.00401a00
lea ecx, [esp + 0x48]
mov byte [esp + 0x158], 0x12
call fcn.00401a00
cmp dword [esp + 0x12c], ebx
mov eax, dword [esp + 0x118]
jae 0x44cb1e
lea eax, [esp + 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [esp + 0x68]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call esi
mov edx, dword [esp + 0x64]
push edx
call esi
call fcn.004560b0
call fcn.004562f0
lea ecx, [esp + 0xc0]
call fcn.00401a00
lea ecx, [esp + 0x114]
call fcn.00401a00
lea ecx, [esp + 0xdc]
call fcn.00401a00
lea esi, [esp + 0x14]
call fcn.00406240
lea ecx, [esp + 0xf8]
call fcn.00401a00
lea ecx, [esp + 0x130]
call fcn.00401a00
jmp 0x44d083
mov eax, dword [esp + 0x68]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [esp + 0x64]
push ecx
call esi
call fcn.004560b0
call fcn.004562f0
lea ecx, [esp + 0xc0]
call fcn.00401a00
lea ecx, [esp + 0x114]
mov byte [esp + 0x158], 3
call fcn.00401a00
jmp 0x44cbd2
mov edi, 7
push 1
push 0x4b3a90
lea esi, [esp + 0xc8]
mov dword [esp + 0xe0], edi
mov dword [esp + 0xdc], ebp
mov word [esp + 0xcc], bp
call fcn.00406d50
mov edx, esi
push edx
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 0x1f
call fcn.004062b0
mov byte [esp + 0x158], 3
cmp dword [esp + 0xd8], ebx
jb 0x44cc30
mov eax, dword [esp + 0xc4]
push eax
call fcn.004692b1
add esp, 4
mov ecx, dword [esp + 0x24]
push ecx
lea esi, [esp + 0x18]
call fcn.004062b0
mov edx, str.success
lea eax, [esp + 0x48]
call fcn.00405e60
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0x15c], 0x20
call fcn.004062b0
mov byte [esp + 0x158], 3
cmp dword [esp + 0x60], ebx
jb 0x44cc79
mov eax, dword [esp + 0x4c]
push eax
call fcn.004692b1
add esp, 4
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x28]
call fcn.004451b0
push eax
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 0x21
call fcn.004062b0
mov byte [esp + 0x158], 3
cmp dword [esp + 0x40], ebx
jb 0x44ccb3
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004692b1
add esp, 4
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x2c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0xe4]
mov byte [esp + 0x160], 0x22
call fcn.00406430
mov byte [esp + 0x158], 3
cmp dword [esp + 0x40], ebx
jb 0x44ccf6
mov eax, dword [esp + 0x2c]
push eax
call fcn.004692b1
add esp, 4
mov edx, str.UNREGISTER_COM
lea eax, [esp + 0x48]
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0xc0]
mov byte [esp + 0x158], 0x23
call fcn.00405e60
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0xe0]
lea edx, [esp + 0xc4]
mov byte [esp + 0x15c], 0x24
call fcn.004444d0
add esp, 4
cmp dword [esp + 0xd8], ebx
jb 0x44cd59
mov edx, dword [esp + 0xc4]
push edx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x60], ebx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], ebp
mov word [esp + 0xc4], bp
jb 0x44cd82
mov eax, dword [esp + 0x4c]
push eax
call fcn.004692b1
add esp, 4
cmp dword [esp + 0xf4], ebx
jb 0x44cd9b
mov ecx, dword [esp + 0xe0]
push ecx
call fcn.004692b1
add esp, 4
lea esi, [esp + 0x14]
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf0], ebp
mov word [esp + 0xe0], bp
call fcn.00406240
cmp dword [esp + 0x110], ebx
jb 0x44cdd3
mov edx, dword [esp + 0xfc]
push edx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x148], ebx
mov dword [esp + 0x110], edi
mov dword [esp + 0x10c], ebp
mov word [esp + 0xfc], bp
jb 0x44ce02
mov eax, dword [esp + 0x134]
push eax
call fcn.004692b1
add esp, 4
mov eax, 1
jmp 0x44d085
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov edx, 0x4b3a90
lea eax, [esp + 0x48]
call fcn.00405e60
lea ecx, [esp + 0x48]
push ecx
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 0x19
call fcn.004062b0
mov byte [esp + 0x158], 0x12
cmp dword [esp + 0x60], ebx
jb 0x44ce53
mov edx, dword [esp + 0x4c]
push edx
call fcn.004692b1
add esp, 4
mov eax, dword [esp + 0x24]
push eax
lea esi, [esp + 0x18]
call fcn.004062b0
mov edx, str.error
lea eax, [esp + 0x48]
call fcn.00405e60
lea ecx, [esp + 0x48]
push ecx
mov byte [esp + 0x15c], 0x1a
call fcn.004062b0
mov byte [esp + 0x158], 0x12
cmp dword [esp + 0x60], ebx
jb 0x44ce9c
mov edx, dword [esp + 0x4c]
push edx
call fcn.004692b1
add esp, 4
mov ecx, edi
lea edx, [esp + 0x28]
call fcn.004451b0
push eax
lea esi, [esp + 0x18]
mov byte [esp + 0x15c], 0x1b
call fcn.004062b0
mov byte [esp + 0x158], 0x12
cmp dword [esp + 0x40], ebx
jb 0x44ced4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004692b1
add esp, 4
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x2c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0xe4]
mov byte [esp + 0x160], 0x1c
call fcn.00406430
mov byte [esp + 0x158], 0x12
cmp dword [esp + 0x40], ebx
jb 0x44cf17
mov edx, dword [esp + 0x2c]
push edx
call fcn.004692b1
add esp, 4
mov edx, str.UNREGISTER_COM
lea eax, [esp + 0x28]
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0x48]
mov byte [esp + 0x158], 0x1d
call fcn.00405e60
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x4c]
mov byte [esp + 0x15c], 0x1e
call fcn.004444d0
add esp, 4
cmp dword [esp + 0x60], ebx
jb 0x44cf6e
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.004692b1
add esp, 4
mov edi, 7
mov byte [esp + 0x158], 0x12
cmp dword [esp + 0x40], ebx
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebp
mov word [esp + 0x4c], bp
jb 0x44cf9b
mov edx, dword [esp + 0x2c]
push edx
call fcn.004692b1
add esp, 4
call fcn.004560b0
call fcn.004562f0
cmp dword [esp + 0xd8], ebx
jb 0x44cfbe
mov eax, dword [esp + 0xc4]
push eax
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x12c], ebx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], ebp
mov word [esp + 0xc4], bp
jb 0x44cfed
mov ecx, dword [esp + 0x118]
push ecx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0xf4], ebx
mov dword [esp + 0x12c], edi
mov dword [esp + 0x128], ebp
mov word [esp + 0x118], bp
jb 0x44d01c
mov edx, dword [esp + 0xe0]
push edx
call fcn.004692b1
add esp, 4
lea esi, [esp + 0x14]
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf0], ebp
mov word [esp + 0xe0], bp
call fcn.00406240
cmp dword [esp + 0x110], ebx
jb 0x44d054
mov eax, dword [esp + 0xfc]
push eax
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x148], ebx
mov word [esp + 0xfc], bp
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x110], edi
jb 0x44d083
mov ecx, dword [esp + 0x134]
push ecx
call fcn.004692b1
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x150]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.00483bf3
add esp, 0x148
ret