Function at 0x445fc8
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x403010
push 0x45c1d4
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 [0x531f10], edx
mov edi, dword [ebp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x446045
mov esi, 0x40e958
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov cl, byte [edi]
mov al, cl
cmp cl, byte [esi]
jne 0x446035
cmp al, bl
je 0x446031
mov cl, byte [edi + 1]
mov al, cl
cmp cl, byte [esi + 1]
jne 0x446035
inc edi
inc edi
inc esi
inc esi
cmp al, bl
jne 0x446013
xor eax, eax
jmp 0x44603a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x446047
call fcn.00446e07
jmp 0x446089
xor ebx, ebx
push dword [ebp + 0x10]
push edx
call fcn.004466f5
pop ecx
pop ecx
test eax, eax
je 0x446089
call fcn.00447150
call fcn.00428d7e
mov esi, 0x473ec0
mov ecx, esi
call fcn.00429b46
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov ecx, esi
call fcn.00429ba8
mov ecx, 0x531670
call fcn.0042cdde
test eax, eax
jne 0x446090
xor eax, eax
jmp 0x4463eb
mov ecx, 0x45e2a0
call fcn.00411607
call fcn.004296ed
mov dword [0x531fb0], 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 0x44616b
push 0x40e94c
push dword [ebp + 0x10]
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
pop ecx
test eax, eax
je 0x44616b
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.00425bf8
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 [0x531fb0], 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, 0x474b78
mov ecx, esi
call fcn.00415920
mov dword [ebp - 0x20], edi
jmp 0x446192
cmp dword [0x470f10], ebx
je 0x44618d
push ebx
mov esi, 0x474b78
mov ecx, esi
call fcn.00415ba2
test eax, eax
je 0x446192
mov dword [ebp - 0x20], 1
jmp 0x446192
mov esi, 0x474b78
mov ecx, esi
call fcn.00417732
test eax, eax
jne 0x4461a2
cmp dword [ebp - 0x20], ebx
je 0x4461aa
cmp dword [0x470f84], ebx
je 0x4461bb
push ebx
push ebx
push ebx
push 1
push 0x40a6a0
mov ecx, esi
call fcn.00415920
mov ecx, 0x531670
call fcn.00430117
call fcn.00446dbb
push 1
call fcn.0043e6ff
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 0x4462e0
cmp dword [ebp - 0x38], 0x20
jne 0x446210
cmp dword [0x46074c], 0xffffffff
jne 0x4461ec
push dword [0x531674]
call esi
test eax, eax
je 0x446263
push dword [0x495e8c]
call esi
test eax, eax
je 0x446251
lea eax, [ebp - 0x3c]
push eax
mov ecx, 0x495e88
call fcn.0045135e
test eax, eax
jne 0x4461ec
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x40]
push dword [0x495e8c]
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x4461ec
lea eax, [ebp - 0x3c]
push eax
mov ecx, 0x4947b0
call fcn.00459782
test eax, eax
jne 0x4461ec
cmp dword [0x4727f8], ebx
je 0x446292
cmp dword [0x494780], ebx
je 0x446292
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
mov ecx, 0x460748
call fcn.00432d35
cmp eax, 1
je 0x4461ec
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 0x4461ec
or dword [ebp - 4], 0xffffffff
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00447131
cmp dword [0x470dd4], ebx
je 0x446300
push ebx
call fcn.00445afd
pop ecx
call fcn.004235ff
mov eax, dword [0x531fb0]
cmp eax, ebx
je 0x44631c
push eax
call dword [sym.imp.MSVCRT.dll_free]
pop ecx
mov dword [0x531fb0], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov esi, 0x473ec0
mov ecx, esi
call fcn.00429c13
mov ecx, esi
call fcn.00429b5d
call fcn.00428dfe
call fcn.00447193
call fcn.00446897
cmp dword [0x531f50], ebx
je 0x4463b1
push 0x40b50c
mov esi, 0x104
push esi
lea eax, [ebp - 0xb4c]
push eax
push dword [0x531f10]
call fcn.00425d30
push ebx
push esi
lea eax, [ebp - 0x944]
push eax
push dword [0x531f10]
call fcn.00425d30
push 0x40de18
push esi
lea eax, [ebp - 0xa48]
push eax
push dword [0x531f10]
call fcn.00425d30
add esp, 0x30
push 5
lea eax, [ebp - 0x944]
push eax
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xb4c]
jmp 0x4463db
cmp dword [0x531f4c], ebx
je 0x4463e8
push 0x104
lea eax, [ebp - 0xc50]
push eax
push dword [0x531f10]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 5
push ebx
push ebx
lea eax, [ebp - 0xc50]
push eax
push 0x40a814
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