Function at 0x42da42
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
mov dword [ebp - 4], esi
test esi, esi
jne 0x42da6e
call fcn.0042dd84
neg eax
sbb eax, eax
inc eax
jmp 0x42db2a
call fcn.0042617f
test al, al
je 0x42da96
or edi, ebx
clc
cmp byte [ecx], 0xa2
call 0x6b124fa6
mov byte [esi - 0x2b0723db], bl
jmp 0x4d7cd871
push 0x5ae008
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x28]
push ecx
call eax
call fcn.00426431
test al, al
test byte [ecx - 0x3f7b0001], cl
je 0x42dac8
scasd eax, dword es:[edi]
xor al, 0xef
popfd
mov word [ebx - 0x5d04210d], ds
and eax, 0xe266feac
enter 0xffffffffffff92b5, 0xd
jb 0x42daa9
pop ss
int 0xe8
test dword [esi - 0x3f7b0001], 0x76041874
call fcn.004261c4
test al, al
je 0x42dae9
add al, 0x76
enter 0xa87, 0xffffffffffffffc5
sahf
xchg edi, eax
jne 0x42db4c
in eax, dx
cwde
scasb al, byte es:[edi]
aad 0x93
dec edi
or edx, esp
xchg byte [ecx + 6], bh
push ecx
pop ebx
xor eax, ebp
pushal
xchg edi, edi
inc dword [eax + eax*8 + 0x2171874]
mov bh, 0xc
push ecx
imul ecx, dword [edx + 0x7653dabe], 0x54
call fcn.0042624e
test al, al
je 0x42db0a
pop ss
add dh, byte [edi - 0x7594aef4]
mov esi, 0x547653da
jae 0x42daf0
push cs
and eax, edx
xchg esi, eax
in eax, 0xa2
mov esi, ebx
popfd
mov al, 0x66
cmp dword [ebp - 0x28], 9
cmp word [ebp - 0x28], 9
je 0x42db1c
cmp word [ebp - 0x28], 6
je 0x42db1c
xor esi, esi
jmp 0x42db1f
xor esi, esi
inc esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x120]
push esi
push 0
push eax
call fcn.00447ad0
add esp, 0xc
mov dword [ebp - 0x120], esi
call fcn.00426431
test al, al
je 0x42db84
lodsd eax, dword [esi]
lodsd eax, dword [esi]
mov cl, 0x18
popfd
mov word [ecx - 0x35], ds
jo 0x42dbd4
push ebx
int 0xa8
mov dword [0x9c4cbd21], eax
out dx, eax
retf
call fcn.004261c4
test al, al
je 0x42dba5
inc ebx
fild word [edi - 0x22]
loop 0x42dbc1
jbe 0x42dbf6
mov byte [ecx - 0x3c1e6ce8], dl
insb byte es:[edi], dx
mov byte [0x13896346], al
invalid
call fcn.0042624e
test al, al
je 0x42dbc6
invalid
sub al, byte [ecx - 0x19]
inc esi
mov cl, byte [ebp - 0x11f7b]
call dword [eax - 1]
adc eax, sym.imp.KERNEL32.dll_GetVersionExW
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x11c], 6
mov ebp, 0xfffffee4
push es
jne 0x42dbf6
xor eax, eax
inc eax
cmp dword [ebp - 0x118], 0
je 0x42dbf0
cmp dword [ebp - 0x118], eax
jne 0x42dbf6
cmp byte [ebp - 6], 1
je 0x42dc55
call fcn.004264bb
test al, al
je 0x42dc1a
fdiv dword [eax]
invalid
call fcn.0042631d
test al, al
je 0x42dc38
rcr dword [ebp - 0x3d], 0x1c
movsb byte es:[edi], byte [esi]
jnp 0x42dc30
fld qword [ecx + ebp*2]
mov edx, 0x3f07017e
pop es
aas
ffreep st(2)
sar dword [esi + 0x39e80c21], cl
mov bh, bh
inc dword [eax + eax*8 - 0x75efed8c]
call 0xb08dc8bb
cmpsd dword cs:[esi], dword es:[edi]
call fcn.00426476
test al, al
je 0x42dc53
adc byte [edx + 0x4aec73e8], cl
mov al, 0x2e
cmpsd dword [esi], dword es:[edi]
mov esp, 0xfa5de476
cwde
jecxz 0x42dcbf
sub esi, dword [ebx]
ror byte [ebx + 0x5e5ffc4d], 0x33
int 0x5b
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043c551
mov esp, ebp
pop ebp
ret
dec esi
and al, 0xd2
mov esp, 0xbf8970a6
sub al, 0x30
adc al, byte [edi]
cmpsb byte [esi], byte es:[edi]
mov edi, 0xd801841b
and al, 8
and dl, byte [esi - 0x67]
pop edi
imul ecx, dword [ecx], 0x15e8dcb6
test bh, bh
inc dword [eax + eax*8 + 0x48851674]
lcall 0xa5fc, 0x871167c8
in eax, 0xe0
int3