Function at 0x103d5bae
Capabilities:
Encode data using xor

Disassembly:
movsx eax, word [esp + ecx - 0x58e8835e]
lea esi, [esi + ecx - 0x58e88363]
rol ecx, 0x7b
mov edx, dword [esi]
xor edx, ebx
shl cl, 0x43
inc eax
sar word [esp + 1], 0x61
dec edx
neg edx
neg al
inc byte [esp + 3]
xadd word [esp + 3], cx
inc edx
xor edx, 0xe9029321
lea ecx, [ecx + ecx*8 - 0x46490943]
neg eax
lea edx, [edx + ecx*2 - 0x40bd7277]
xor ebx, edx
jmp 0x1028e4e0
xor bl, cl
lea edx, [edx + edx*8 - 0x6dbbfd4]
add ecx, esp
or dx, 0xd708
call fcn.102db8d5
neg eax
shl eax, 0x99
sbb ecx, 0xb387d62f
or dx, 0xb22e
ror eax, 0xf
not ecx
neg eax
xor edx, edx
bswap edx
dec ecx
xor ax, 0x60ab
not edx
rol ecx, 2
add dl, al
sub dx, ax
inc eax
xor ecx, 0x251abe8e
xor eax, edx
call fcn.102d56cf
or cl, 0x27
xor edx, ebx
inc edx
xadd ecx, eax
sal ecx, cl
dec ecx
not edx
sbb cl, 0x30
or cx, 0x2a89
jae 0x10339266
mov eax, 0xa69bd83c
lea edx, [eax + eax + 0x535bc81]
mov dx, word [edi + edx - 0x526d6cf9]
jmp 0x10318710
sar dl, 0xe3
xor cl, bl
sar dl, 0x81
and edx, edx
sbb cl, 0x89
ror cl, 1
inc edx
xor cl, 0x3f
or dx, 0x400
xor dl, 0x90
sbb cl, 0xa5
neg cl
and dl, 0x2c
shl edx, 0x90
jbe 0x10237ad4
not ecx
rol ecx, 1
sar edx, 0xc3
xor ecx, 0x819a50ac
rol edx, 0xc3
or al, ah
lea ecx, [ecx + eax*4 + 0x5691fcbb]
sal dword [esp + edx - 0x5a3c8c18], 0xfb
rol dword [esp + edx - 0x5a3c8c18], 0x30
xchg dword [esp + edx - 0x5a3c8c18], edx
xor ebx, ecx
call fcn.102ffb65
sub cl, dl
shr dl, 0xe1
xor cl, 0x83
not cl
sal dx, 0xab
lea edx, [edx*4 + 0x4c01093f]
ror cl, 1
inc edx
jno 0x101d7859
not edx
call fcn.102afb28
not ax
rol edx, 4
xor bx, ax
add ecx, dword [esp]
sal cl, 0x27
mov word [edi], ax
rol dl, 0xe7
lea eax, [ecx*4 - 0x1bc80dfa]
shr ax, 0x6e
mov ecx, dword [eax + esi - 0x43b0009]
shr edx, 0x33
dec word [esp + edx*2 - 0x3c64]
rol dl, 0x22
lea esi, [esi + edx*2 - 0x3d96]
xor ecx, ebx
sal ax, 0xae
lea edx, [eax + eax*8 + 0x3422cc1d]
dec ecx
sub byte [esp + eax*4 - 0x10ef0000], dl
jne 0x10203664
neg eax
add edi, edx
push eax
pop eax
pop eax
pop ecx
jmp fcn.1025c2e8
pop edx
shl dx, 0x6a
xor ax, word [ebp + ecx*2 - 0x1733db72]
lea ebp, [ebp + ecx - 0xb99edb7]
rol ecx, cl
add ecx, 0xd99cb83a
lea esi, [esi + ecx - 0x4bb3ec16]
movzx ecx, byte [ecx + esi - 0x4bb3ec15]
neg dl
jns 0x101de688
not edx
lea ebp, [ebp + eax - 0x2851a4d9]
xchg ecx, ebp
mov edi, ecx
push eax
sub ax, word [esp + edx - 0x225baed5]
pop eax
jae fcn.10375a93
and ch, byte [esi + 0xe0e3e50]
pop edx
mov dl, al
call [esi + 0x43]
arpl si, bx
lahf
and ebx, dword [eax]
mov ebx, 0x2f6aaef5
mov es, ecx
in eax, dx
mov dh, 0x25
jle 0x102f4ba8
and eax, 0x5a5e7e3e
pop edx
sal dword [esi + 0x562a3e25], 0x76
jbe 0x102f4b46
test dword [0x62a482a3], 0xd7b8394a
cmc
xor esi, ecx
int3
ret
mov cx, word [edi + 2]
xor eax, 0x1e9dc7b8
not dx
or ax, ax
not cx
sbb eax, eax
and dx, cx
sub eax, eax
mov word [edi + eax*8 + 2], dx
add ax, word [esi + eax*4 - 2]
push 0xbf196419
xor ax, bx
xor eax, ebx
mov edx, 0xc811d0b7
neg ax
xchg dword [esp], edx
xor ax, 0x1e9d
neg dl
mov ecx, edx
shl dword [esp], cl
sbb ax, 0x788f
shr byte [esp + 1], 0x87
xor ax, 0x8aa4
and cx, 0x2a8
jge 0x10248e05
cmpsd dword [esi], dword es:[edi]
dec edi
jecxz 0x10318739
fcomp dword [eax - 0x2c]
invalid
xor edx, 0xfe27ddbb
shr eax, 0x79
rol edx, 3
lea eax, [ecx + eax*8 - 0x5aef8858]
lea eax, [ecx + eax + 0x65bc6129]
dec edx
xor ebx, edx
sar ax, 0xc7
add esi, edx
shl ecx, 0x75
not cx
add cl, 0x35
jne fcn.102de7c4
xchg byte [esp + ecx - 0x58e86f5e], ch
lea ebp, [ebp + ecx - 0x58e88361]
or ecx, ecx
shr byte [esp + ecx - 0x58e8835c], 0x61
mov dword [esp + ecx - 0x58e8835b], ecx
mov word [ebp + ecx - 0x58e8835f], ax
je 0x10189c86
mov ecx, dword [ebp + ecx*8 - 0x164]
push edx
or eax, ecx
movsx ecx, dl
not eax
shl dx, cl
jnp 0x102f4b0c
shl ecx, 0xd7
mov dword [ebp + ecx - 0x30fffffc], eax
cmovb edx, ecx
jp 0x1025b56b
dec byte [esp + ecx*2 - 0x1733db6f]
ror edx, 2
shl dword [esp + ecx*4 - 0x2e67b6e0], cl
not edx
xor ebx, edx
pop eax
xchg dword [esp + ecx*2 - 0x1733db72], eax
add edi, edx
jmp 0x102aeeec
pop edx
pop eax
pop ecx
pop eax
jnp fcn.10360cf3
mov ecx, 0xa9af10b4
movsx edx, cl
mov edx, dword [ebp]
shl ecx, cl
mov eax, dword ss:[edx + ecx*4 - 0x2d000000]
lea edx, [ecx*8 + 0x4996819d]
or cx, cx
mov dword [ebp + ecx*2 - 0x16800000], eax
not edx
lea eax, [ecx + ecx + 0x5c04ba82]
shr ecx, 0x16
mov eax, dword [edx + ebp - 0x5c697e62]
ja 0x1038503e