Function at 0x446910
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x402fc8
push 0x45d024
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc40
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov edx, dword [ebp + 8]
mov dword [0x532da0], edx
mov edi, dword [ebp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x44698d
mov esi, 0x40ecd4
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov cl, byte [edi]
mov al, cl
cmp cl, byte [esi]
jne 0x44697d
cmp al, bl
je 0x446979
mov cl, byte [edi + 1]
mov al, cl
cmp cl, byte [esi + 1]
jne 0x44697d
inc edi
inc edi
inc esi
inc esi
cmp al, bl
jne 0x44695b
xor eax, eax
jmp 0x446982
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x44698f
call fcn.00447758
jmp 0x4469d1
xor ebx, ebx
push dword [ebp + 0x10]
push edx
call fcn.00447046
pop ecx
pop ecx
test eax, eax
je 0x4469d1
call fcn.00447aa1
call fcn.0042916a
mov esi, 0x474d58
mov ecx, esi
call fcn.00429f25
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov ecx, esi
call fcn.00429f87
mov ecx, 0x532500
call fcn.0042d251
test eax, eax
jne 0x4469d8
xor eax, eax
jmp 0x446d3c
mov ecx, 0x45f130
call fcn.00411a17
call fcn.00429ad9
mov dword [0x532e40], ebx
mov dword [ebp - 0x20], ebx
mov edi, dword [ebp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x446ab3
push 0x40ecc8
push dword [ebp + 0x10]
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
pop ecx
test eax, eax
je 0x446ab3
mov ecx, 0x200
xor eax, eax
lea edi, [ebp - 0x840]
rep stosd dword es:[edi], eax
push dword [ebp + 0x10]
push 0x40a158
push 0x7ff
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
lea eax, [ebp - 0x840]
push eax
call fcn.00425ec2
lea edi, [ebp - 0x840]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call dword [sym.imp.MSVCRT.dll_malloc]
add esp, 0x18
mov edx, eax
mov dword [0x532e40], edx
lea edi, [ebp - 0x840]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
push ebx
push ebx
push 1
pop edi
push edi
lea eax, [ebp - 0x840]
push eax
mov esi, 0x475a08
mov ecx, esi
call fcn.00415cb4
mov dword [ebp - 0x20], edi
jmp 0x446ada
cmp dword [0x471da0], ebx
je 0x446ad5
push ebx
mov esi, 0x475a08
mov ecx, esi
call fcn.00415f36
test eax, eax
je 0x446ada
mov dword [ebp - 0x20], 1
jmp 0x446ada
mov esi, 0x475a08
mov ecx, esi
call fcn.00417aad
test eax, eax
jne 0x446af3
cmp dword [ebp - 0x20], ebx
jne 0x446af3
call fcn.004468a3
test eax, eax
je 0x446afb
cmp dword [0x471e14], ebx
je 0x446b0c
push ebx
push ebx
push ebx
push 1
push 0x40a71c
mov ecx, esi
call fcn.00415cb4
mov ecx, 0x532500
call fcn.00430592
call fcn.0044770c
push 1
call fcn.0043ef7c
pop ecx
push 0x6d
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
mov esi, dword [sym.imp.USER32.dll_IsWindow]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x446c31
cmp dword [ebp - 0x38], 0x20
jne 0x446b61
cmp dword [0x4615dc], 0xffffffff
jne 0x446b3d
push dword [0x532504]
call esi
test eax, eax
je 0x446bb4
push dword [0x496d1c]
call esi
test eax, eax
je 0x446ba2
lea eax, [ebp - 0x3c]
push eax
mov ecx, 0x496d18
call fcn.0045206e
test eax, eax
jne 0x446b3d
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x40]
push dword [0x496d1c]
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x446b3d
lea eax, [ebp - 0x3c]
push eax
mov ecx, 0x495640
call fcn.0045a5b1
test eax, eax
jne 0x446b3d
cmp dword [0x473688], ebx
je 0x446be3
cmp dword [0x495610], ebx
je 0x446be3
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
mov ecx, 0x4615d8
call fcn.004331cd
cmp eax, 1
je 0x446b3d
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x446b3d
or dword [ebp - 4], 0xffffffff
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00447a82
cmp dword [0x471c64], ebx
je 0x446c51
push ebx
call fcn.004463d8
pop ecx
call fcn.00423814
mov eax, dword [0x532e40]
cmp eax, ebx
je 0x446c6d
push eax
call dword [sym.imp.MSVCRT.dll_free]
pop ecx
mov dword [0x532e40], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov esi, 0x474d58
mov ecx, esi
call fcn.00429ff2
mov ecx, esi
call fcn.00429f3c
call fcn.004291ea
call fcn.00447ae4
call fcn.004471e8
cmp dword [0x532de0], ebx
je 0x446d02
push 0x40b5bc
mov esi, 0x104
push esi
lea eax, [ebp - 0xb4c]
push eax
push dword [0x532da0]
call fcn.00425ffa
push ebx
push esi
lea eax, [ebp - 0x944]
push eax
push dword [0x532da0]
call fcn.00425ffa
push 0x40e164
push esi
lea eax, [ebp - 0xa48]
push eax
push dword [0x532da0]
call fcn.00425ffa
add esp, 0x30
push 5
lea eax, [ebp - 0x944]
push eax
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xb4c]
jmp 0x446d2c
cmp dword [0x532ddc], ebx
je 0x446d39
push 0x104
lea eax, [ebp - 0xc50]
push eax
push dword [0x532da0]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 5
push ebx
push ebx
lea eax, [ebp - 0xc50]
push eax
push 0x40a890
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x10