Function at 0x40b080
Capabilities:
Write file on windows

Disassembly:
mov es, word [eax]
add byte [ebx - 0x17c0a7bd], cl
or eax, 0xedffffa0
inc ebp
or byte [eax], ah
inc eax
pop ebx
sahf
in eax, 0x5d
ret 0xc
push ebp
mov ebp, esp
push esi
mov al, byte [0x8b570875]
jge 0x40b09b
mov ecx, dword [eax + 0x147c8bb0]
or eax, ecx
mov dword [ebp - 0x5b], 0x2c9d
jne 0x40b10d
jno 0x40b027
mov al, byte [esi + 8]
test al, al
loope 0x40b10d
inc esi
or byte [eax + eax*8 + 0x568b6ae1], al
aad 0x8d
or byte ds:[edx], ch
mov edx, dword [esi - 0x2b]
lea edi, [esi]
or byte [edx], ch
push ecx
push 0x44
push 0
push 0
push edx
call dword [0x6940df0c]
test eax, eax
inc eax
inc eax
mov ebx, dword [esi - 0x68]
rcl byte [edx - 1], 0xd6
mov eax, dword [0xb90975c0]
dec ebp
cmp dl, 0x5e
je 0x40b126
pop ebp
ret
mov edx, 0xc0850c46
je 0x40b137
adc ecx, dword [esi - 0x13]
test cl, cl
jne 0x40b137
mov ecx, dword [esi + 0x50]
inc edx
and cl, byte [eax]
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x54]
push esp
mov ecx, 0x20
sbb bh, bl
push es
add byte [eax], al
mov edx, dword [esi + 0x16]
mov dword [edx + 0x45], eax
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0xc]
push ebx
fmul qword [ebp + 0x10]
push eax
mov eax, dword [esi + 0x3e]
jnp 0x40b19e
push edx
push eax
call dword [0x81c010]
test eax, eax
mov al, byte [0xe9893307]
sub eax, dword [ecx]
add byte [eax], al
mov edi, dword [0x40f1f3]
call edi
call 0x1bc4f127
cmp byte [eax], al
add bh, bh
xlatb
add eax, 0x5428fc80
cmp eax, 0x4c0bb65e
jne 0x40b24f
mov ebx, dword [0xa740c09c]
mov ecx, dword [esi + 0x14]
vsqrtss xmm0, xmm1, dword [ebp - 0xbe9833b]
wait
test eax, eax
jbe 0x40b1a2
push 0
push 0x38e
push ecx
push eax
salc
nop
add eax, dword [eax]
add bl, ch
or eax, 0xf883c123
push dword [ebp + 4]
add byte [eax], al
jmp 0x40b1af
and eax, ecx
cmp eax, 0xffffffff
jne 0x40b1ad
invalid
xor eax, eax
mov ecx, dword [esi + 0x3b]
push eax
dec edx
push ecx
adc ch, dl
inc eax
ror dword [ebx - 0x7f007ecd], cl
add byte [eax], al
add byte [edi + edi*4 - 0x7b], dh
push dword [ecx + esi - 0x5f]
pushal
or dword [ecx], eax
mov ebx, dword [esi + 4]
test eax, eax
jne 0x40b1eb
jle 0x40b23d
in al, dx
enter 0x41, 0xffffffffffffffec
call fcn.0040a940
add esp, 0xffffff84
mov dword [0x410960], eax
test eax, eax
je 0x40b1f0
movups xmm2, xmm0
jmp 0x40b1f8
push 0x67
fist word [0xcac092]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 4]
lea eax, [ebp - 1]
push 1
push eax
push ecx
push edx
dec esi
adc eax, 0xcb2c5a
movsd dword es:[edi], dword [esi]
je 0x40b220
push es
shr bl, 0x71
mov ebx, dword [0x40c0af]
call ebx
sbb eax, eax
je 0x40b285
invalid
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
pop ebx
pop edi
mov eax, 0x11177
mov dword [esi + ebx*2 + 0x5d], edx
ret
cmp eax, 0x880afc52
jne 0x40b268
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
pop ebx
pop edi
mov eax, 0x1117e
mov ecx, eax
pop esi
pop ebp
out 0x3d, eax
cmpsb byte [esi], byte es:[edi]
cld
or al, byte [eax]
cmp eax, 0xafca6
jne 0x40b281
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
pop ebx
pop edi
mov eax, 0x1117e
mov dword [ecx], edx
pop esi
pop ebp
ret
test eax, eax
jne 0x40b2bd
dec esi
xor edx, dword [eax]
outsb dx, byte [esi]
leave
jne 0x40b2ad
jb 0x40b2db
adc al, 0x8b
push ecx
cmp eax, 0xe3b85f5b
adc dword [ecx], eax
add cl, dl
adc dword [esi - 0x2c], ebx
ret
mov eax, 0x111e3
rcl dword [ecx]
pop esi
aam 0xc3
mov edx, dword [esi + 0xc]
test edx, edx
je 0x40b2bd
mov dl, byte [esi + 8]
pop es
sal byte [ebp + 0x11], cl
mov edx, dword [esi - 0x39]
xor dl, cl
mov ecx, dword [esi + 0x54]
pop eax
rol dword [eax], 1
mov dword [ebx + 0x544e8950], eax
push esi
invalid
mov ecx, dword [ebp - 0x6b]
mov edx, dword [ebp - 0x37]
pop ebx
ror byte [ecx - 0x3ca2a1ef], cl
nop
nop
nop
nop
nop
nop
jecxz 0x40b32d
in al, dx
push ecx
push esi
mov esi, dword [ebp + 8]
mov al, byte [esi + 0x2c]
test al, al
je 0x40b352
mov cs, word [esi + 0x48]
xor eax, eax
push ebx
adc dword [ecx + eax - 0x3baa9a9], 0xffffff89
inc ebp
or ch, ch
push eax
daa
add byte [ecx], al
add byte [ecx - 0x7c4c382], cl
je 0x1072d95
mov ebx, dword [esi + 0x38]
cmp edi, 0xffffffff
jbe 0x40b311
or eax, 0xffffffff
jmp 0x40b294
mov eax, edi
mov edx, dword [esi + 4]
call 0x31abaf68
push ecx
xor edx, dword [ebx + 0x52]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x40b358
mov eax, dword [ebp - 4]
mov ecx, dword [ecx + 0x544e8b50]
mov dword [eax - 0x75], edx
dec esi
push esp
add edx, eax
adc ecx, 0
sub esp, edx
add ebx, eax
mov dword [esi + 0x50], edx
test edi, edi
mov dword [esi + 0x1e], ecx
ja 0x40b307
mov eax, dword [ebp + 8]
pop edi
lodsd eax, dword [esi]
pop edi
cmp al, 0x3c
add byte [eax], al
pop esi
pop ebx
pop esi
mov esp, ebp
pop ebp
sbb dword [eax + eax], eax
mov edi, dword [0x3cc098]
call edi
inc edi
bound esi, qword [ebp + 5]
mov dword [ebp - 0x35], eax
jmp 0x40b373
mov eax, dword [ebp - 0x18]
mov ebp, dword [ecx + 0x544e8b50]
add edx, eax
mov bl, 0x45
or byte [ecx - 0x2e7c85aa], cl
add byte [ebp + 0x54378965], al
jne 0x40b395
invalid
mov eax, dword [ebp + 8]
dec esp
pop esi
mov esp, ebp
pop ebp
and al, byte [ebp + 0x5ec03300]
mov esp, ebp
pop ebp
ret 4