Function at 0x423c30
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2048
call fcn.00573790
mov eax, dword [0x629a40]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov ebx, ecx
push edi
mov edi, edx
mov dword [ebp - 0x2034], ebx
call fcn.004232a0
test eax, eax
je 0x423ea8
push 0
call fcn.00580559
add esp, 4
mov dword [ebp - 0x2048], eax
lea eax, [ebp - 0x2048]
mov dword [ebp - 0x2044], edx
push eax
call fcn.00586c6a
add esp, 4
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push edi
push eax
push dword [esi]
mov eax, dword [esi + 0x10]
push dword [esi + 4]
inc eax
push dword [esi + 8]
push dword [esi + 0xc]
push eax
mov eax, dword [esi + 0x14]
add eax, 0x76c
push eax
lea eax, [ebp - 0x2008]
push str.__d__d__d__d__d__d___d_:_s
push eax
call fcn.00423f40
add esp, 0x28
call fcn.00437f80
test al, al
je 0x423cd6
fsub st(0), st(0)
xlatb
clc
test byte [eax + 0x4afd7b45], ch
xchg esi, eax
stosd dword es:[edi], eax
inc edx
mov al, 0x94
xor byte [ebp + 0x534174db], al
test ebx, ebx
je 0x423d1b
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jle 0x423d1b
lea eax, [ebp - 0x202c]
mov dword [ebp - 0x200c], 0
push eax
xorps xmm0, xmm0
push 0
push ebx
movups xmmword [ebp - 0x202c], xmm0
movups xmmword [ebp - 0x201c], xmm0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
setne byte [ebp - 0x202d]
jmp 0x423d22
mov byte [ebp - 0x202d], 0
call fcn.00437b90
test al, al
je 0x423d46
fistp qword [ecx]
push ds
or al, byte [esi - 4]
jl 0x423d75
outsb dx, byte [esi]
daa
jp 0x423d71
pushfd
cld
ret 0x1170
or ch, byte [esi - 0x172af5a3]
add eax, 0x84000140
sal byte [eax + ebx - 0x80], 0xc4
out 0xdf, eax
add dword [edx + 0x6d58a705], eax
out 0x2f, eax
call fcn.00437d50
test al, al
je 0x423d67
add ah, 0xe7
fild word [ecx]
add byte [0xe76d58a7], 0x2f
sbb al, 0xdc
shr dword [edx + 0x2d], cl
scasb al, byte es:[edi]
and esp, dword [edi]
xor ebp, dword [eax + 0x20]
cmp ch, al
add al, 0x3f
add dword [eax], eax
call fcn.00437c70
test al, al
je 0x423d84
or dword [ebx - 0x32], edi
jnp 0x423d41
cmpsd dword [esi], dword es:[edi]
clc
aad 0xe4
ficom word [edi - 0x26ff1398]
xchg edi, eax
adc byte [ebx + 0x366cb91d], dl
push 0x61de2c
push dword [ebp - 0x2034]
call fcn.0057f160
add esp, 8
mov dword [ebp - 0x203c], eax
test eax, eax
je 0x423ea8
cmp byte [ebp - 0x202d], 0
jne 0x423dcc
push eax
push 2
lea eax, [ebp - 0x2038]
mov dword [ebp - 0x2038], 0xfeff
push 1
push eax
call fcn.0057f4bc
add esp, 0x10
add cl, byte [ebp - 0x20377b]
inc edi
test eax, ecx
invalid
call fcn.00437a40
test al, al
je 0x423df4
pop ebx
xchg byte [edx + 0xf], bh
fnstcw word [eax + esi]
movsd dword es:[edi], dword [esi]
jo 0x423e55
lahf
imul esi, dword [eax + 0x2a], 0x5deb59be
and al, 0xe9
push edi
invalid
call fcn.00437dc0
test al, al
je 0x423e19
std
cmp ecx, ebx
cmc
cdq
movsd dword es:[edi], dword [esi]
les esi, [edi + ecx*4 + 0x7faaa379]
cmc
arpl word [esi - 0x4c], cx
inc edx
adc bh, ah
and dh, ah
jg 0x423e0a
int 0x6d
loop 0x423db0
call fcn.00437ea0
test al, al
je 0x423e38
test eax, 0x180b12f0
js 0x423e59
popfd
sahf
jns 0x423ddc
jp 0x423e67
popal
lodsb al, byte [esi]
pop esp
iretd
lea ecx, [ebp - 0x2008]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x423e41
mov esi, dword [ebp - 0x203c]
sub ecx, edx
sar ecx, 1
stc
push esi
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x2008]
push 1
push eax
call fcn.0057f4bc
push esi
push 2
or dword [eax - 0x73], edx
test eax, edi
invalid
adc eax, 0x26a5600
lea eax, [ebp - 0x2034]
mov dword [ebp - 0x2034], 0xd
push 1
push eax
call fcn.0057f4bc
push esi
push 2
lea eax, [ebp - 0x2034]
mov dword [ebp - 0x2034], 0xa
push 1
push eax
call fcn.0057f4bc
push esi
call fcn.0057f204
add esp, 0x34
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00572ac9
mov esp, ebp
pop ebp
ret