Function at 0x4a5ea8
Capabilities:
Write file on windows

Disassembly:
cmp ebx, 0xf1ee6c33
jne 0x4a5e68
call fcn.0049bc8d
mov eax, dword [ebp - 8]
add eax, ecx
pop ecx
call fcn.00496bf0
movdqu xmmword [edi + 0x40], xmm4
imul ecx, dword [edx + 0x60], 0x50
outsb dx, byte [esi]
inc esi
imul ebp, dword [eax + 0x6d], 0x6e18358
jns 0x4a5ea2
test cl, 2
or eax, 0x800
push 0xffffffffffffffff
cmp dword [esp + 0x54], 0xfafaf6c1
cmove ebp, eax
call 0x4a5ea8
call fcn.004a2579
jl 0x4a5ee1
mov eax, dword [ebp + 0x30]
lea eax, [ebp - 0x2d0]
leave
jmp 0x4a5e2f
jge 0x4a5eed
or eax, 0xffffffff
pop ecx
lock xchg dword [esp], ecx
lea ecx, [ecx - 0x8ce3d]
lock xchg dword [esp], ecx
cmp edx, 0x5afe35b
cmove ecx, ebp
mov eax, dword fs:[0]
cmp ebx, 0xdf3ebeeb
cmove ecx, ecx
push eax
cmp ecx, 0xf6a5cd71
je 0x4a5ec5
sub esp, 0x18
cmp dword [esp + 4], 0x26048969
cmove edx, eax
cmove edx, eax
pushf
lea esp, [esp - 4]
mov dword [esp], edi
call 0x4a5f40
shrd eax, ecx, 4
pop ecx
push esi
and al, 0xe8
dec ebp
add byte [eax], al
add byte [edi], cl
lodsb al, byte [esi]
enter 0x5904, 0x56
mov ebx, dword fs:[ebp - 0x14]
inc ecx
inc ecx
pop ebx
pop eax
call esi
test ecx, ecx
jl 0x4a5f6d
js 0x4a5f64
call 0x4a5cda
mov edx, dword [ebp + 8]
mov edx, edi
push 0x43
dec edi
pop ebx
dec ebp
push eax
mov eax, dword [ebp - 0xfc]
push esi
dec esp
insb byte es:[edi], dx
orpd xmm0, xmm2
sub al, 0x61
jnp 0x4a5f94
cmp eax, dword [ebp - 8]
call fcn.0049fcc4
call fcn.0049d868
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp ebx, 0x64
pop edi
call 0x4a5f46
mov dword [esp], edx
lea edx, [esp + 0xa]
push ebx
push ebp
mov ebx, edi
add ebx, 0xfff7b18d
push word [esp + 0x10]
popf
mov eax, dword [ebx]
pop ebp
pop ebx
pop edx
lock xchg dword [esp], edi
lea esp, [esp + 4]
lea esp, [esp + 2]
cmp dword [esp + 0x3c], 0x749e9ed9
jne 0x4a5fb4
dec ebp
js 0x4a5fc6
push edx
pop esp
inc edx
dec esp
push eax
pop ebp
inc ecx
pop ecx
push eax
inc edx
push edx
inc ecx
dec edx
outsb dx, byte [esi]
pop bx
dec ebp
imul ebp, dword [ecx + 0x4f], 0x4b4c6148
jnp 0x4a5fe6
pushal
dec edi
inc ecx
inc eax
pop edi
push ebp
pop esp
push eax
pop esp
pop ebx
outsd dx, dword [esi]
dec esp
outsd dx, dword [esi]
pop ebx
pop ebx
pop ebp
outsd dx, dword gs:[esi]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 0x10], 0
push 0x347
pushfd
push edi
call 0x4a6034
dec ecx
pop esi
add eax, dword [eax]
add byte [edi + edx*2 + 0x64e8], bl
add byte [ecx + 0x5e], cl
inc edx
dec ecx
push ebp
inc edi
inc ebx
dec edi
imul ebp, dword [edi + ebx*2 + 0x68], 0x635c6c6a
push eax
outsd dx, dword [esi]
imul ebx, dword [edx + ebx*2 + 0x79], 0x68444d6a
push ebx
pop edi
dec esi
push ebx
push 0x4d
inc esp
push 0x534e5f53
bound ebp, qword [edx + 0x49]
push edx
dec bx
pop esi
push ebp
pop ebp
dec esp
outsd dx, dword [esi]
push eax
insb byte es:[edi], dx
pop edx
dec edi
jns 0x4a6042
dec edi
jns 0x4a604c
jns 0x4a604e
pop ebx
push edx
inc ebx
push 0x53495c5a
outsd dx, dword [esi]
dec ecx
dec edi
outsb dx, byte [esi]
pushal
pop edi
pop ebp
outsd dx, dword [esi]
push eax
arpl word [bx + 0x64], bp
inc ebp
pop edi
popal
dec eax
pop eax
pop esi
inc ebx
push 0x514b626a
push esi
dec ecx
inc esp
push esp
inc edx
dec esp
dec ebx
pop eax
push ebx
inc ebp
pop edi
call 0x4a603a
mov dword [esp], eax
mov eax, 0xce
cmovne eax, dword [esp + 0xc]
add edi, eax
mov dword [esp + 0xc], edi
lock xchg dword [esp], eax
or al, 0xf0
xchg dword [esp], eax
lea esp, [esp + 4]
pop edi
lock xchg dword [esp], eax
xchg al, ah
sahf
lock xchg dword [esp], eax
lea esp, [esp + 4]
ret