Function at 0x4086d0
Capabilities:
Write file on windows

Disassembly:
lea eax, [eax + eax + 1]
push eax
mov eax, dword [ebx + 0x18]
push eax
call fcn.004055b0
add esp, 0xc
mov edi, eax
jmp 0x40855e
jge 0x407ff9
add dword [ebp - 0xc], 0x64
push ebx
movzx eax, byte [ebp + 0x10]
push eax
push esi
push 2
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00407990
add esp, 0x18
mov edi, eax
jmp 0x40855e
push eax
sbb al, 0x52
mov edx, dword [eax + 0x18]
push edx
mov eax, dword [eax + 0x14]
push eax
call fcn.00407bf0
add esp, 0xc
push ebx
movzx edx, byte [ebp + 0x10]
push edx
push esi
push 4
add eax, 0x76c
push eax
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00407990
add esp, 0x18
mov edi, eax
jmp 0x40855e
push ebx
movzx eax, byte [ebp + 0x10]
push eax
push esi
push 2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
inc eax
push eax
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00407990
add esp, 0x18
mov edi, eax
jmp 0x40855e
push ebx
movzx eax, byte [ebp + 0x10]
push eax
push esi
push 2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00407990
add esp, 0x18
mov edi, eax
jmp 0x40855e
aam 0xff
inc dword [ebx - 0x3876f33c]
jmp 0x40855e
cmp byte [ebp + 0x10], 0x45
jne 0x408153
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0xc], eax
jmp 0x408159
invalid
invalid
add byte [ebx + 0xf], dl
mov dh, 0x45
adc byte [eax + 0x56], dl
push 2
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push eax
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00407990
add esp, 0x18
mov edi, eax
jmp 0x40855e
adc byte [eax + 0x56], dl
push 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
jne 0x4081db
mov dword [ebp - 0x10], 7
jmp 0x4081e4
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00407990
add esp, 0x18
mov edi, eax
jmp 0x40855e
push eax
sbb al, 0x52
mov eax, dword [eax + 0x18]
push eax
push 0
call fcn.00407aa0
add esp, 0xc
push ebx
movzx edx, byte [ebp + 0x10]
push edx
push esi
push 2
push eax
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00407990
add esp, 0x18
mov edi, eax
jmp 0x40855e
inc ebp
or byte [ebx - 0x74ade3b0], cl
inc eax
sbb byte [eax + 0x6a], dl
add eax, ebp
clc
invalid
invalid
adc byte [ebp + 0xf], al
test esi, ecx
add byte [eax], al
add byte [ebx - 0x75], dl
inc ebp
or byte [eax - 0x18], dl
add dl, bh
invalid
add esp, 0xc
mov edi, eax
cmp dword [esi], 0
jle 0x40855e
mov eax, dword [ebp + 8]
cmp dword [eax + 0x20], 0
jle 0x40855e
push 0xa
push 0
push edi
call fcn.00405630
add esp, 0xc
add eax, 0x64
mov dword [ebp - 0x20], eax
test eax, eax
jl 0x4084d8
mov edx, dword [ebp + 0x1c]
mov byte [edx], 0x2b
jmp 0x4084e1
js 0x4084d9
invalid
inc dword [esi]
jmp 0x40855e
mov eax, dword [ebx + 0x50]
cmp byte [eax], 0
jne 0x408514
call fcn.00405540
mov dword [ebp - 0x20], eax
jmp 0x40851a
mov edi, eax
jmp 0x40855e
pop ds
inc ecx
add bh, al
push es
add dword [eax], eax
add byte [eax], al
jmp 0x40855e
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
sub esp, 4
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x18]
cmp eax, edx
jae 0x40858b
sbb byte [ecx], bh
sal byte [ebx + 0x28], 1
xor eax, eax
jmp 0x40866d
dec eax
and eax, 0x4000
add eax, 0x200
mov edx, dword [ebp - 4]
or edx, eax
mov eax, edx
mov word [ebx], ax
or eax, 0xffffffff
jmp 0x40866d
adc byte [edi], cl
mov dh, 0xd8
jmp 0x4086a1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov eax, dword [eax*4 + 0x4170c0]
test byte [eax + edi*8 + 4], 1
jne 0x408711
mov dword [0x415c84], 9
or eax, 0xffffffff
jmp 0x4088e4
loop 0x408732
sar eax, 5
mov eax, dword [eax*4 + 0x4170c0]
test byte [eax + edx*8 + 4], 0x20
je 0x408755
push 2
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.00409fd0
add esp, 0xc
mov esi, dword [ebp + 8]
les ecx, [ebx + ecx*4]
jne 0x40873f
mov edi, esi
and edi, 0x1f
sar esi, 5
mov esi, dword [esi*4 + 0x4170c0]
test byte [esi + edi*8 + 4], 0x80
je 0x408833
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], 0
inc ebp
lock add byte [eax], al
add byte [eax], al
jmp 0x40881f
mov ebx, dword [ebp + 0xc]
push ebx
mov eax, dword [ebp + 8]
mov edx, eax
and edx, 0x1f
sar eax, 5
mov eax, dword [eax*4 + 0x4170c0]
mov eax, dword [eax + edx*8]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
inc ecx
add byte [ebx - 0xaf2ffc], cl
adc eax, sym.imp.KERNEL32.dll_WriteFile
test eax, eax
je 0x408870
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
jmp 0x408879
pop esp
inc ecx
add byte [ecx], cl
add byte [eax], al
add bl, ch
sub al, 0x8b
inc ebp
invalid
mov eax, dword [ebp - 0x10]
push eax
call fcn.00408c30
pop edx
or eax, 0xffffffff
jmp 0x4088e4
sal byte [edi + esi*2 - 0x75], 0x34
popfd
sal byte [eax + 0x41], 0
jmp 0x408947
mov esi, eax
test eax, eax
je 0x4089b1
mov dword [ebx*4 + 0x4170c0], esi
add dword [0x4170bc], 0x20
jmp 0x408990
clc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fimul dword [ecx + 0x1fe083d8]
sar edx, 5
mov edx, dword [edx*4 + 0x4170c0]
add byte [ebp + 0x40f6c204], cl
add al, 1
je 0x408a43
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x408a43
test ebx, ebx
je 0x408a05
cmp ebx, 1
je 0x408a11
cmp ebx, 2
je 0x408a1d
jmp 0x408a27
mov edx, ebx
and eax, 0x1f
sar edx, 5
mov edx, dword [edx*4 + 0x4170c0]
mov dword [edx + eax*8], 0xffffffff
xor eax, eax
jo 0x408a54
add bh, al
add al, 0xc2
jmp 0x408a50
add byte [ecx], cl
add byte [eax], al
add byte [ebx - 0x3d], bl
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
mov eax, dword [0x4170bc]
mov ebx, dword [esp + 8]
pop esp
and al, 8
cmp ebx, eax
jae 0x408ae4
mov eax, ebx
mov edx, ebx
and eax, 0x1f
pop ds
sar edx, 5
mov edx, dword [edx*4 + 0x4170c0]
mov eax, dword [edx + eax*8]
add al, 0xc2
cmp eax, 0xffffffff
jne 0x408ae4
test ebx, ebx
je 0x408a9d
cmp ebx, 1
je 0x408aac
cmp ebx, 2
je 0x408abb
jmp 0x408ac8
adc eax, sym.imp.KERNEL32.dll_SetStdHandle
mov eax, ebx
mov edx, ebx
mov ecx, dword [esp + 0xc]
and eax, 0x1f
pop ds
sar edx, 5
mov edx, dword [edx*4 + 0x4170c0]
mov dword [edx + eax*8], ecx
xor eax, eax
jmp 0x408af1
shr bl, 0x33
or eax, 0xffffffff
mov dword [0x415c84], 9
pop ebx
ret
add byte [eax], al
add byte [ebx - 0x3d], bl
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [0x4170bc]
cmp ecx, eax
jae 0x408b3a
sal dword [ebx + 0x53], 0x89
enter 0xffffffffffffca89, 0xffffffffffffff83
loopne 0x408b0d
mov eax, ecx
mov edx, ecx
and eax, 0x1f
sar edx, 5
mov edx, dword [edx*4 + 0x4170c0]
test byte [edx + eax*8 + 4], 1
je 0x408b3a
invalid