Function at 0x40f530
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42463a
mov eax, dword fs:[0]
push eax
sub esp, 0x5fc
mov eax, dword [0x431078]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x431064]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x568], ebx
mov dword [ebp - 0x554], edi
cmp eax, 0xffffffff
jne 0x40f59c
push str.comctl32.dll
call esi
test eax, eax
je 0x40f5f4
push 0x159
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x431064], eax
test eax, eax
jne 0x40f74d
mov dword [ebp - 4], 0
call fcn.00403eb0
test eax, eax
je 0x40fe5b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x558], eax
push 0xe2
lea ecx, [ebp - 0x558]
mov dword [ebp - 4], 1
call fcn.00403fe0
mov byte [ebp - 4], 2
call fcn.00403eb0
mov ecx, eax
test ecx, ecx
je 0x40fe51
jmp 0x40f600
mov dword [0x431064], 0
jmp 0x40f5a4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x56c], eax
push 0xe1
lea ecx, [ebp - 0x56c]
mov byte [ebp - 4], 3
call fcn.00403fe0
mov esi, dword [ebp - 0x558]
mov edi, dword [ebp - 0x56c]
push 0x41
push esi
push edi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
or ebx, 0xffffffff
cmp eax, 1
jne 0x40f71d
push eax
push 0
push 0
push str.https:__ramensoftware.com_textify
push 0
push dword [ebp - 0x568]
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
jg 0x40f71d
lea ecx, [ebp - 0x560]
call fcn.00401c80
push 0xec
lea ecx, [ebp - 0x560]
mov byte [ebp - 4], 4
call fcn.00403fe0
lea ecx, [ebp - 0x554]
call fcn.00401c80
push 0xed
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 5
call fcn.00403fe0
push 1
push 0x425638
lea ecx, [ebp - 0x554]
call fcn.004024a0
push 0x21
push str.https:__ramensoftware.com_textify
lea ecx, [ebp - 0x554]
call fcn.004024a0
mov esi, dword [ebp - 0x554]
push 0x10
push dword [ebp - 0x560]
push esi
push dword [ebp - 0x568]
call dword [sym.imp.USER32.dll_MessageBoxW]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40f6fa
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x560]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f717
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x558]
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x40f734
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40fe35
mov ecx, dword [esi]
push esi
jmp 0x40fe30
mov dword [ebp - 4], 6
call fcn.00403eb0
mov ecx, eax
test ecx, ecx
je 0x40fe5b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x56c], eax
push 0xe6
lea ecx, [ebp - 0x56c]
mov dword [ebp - 4], 7
call fcn.00403fe0
mov byte [ebp - 4], 8
call fcn.00403eb0
mov ecx, eax
test ecx, ecx
je 0x40fe65
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x568], eax
push 0xe7
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 9
call fcn.00403fe0
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x594], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x598], 1
mov dword [ebp - 0x590], 2
mov dword [ebp - 0x58c], eax
mov byte [ebp - 4], 0xa
call fcn.00403eb0
mov ecx, eax
test ecx, ecx
je 0x40fe6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x57c], eax
push 0xe8
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0xb
call fcn.00403fe0
mov byte [ebp - 4], 0xc
call fcn.00403eb0
mov ecx, eax
test ecx, ecx
je 0x40fe79
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x578], eax
push 0xe9
lea ecx, [ebp - 0x578]
mov byte [ebp - 4], 0xd
call fcn.00403fe0
mov eax, dword [ebp - 0x57c]
mov dword [ebp - 0x5a4], eax
mov eax, dword [ebp - 0x578]
mov dword [ebp - 0x5a8], 1
mov dword [ebp - 0x5a0], 2
mov dword [ebp - 0x59c], eax
mov byte [ebp - 4], 0xe
call fcn.00403eb0
mov ecx, eax
test ecx, ecx
je 0x40fe83
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x574], eax
push 0xe2
lea ecx, [ebp - 0x574]
mov byte [ebp - 4], 0xf
call fcn.00403fe0
mov byte [ebp - 4], 0x10
call fcn.00403eb0
mov ecx, eax
test ecx, ecx
je 0x40fe8d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x570], eax
push 0xe1
lea ecx, [ebp - 0x570]
mov byte [ebp - 4], 0x11
call fcn.00403fe0
push 0x60
lea eax, [ebp - 0x608]
push 0
push eax
call fcn.00414d90
add esp, 0xc
mov dword [ebp - 0x608], 0x60
mov dword [ebp - 0x604], ebx
push 0
call esi
mov dword [ebp - 0x600], eax
mov eax, dword [ebp - 0x574]
mov dword [ebp - 0x5f4], eax
mov eax, dword [ebp - 0x570]
mov dword [ebp - 0x5ec], eax
lea eax, [ebp - 0x598]
push 0xffffffffffffffec
push ebx
mov dword [ebp - 0x5fc], 0x1000041
mov dword [ebp - 0x5f0], pe_nt_image_headers32
mov dword [ebp - 0x5e4], 2
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5b4], 0x40e850
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x400000
je 0x40f97c
or dword [ebp - 0x5fc], 0x2000
lea eax, [ebp - 0x608]
mov dword [ebp - 0x54c], eax
lea eax, [ebp - 0x598]
mov dword [ebp - 0x548], eax
lea eax, [ebp - 0x5a8]
mov dword [ebp - 0x544], eax
lea eax, [ebp - 0x540]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ecx, eax
dec eax
test ecx, ecx
je 0x40f9c6
cmp word [ebp + eax*2 - 0x540], 0x5c
jne 0x40f9b4
xor ecx, ecx
mov word [ebp + eax*2 - 0x53e], cx
lea eax, [ebp - 0x540]
push 0xc0000000
push eax
call fcn.0040e450
add esp, 8
mov dword [ebp - 0x334], 0
neg eax
mov dword [ebp - 0x32c], str.ramensoftware.com
mov dword [ebp - 0x328], str._downloads_textify_setup.exe
sbb eax, eax
inc eax
mov dword [ebp - 0x338], eax
lea eax, [ebp - 0x550]
mov dword [ebp - 0x5b0], eax
mov byte [ebp - 4], 0x12
call fcn.00403eb0
mov ecx, eax
test ecx, ecx
je 0x40fe97
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x558], eax
push 0xe3
lea ecx, [ebp - 0x558]
mov byte [ebp - 4], 0x13
call fcn.00403fe0
push 8
push str.:_1.8.9_n
lea ecx, [ebp - 0x558]
call fcn.004024a0
mov byte [ebp - 4], 0x14
call fcn.00403eb0
test eax, eax
je 0x40fe51
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x564], eax
push 0xe4
lea ecx, [ebp - 0x564]
mov byte [ebp - 4], 0x15
call fcn.00403fe0
mov eax, dword [ebp - 0x564]
lea ecx, [ebp - 0x558]
push dword [eax - 0xc]
lea esi, [eax - 0x10]
push eax
call fcn.004024a0
push 2
push 0x426424
lea ecx, [ebp - 0x558]
call fcn.004024a0
push edi
lea ecx, [ebp - 0x558]
call fcn.0040e310
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40fae2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x558]
mov dword [ebp - 0x5e8], edi
mov byte [ebp - 4], 0x16
call fcn.00403eb0
test eax, eax
je 0x40fe51
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x564], eax
push 0xe5
lea ecx, [ebp - 0x564]
mov byte [ebp - 4], 0x17
call fcn.00403fe0
mov byte [ebp - 4], 0x18
call fcn.00403eb0
mov ecx, eax
test ecx, ecx
je 0x40fea1
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x560], esi
push dword [ebp - 0x554]
mov byte [ebp - 4], 0x19
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x554]
inc ecx
add eax, ecx
cmp byte [eax], 0
je 0x40fd2b
lea ecx, [ebp - 0x110]
push 0xfde9
mov dword [ebp - 0x114], ecx
lea ecx, [ebp - 0x114]
push eax
call fcn.00406a70
mov edx, dword [ebp - 0x114]
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x588], edx
test edx, edx
je 0x40fceb
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x554], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40fba6
sub ecx, dword [ebp - 0x554]
sar ecx, 1
mov dword [ebp - 0x55c], ecx
je 0x40fceb
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x580], eax
mov eax, edx
sub eax, esi
sar eax, 1
mov dword [ebp - 0x584], eax
test ecx, ecx
js 0x40feab
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, dword [ebp - 0x55c]
or eax, ecx
jge 0x40fc0e
push dword [ebp - 0x55c]
lea ecx, [ebp - 0x560]
call fcn.00404f50
mov esi, dword [ebp - 0x560]
mov ecx, dword [ebp - 0x55c]
mov eax, dword [ebp - 0x584]
lea edx, [ecx + ecx]
mov dword [ebp - 0x554], edx
cmp eax, dword [ebp - 0x580]
ja 0x40fc7f
mov edi, dword [ebp - 0x558]
lea eax, [esi + eax*2]
mov dword [ebp - 0x580], eax
test edx, edx
je 0x40fcd7
test esi, esi
jne 0x40fc53
call fcn.004167b7
mov dword [eax], 0x16
jmp 0x40fcc6
test eax, eax
jne 0x40fc64
call fcn.004167b7
mov dword [eax], 0x16
jmp 0x40fcc6
mov eax, dword [esi - 8]
add eax, eax
cmp eax, edx
jb 0x40fcbb
push edx
push dword [ebp - 0x580]
push esi
call fcn.00413f40
add esp, 0xc
jmp 0x40fccb
mov eax, dword [esi - 8]
add eax, eax
test edx, edx
je 0x40fcd7
test esi, esi
jne 0x40fc99
call fcn.004167b7
mov dword [eax], 0x16
jmp 0x40fcc6
cmp eax, edx
jb 0x40fcaf
push edx
push dword [ebp - 0x588]
push esi
call fcn.00413f40
add esp, 0xc
jmp 0x40fccb
push eax
push 0
push esi
call fcn.00414d90
add esp, 0xc
call fcn.004167b7
mov dword [eax], 0x22
call fcn.004166de
mov ecx, dword [ebp - 0x55c]
mov edx, dword [ebp - 0x554]
cmp ecx, dword [esi - 8]
jg 0x40feab
xor eax, eax
mov dword [esi - 0xc], ecx
mov word [edx + esi], ax
jmp 0x40fcfc
lea ecx, [ebp - 0x560]
call fcn.0040c060
mov esi, dword [ebp - 0x560]
mov eax, dword [ebp - 0x564]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x5c8], esi
mov byte [ebp - 4], 0x19
cmp eax, ecx
je 0x40fd2b
push eax
call fcn.004167ca
add esp, 4
push 0
push 0
push 0
lea eax, [ebp - 0x608]
push eax
call dword [0x431064]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40fd55
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x564]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fd72
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x40fd89
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x570]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fda6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x574]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fdc3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x578]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fde0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x57c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fdfd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x568]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fe1a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x56c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40fe35
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041345d
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00402f20
push 0x80004005
call fcn.00402f20
push 0x80004005
call fcn.00402f20
push 0x80004005
call fcn.00402f20
push 0x80004005
call fcn.00402f20
push 0x80004005
call fcn.00402f20
push 0x80004005
call fcn.00402f20
push 0x80004005
call fcn.00402f20
push 0x80004005
call fcn.00402f20
push 0x80070057
call fcn.00402f20
int3