Function at 0x408b84
Capabilities:
Copy file

Disassembly:
mov eax, 0x426956
call fcn.00415e78
sub esp, 0x1b0
push ebx
push esi
push edi
push dword [ebp + 8]
lea ecx, [ebp - 0x2c]
call fcn.00402ce4
and dword [ebp - 4], 0
mov eax, dword [ebp - 0x28]
push 0x10
pop ebx
cmp dword [ebp - 0x14], ebx
jae 0x408bb4
lea eax, [ebp - 0x28]
push eax
call fcn.004154a0
cmp eax, 4
pop ecx
jle 0x408c8f
cmp dword [ebp - 0x14], ebx
mov ecx, dword [ebp - 0x28]
jae 0x408bcf
lea ecx, [ebp - 0x28]
lea eax, [ecx + eax - 4]
push eax
lea ecx, [ebp - 0x48]
call fcn.00404ee2
cmp dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x44]
jae 0x408be7
lea eax, [ebp - 0x44]
push eax
call fcn.004262b2
cmp dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x44]
pop ecx
jae 0x408bf9
lea eax, [ebp - 0x44]
push str..txt
push eax
call fcn.00416490
test eax, eax
pop ecx
pop ecx
jne 0x408c83
cmp dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x28]
jae 0x408c15
lea eax, [ebp - 0x28]
push 0x428594
push eax
call fcn.00416470
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
mov ecx, dword [eax + 0x18]
add eax, 4
cmp ecx, ebx
jb 0x408c36
mov edx, dword [eax]
jmp 0x408c38
mov edx, eax
cmp ecx, ebx
jb 0x408c40
mov edi, dword [eax]
jmp 0x408c42
mov edi, eax
cmp ecx, ebx
jb 0x408c4a
mov esi, dword [eax]
jmp 0x408c4c
mov esi, eax
push dword [ebp - 0x10]
push edx
call fcn.004154a0
pop ecx
push eax
push 1
push edi
call fcn.004165e0
push esi
mov edi, eax
call fcn.004154a0
push dword [ebp - 0x10]
cmp edi, eax
sete bl
call fcn.00416120
add esp, 0x18
push 0
push 1
lea ecx, [ebp - 0x48]
jmp 0x408e33
push 0
push 1
lea ecx, [ebp - 0x48]
call fcn.00402028
mov edi, dword [ebp + 0x10]
cmp dword [edi + 0x18], ebx
lea esi, [edi + 4]
jb 0x408c9e
mov eax, dword [esi]
jmp 0x408ca0
mov eax, esi
push eax
call fcn.004154a0
test eax, eax
pop ecx
jne 0x408cf0
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00405607
pop ecx
pop ecx
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.0040290c
push 0
push 1
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0
call fcn.00402028
cmp dword [edi + 0x18], ebx
jb 0x408cde
mov esi, dword [esi]
push esi
call fcn.004154a0
test eax, eax
pop ecx
jne 0x408cf0
xor bl, bl
jmp 0x408e38
push 0x427a38
lea ecx, [ebp - 0x80]
call fcn.00404ee2
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x18], ebx
mov byte [ebp - 4], 2
jb 0x408d0e
mov eax, dword [esi + 4]
jmp 0x408d11
lea eax, [esi + 4]
push eax
call fcn.004154a0
test eax, eax
pop ecx
je 0x408d2c
lea eax, [ebp - 0x80]
push eax
push edi
push esi
call fcn.00408879
add esp, 0xc
jmp 0x408d5c
lea eax, [ebp - 0x64]
push 0x8b
push eax
call fcn.00405106
push 0x40
push eax
push dword [ebp + 0x14]
mov byte [ebp - 4], 3
call fcn.00405180
add esp, 0x14
push 0
push 1
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.00402028
push 0x40
pop ecx
xor eax, eax
mov byte [ebp - 0x1bc], 0
lea edi, [ebp - 0x1bb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea eax, [ebp - 0x1bc]
push eax
push 0x400000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
cmp dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x28]
jae 0x408d95
lea eax, [ebp - 0x28]
push 0
push eax
lea eax, [ebp - 0x1bc]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push str.PAYLOAD
lea ecx, [ebp - 0x64]
call fcn.00404ee2
push str.CONTENT
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 4
call fcn.00404ee2
cmp dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 5
jae 0x408dd5
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00404ee2
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x9c]
push eax
mov byte [ebp - 4], 6
call fcn.00407336
add esp, 0x10
xor edi, edi
xor esi, esi
push edi
inc esi
push esi
lea ecx, [ebp - 0x9c]
mov bl, al
call fcn.00402028
push edi
push esi
lea ecx, [ebp - 0xb8]
call fcn.00402028
push edi
push esi
lea ecx, [ebp - 0x64]
call fcn.00402028
push edi
push esi
lea ecx, [ebp - 0x80]
call fcn.00402028
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00402028
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov al, bl
pop ebx
mov dword fs:[0], ecx
leave
ret