Function at 0x4043c0
Capabilities:
Create process on windows
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42bdb2
mov eax, dword fs:[0]
push eax
mov eax, 0x60bc
call fcn.0041a300
mov eax, dword [0x439190]
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
push 0x2f0c
lea eax, [ebp - 0x31b8]
mov esi, ecx
push 0x43f128
push eax
mov dword [ebp - 0x298], esi
call fcn.00419be0
add esp, 0xc
push 0x2f0c
lea ecx, [ebp - 0x31b8]
push ecx
lea edx, [ebp - 0x60c8]
push edx
call fcn.00419be0
add esp, 0xc
push 0x2f0c
lea eax, [ebp - 0x60c8]
push eax
lea ecx, [ebp - 0x31b8]
push ecx
call fcn.00419be0
add esp, 0xc
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x216]
push eax
mov word [ebp - 0x218], dx
call fcn.00419b60
mov ecx, dword [ebp - 0x31ac]
add ecx, dword [ebp - 0x31b8]
add esp, 0xc
cmp dword [ebp - 0x31b4], 0
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x2a4], 0
jbe 0x404c77
mov ebx, dword [ebp - 0x31b0]
mov esi, dword [ebp - 0x298]
lea eax, [ebp - 0x294]
push eax
push ebx
mov ecx, esi
mov dword [ebp - 0x294], 0
call fcn.004015e0
mov edi, dword [ebp - 0x29c]
push eax
mov eax, edi
call fcn.0040cd40
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax]
mov dword [ebp - 0x2a0], ecx
add edi, ebx
mov ecx, 8
add esp, 0xc
mov dword [ebp - 0x29c], edi
cmp dword [ebp - 0x2a4], ecx
jae 0x4046f9
cmp dword [esi + 0x5e70], ecx
lea eax, [esi + 0x5e5c]
jb 0x4044fd
mov eax, dword [eax]
mov edi, dword [ebp - 0x294]
add edi, ecx
push edi
push eax
push 0x433890
lea edx, [ebp - 0x218]
push 0x104
push edx
call fcn.00418ae3
add esp, 0x14
xor eax, eax
mov word [ebp - 0x234], ax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x404546
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x234]
call fcn.004015f0
mov edx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x29c]
push edx
push eax
lea edx, [ebp - 0x234]
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.00404120
test eax, eax
sete bl
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x220], 8
jb 0x4045ae
mov ecx, dword [ebp - 0x234]
push ecx
call fcn.0041866f
add esp, 4
test bl, bl
je 0x4045d8
push str.SaveFileBufferAsFile___return_false
call fcn.004166a0
mov edx, dword [ebp - 0x294]
add esp, 4
push edx
call fcn.0041866f
add esp, 4
mov dword [ebp - 0x294], 0
mov ecx, str.Adobe_Reader_X_XI__ProtectedMode.bat
mov eax, edi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404606
test dx, dx
je 0x404602
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404606
add eax, 4
add ecx, 4
test dx, dx
jne 0x4045e0
xor eax, eax
jmp 0x40460b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4046e3
mov dword [ebp - 0x224], eax
mov word [ebp - 0x234], ax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x220], 7
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x404633
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x234]
call fcn.004015f0
lea edx, [ebp - 0x234]
push edx
lea eax, [ebp - 0x290]
push eax
mov dword [ebp - 4], 1
call fcn.004159c0
mov esi, 0x10
add esp, 8
cmp dword [eax + 0x14], esi
jb 0x40467e
mov eax, dword [eax]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
mov ebx, eax
cmp dword [ebp - 0x27c], esi
jb 0x4046a0
mov ecx, dword [ebp - 0x290]
push ecx
call fcn.0041866f
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x220], 8
mov dword [ebp - 0x27c], 0xf
mov dword [ebp - 0x280], 0
mov byte [ebp - 0x290], 0
jb 0x4046da
mov edx, dword [ebp - 0x234]
push edx
call fcn.0041866f
add esp, 4
cmp ebx, 0x20
jbe 0x404caa
push 4
push 0
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x404c34
mov ecx, dword [esi + 0x2f3c]
cmp eax, ecx
jae 0x4047d4
mov ebx, dword [esi + 0x2f38]
cmp ebx, eax
ja 0x4047d4
mov esi, dword [ebp - 0x294]
sub esi, ebx
mov eax, 0xd62b80d7
imul esi
mov eax, dword [ebp - 0x298]
mov edi, dword [eax + 0x2f40]
add edx, esi
sar edx, 9
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ecx, edi
jne 0x4047a8
sub ecx, ebx
mov eax, 0xd62b80d7
imul ecx
add edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x6b15bf
ja 0x404d39
sub edi, ebx
mov eax, 0xd62b80d7
imul edi
add edx, edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x4047a8
mov edx, eax
shr edx, 1
mov edi, 0x6b15c0
sub edi, edx
cmp edi, eax
jae 0x40478e
xor eax, eax
jmp 0x404790
add eax, edx
cmp eax, ecx
jae 0x404796
mov eax, ecx
mov ecx, dword [ebp - 0x298]
push eax
add ecx, 0x2f38
call fcn.00406be0
mov eax, dword [ebp - 0x298]
imul esi, esi, 0x264
mov edi, dword [eax + 0x2f3c]
add esi, dword [eax + 0x2f38]
test edi, edi
je 0x404863
mov ecx, 0x99
rep movsd dword es:[edi], dword [esi]
jmp 0x404863
mov edi, dword [esi + 0x2f40]
cmp ecx, edi
jne 0x404846
mov ebx, dword [esi + 0x2f38]
sub ecx, ebx
mov eax, 0xd62b80d7
imul ecx
add edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x6b15bf
ja 0x404d39
sub edi, ebx
mov eax, 0xd62b80d7
imul edi
add edx, edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x404846
mov edx, eax
shr edx, 1
mov edi, 0x6b15c0
sub edi, edx
cmp edi, eax
jae 0x404832
xor eax, eax
jmp 0x404834
add eax, edx
cmp eax, ecx
jae 0x40483a
mov eax, ecx
push eax
lea ecx, [esi + 0x2f38]
call fcn.00406be0
mov edi, dword [esi + 0x2f3c]
test edi, edi
je 0x40485d
mov esi, dword [ebp - 0x294]
mov ecx, 0x99
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x298]
add dword [eax + 0x2f3c], 0x264
mov eax, dword [ebp - 0x298]
add eax, 0x5e78
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x2a8], eax
jb 0x404886
mov eax, dword [eax]
mov esi, dword [ebp - 0x294]
add esi, 8
push esi
push eax
push 0x433890
lea ecx, [ebp - 0x218]
push 0x104
push ecx
call fcn.00418ae3
add esp, 0x14
xor edx, edx
lea eax, [ebp - 0x218]
mov word [ebp - 0x234], dx
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4048d0
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x234]
call fcn.004015f0
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x29c]
push ecx
mov ecx, dword [ebp - 0x298]
push edx
lea edx, [ebp - 0x234]
mov dword [ebp - 4], 2
call fcn.00404120
test eax, eax
mov edi, 8
sete bl
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x220], edi
jb 0x404940
mov eax, dword [ebp - 0x234]
push eax
call fcn.0041866f
add esp, 4
test bl, bl
jne 0x404d43
push 4
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
xor edx, edx
lea eax, [ebp - 0x218]
mov word [ebp - 0x234], dx
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], ebx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x404980
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x234]
call fcn.004015f0
lea ecx, [ebp - 0x234]
push ecx
lea ecx, [ebp - 0x274]
mov dword [ebp - 4], 3
call fcn.00416bb0
mov byte [ebp - 4], 5
cmp dword [ebp - 0x220], edi
jb 0x4049d6
mov edx, dword [ebp - 0x234]
push edx
call fcn.0041866f
add esp, 4
xor eax, eax
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], ebx
mov word [ebp - 0x234], ax
call fcn.00416b40
lea ecx, [ebp - 0x274]
call fcn.00416b60
mov ebx, dword [ebp - 0x298]
lea edi, [ebx + 0x2f28]
lea ecx, [ebp - 0x274]
call fcn.00406560
mov ecx, dword [ebx + 0x5e50]
push 5
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
xor edi, edi
xor edx, edx
mov eax, esi
mov word [ebp - 0x250], dx
mov dword [ebp - 0x23c], 7
mov dword [ebp - 0x240], edi
lea edx, [eax + 2]
jmp 0x404a50
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x404a50
sub eax, edx
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x250]
call fcn.004015f0
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 6
call fcn.00403e90
test al, al
je 0x404b96
mov ecx, dword [ebp - 0x250]
mov edx, 8
cmp dword [ebp - 0x23c], edx
jae 0x404a9c
lea ecx, [ebp - 0x250]
mov eax, dword [ebp - 0x2a8]
cmp dword [eax + 0x14], edx
jb 0x404aa9
mov eax, dword [eax]
push ecx
push eax
push 0x433890
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00418ae3
add esp, 0x14
lea ecx, [ebp - 0x250]
push ecx
mov ecx, ebx
call fcn.00403fb0
test al, al
je 0x404b63
mov eax, dword [ebp - 0x294]
mov edx, dword [ebp - 0x2a0]
add dword [ebp - 0x29c], edx
push eax
call fcn.0041866f
mov ebx, 8
add esp, 4
cmp dword [ebp - 0x23c], ebx
jb 0x404b11
mov ecx, dword [ebp - 0x250]
push ecx
call fcn.0041866f
add esp, 4
xor edx, edx
mov esi, 7
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x240], edi
mov word [ebp - 0x250], dx
cmp dword [ebp - 0x258], ebx
jb 0x404b49
mov eax, dword [ebp - 0x26c]
push eax
call fcn.0041866f
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], edi
mov word [ebp - 0x26c], cx
jmp 0x404c58
lea eax, [ebp - 0x218]
mov edx, esi
mov ecx, eax
sub edx, ecx
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x404b70
mov edx, dword [ebp - 0x294]
push edx
lea eax, [ebp - 0x250]
push eax
mov ecx, ebx
call fcn.00403440
jmp 0x404bcb
lea eax, [ebp - 0x218]
mov edx, esi
mov ecx, eax
sub edx, ecx
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x404ba2
mov edx, dword [ebp - 0x294]
mov esi, dword [ebp - 0x298]
push edx
lea ecx, [ebp - 0x250]
call fcn.004036c0
xor edi, edi
mov ebx, 8
cmp dword [ebp - 0x23c], ebx
jb 0x404be7
mov eax, dword [ebp - 0x250]
push eax
call fcn.0041866f
add esp, 4
xor ecx, ecx
mov esi, 7
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x240], edi
mov word [ebp - 0x250], cx
cmp dword [ebp - 0x258], ebx
jb 0x404c1f
mov edx, dword [ebp - 0x26c]
push edx
call fcn.0041866f
add esp, 4
xor eax, eax
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], edi
mov word [ebp - 0x26c], ax
mov ecx, dword [ebp - 0x2a0]
add dword [ebp - 0x29c], ecx
cmp dword [ebp - 0x294], 0
je 0x404c58
mov edx, dword [ebp - 0x294]
push edx
call fcn.0041866f
add esp, 4
mov eax, dword [ebp - 0x2a4]
inc eax
mov dword [ebp - 0x2a4], eax
cmp eax, dword [ebp - 0x31b4]
jb 0x404490
mov esi, dword [ebp - 0x298]
lea eax, [esi + 0x2f38]
push eax
call fcn.00407590
lea eax, [esi + 0x2f28]
call fcn.00407310
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.004180c9
mov esp, ebp
pop ebp
ret
push str.MIXIN_TITLE_CAPTION_ERROR
push 0x442430
mov edi, 0x43a754
call fcn.004011c0
push ebx
lea eax, [ebp - 0x218]
push eax
push str.MIXIN_TITLE_OPEN_DOC_FAILED
push 0x442430
mov edi, 0x43a738
call fcn.004011c0
mov ecx, dword [0x43a754]
mov eax, 8
add esp, 0x18
cmp dword [0x43a768], eax
jae 0x404cf5
mov ecx, 0x43a754
cmp dword [0x43a74c], eax
mov eax, dword [0x43a738]
jae 0x404d07
mov eax, 0x43a738
push esi
push ecx
mov ecx, dword [ebp - 0x298]
mov edx, dword [ecx + 0x5e50]
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x294]
test eax, eax
je 0x404c8e
push eax
call fcn.0041866f
add esp, 4
jmp 0x404c8e
push str.vector_T__too_long
call fcn.00417c40
push str.MIXIN_TITLE_CAPTION_ERROR
push 0x442430
mov edi, 0x43a754
call fcn.004011c0
push 0
lea eax, [ebp - 0x218]
push eax
push str.MIXIN_TITLE_OPEN_DOC_FAILED
push 0x442430
mov edi, 0x43a738
call fcn.004011c0
mov ecx, dword [0x43a754]
mov eax, 8
add esp, 0x18
cmp dword [0x43a768], eax
jae 0x404d8f
mov ecx, 0x43a754
cmp dword [0x43a74c], eax
mov eax, dword [0x43a738]
jae 0x404da1
mov eax, 0x43a738
push 0x10
push ecx
mov ecx, dword [ebp - 0x298]
mov edx, dword [ecx + 0x5e50]
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x294]
push eax
call fcn.0041866f
add esp, 4
jmp 0x404c8e