Function at 0x92868e
Capabilities:
Encode data using xor

Disassembly:
mov dx, word [esp]
dec dh
inc ch
jmp 0x928249
mov dx, word [esp]
dec dh
inc ch
lea ecx, [ebp*4]
pushfd
push dword [esp]
add al, bl
jmp 0x928269
lea ecx, [ebp*4]
pushfd
jmp 0x92822e
mov dl, al
neg ecx
jle 0x9282f5
lea ecx, [ebx + edi]
mov ecx, edx
jmp 0x9282ab
mov edx, dword [esp]
pushal
xchg dx, cx
pop dword [esp + 0x15]
jmp 0x928253
movzx eax, byte [ebp - 1]
mov dh, 0xc7
bsf ecx, esp
jo 0x92821e
jno 0x928208
mov cx, word [esp]
shl ecx, 0x15
jae 0x9282d5
jb 0x9282d5
xor al, 0xb2
and byte [edi - 0x4e], al
add dword [ebx], esi
sub al, byte [ebp - 0xc]
out 0xf, eax
leave
bswap ecx
not ecx
mov cx, word [esp]
jmp 0x9282cf
mov ecx, edx
bswap ecx
not ecx
mov cx, word [esp]
mov cx, word [esp]
jmp 0x928295
rol dl, 0
sete cl
jmp 0x9282fa
btc cx, cx
jns 0x92830b
mov ecx, dword [esp]
neg ecx
mov cx, si
jmp 0x92832a
lea ecx, [ebx + edi]
jmp 0x9282c5
mov cx, 0xff11
mov ecx, 0xccc108a1
mov ch, dh
not cl
dec dl
jmp 0x9282dd
mov ecx, dword [esp]
neg ecx
jmp 0x928340
jmp 0x928284
mov cx, 0x738f
mov ecx, 0xbf3b5f98
jmp 0x92834c
mov cx, si
mov cx, 0x738f
mov ecx, 0xbf3b5f98
lea ecx, reloc.MSVCRT.dll_strncpy
neg dl
jmp 0x92835a
mov cl, dl
lea ecx, [ecx + ebp]
inc ecx
jb 0x9283b3
mov ecx, dword [esp]
neg ecx
jmp 0x928395
jmp 0x9283d1
neg ecx
sub dl, 0x88
neg cl
jo 0x92837d
mov ch, ah
mov ecx, eax
lea ecx, [eax + edi]
mov ecx, 0xee245c04
xchg ch, cl
jmp 0x9283bf
mov ecx, dword [esp]
jmp 0x928393
mov ecx, 0xee245c04
xchg ch, cl
mov cl, bh
ror ecx, 9
jmp 0x9283da
mov ch, ah
mov ecx, eax
lea ecx, [eax + edi]
jmp 0x9283b8
jb 0x9283f0
jae 0x9283f0
invalid
xor dl, 0xaa
sete cl
neg cl
jg 0x9294e7
sbb ecx, 0xf6154493
mov cl, dl
mov ecx, 0x5aa2d1f7
jmp 0x928d15
mov dx, word [esp]
mov dh, byte [esp]
call fcn.00928488
sub byte [esi + 0x7bbe4324], dh
daa
dec esi
fnstcw word [eax]
xor ecx, 0xde873b94
jg 0x928446
mov dx, word [esp]
mov dh, byte [esp]
setp ch
jmp 0x9284e4
add edx, 0x2612a046
jmp 0x9286eb
bt ecx, ebx
xchg dl, cl
dec ebp
jmp 0x92845c
xchg dx, cx
btc edx, esp
jns 0x928508
js 0x92854f
inc ecx
ret
bsr cx, bp
jmp 0x928480
not dh
lea ecx, [ebp*4]
jmp 0x9284aa
jmp 0x92854f
mov ch, byte [esp]
inc al
mov ecx, dword [esp]
lea ecx, [eax*4]
lea ecx, [eax + ebp]
jmp 0x928539
xchg dl, dh
lea edx, reloc.MSVCRT.dll_strncpy
inc ch
ja 0x928560
mov ecx, dword [esp]
jmp 0x9285bf
rol al, 0
mov cx, word [esp]
setl ch
mov cl, al
setb dl
jmp 0x92850a
mov ecx, dword [esp]
jmp 0x928665
add edx, 0xadc5c5ff
jmp 0x9286f2
dec ecx
bts ecx, edx
jmp 0x92859e
dec ecx
bts ecx, edx
xor al, 0xa3
mov cx, word [esp]
jmp 0x9285ee
bswap ecx
setne ch
jmp 0x9285c7
lea ecx, [esi + ebp]
jmp 0x928668
bswap edx
setl ch
bswap ecx
jmp 0x9285d4
bt cx, cx
inc al
mov cx, 0x5341
rcl ecx, 0
jae 0x92862d
sub esp, 0x15
jmp 0x92860f
bts cx, cx
ja 0x9285a6
mov dl, 0xf
leave
bswap ecx
setne ch
bswap edx
setl ch
bswap ecx
jmp 0x9285d4
sub esp, 0x15
lea esp, [esp + 1]
jmp 0x928645
lea esp, [esp + 1]
jmp 0x928645
jmp 0x92862f
call 0x92868e
add eax, 0x50903d08
jmp 0x92a0fa
jmp 0x928602
bsf ecx, esi
ja 0x928617
jbe 0x928617
add eax, 0x3f54fa21
jmp 0x92a1c7
mov edx, eax
bswap ecx
lea ecx, [esi + 0xa2]
inc cx
jae 0x928615
jb 0x92862f
lds eax, [ebp - 0x2b]
mov esp, 0xf675fa4f
add edi, esi
dec edx
mov ds, word [bx + di]
js 0x9285f3
lea ecx, [esi + ebp]
or al, 0x2e
not al
neg ecx
jl 0x92859a
jge 0x928584
call fcn.009286b6
pop ecx
fisttp word [edi + 0x2a]
fst dword [ebp - 0x4f]
xor byte [esi - 0x520bcf3f], ah
mov esp, 0x6681168f
mov ecx, ebx
shl edx, 2
jp 0x928678
jnp 0x928678
lea esp, [esp + 8]
mov cx, word [esp]
lea ecx, [ebx*4]
mov cx, 0xc51f
jmp 0x928470
jge 0x9286ce
bswap ecx
jmp 0x9286d0
bswap ecx
mov edx, dword [edx - reloc.MSVCRT.dll_strncpy]
lea ecx, [eax + ebx]
jmp 0x928708
mov ch, 0x7a
bts ecx, ecx
jmp 0x9286b8
lea ecx, [ecx*4]
setg cl
mov ecx, 0xb1e69e87
jmp 0x92891f
bswap ecx
jmp 0x928568
mov cl, dl
push edx
ret
mov esp, esi
xchg ch, cl
bswap ecx
bswap ecx
jmp 0x92875f
add bl, dl
jns 0x9284be
bsr cx, bp
bt ecx, ebx
xchg dl, cl
jmp 0x928485
sbb ecx, 0xf6154493
mov cl, dl
mov ecx, 0x5aa2d1f7
call fcn.0092843d
jle 0x928fe8
lea esp, [esp + 2]
jmp 0x92900f
lea esp, [esp + 2]
jmp 0x92900f
xor al, 0x78
lea ebx, [ecx + edx]
mov bx, word [esp]
sets bl
sub esp, 2
jmp 0x92944d
dec al
sub esp, 0xb
js 0x92946d
bswap ebx
jmp 0x929457
jb 0x9294a1
mov ebx, esp
lea esp, [esp + 2]
jmp 0x9294a7
bsf bx, sp
lea esp, [esp]
add esp, 2
jmp 0x929486
bswap ebx
bsf bx, sp
lea esp, [esp]
add esp, 2
lea ebx, [esi*4]
jmp 0x9294bf
lea ebx, [esi*4]
jmp 0x9294bf
mov ebx, esp
lea esp, [esp + 2]
jmp 0x929437
bt ebx, ebp
jo 0x9294cf
rol bx, 8
jmp 0x929d48
lea esp, [esp + 1]
ror al, 0
mov bl, bh
mov bl, dh
mov bx, bp
jmp 0x9294a9
rol bx, 8
jmp 0x929d48
jmp 0x928fc0
cmp bx, 0x6a1b
setne bl
jmp 0x929514
neg bl
jle 0x9294ec
cmp bx, 0x6a1b
setne bl
jmp 0x92952a
mov ebx, esi
jmp 0x929547
mov ebx, esi
jmp 0x929547
lea ebx, [esi + edi]
neg al
jmp 0x929502
sub cl, al
mov ah, ch
dec bx
jmp 0x929cb0
sete al
dec ebp
mov ah, 0x5f
jmp 0x929700
bsr ebx, eax
jns 0x929540
lea ebx, [esi + edi]
jmp 0x929543
jmp 0x9295c2
mov eax, dword [esp]
lea ebx, [ecx + ecx]
xchg ebx, eax
btc ebx, ebx
jmp 0x92960c
ror dl, 0
jae 0x92957b
and ah, cl
sbb eax, edx
neg al
mov eax, dword [esp]
lea ebx, [ecx + ecx]
jmp 0x929583
and ah, cl
sbb eax, edx
neg al
jmp 0x92957d
sub dl, 0x94
rcl eax, 9
jae 0x9295f6
jb 0x929610
bsr ebx, eax
jmp 0x92964c
mov bx, word [esp]
btr bx, dx
jo 0x92959d
jno 0x92959d
xchg bh, ah
xchg ebx, eax
xchg ebx, eax
bsr ebx, eax
jmp 0x92964c
jno 0x9295ca
jo 0x9295ca
xchg bh, ah
xchg ebx, eax
xchg ebx, eax
jmp 0x9295d4
lea eax, [eax*4]
sete al
mov eax, dword [esp]
jmp 0x9295ea
mov ax, word [esp]
pushal
bsr bx, bx
pop word [esp + 0x16]
jmp 0x929693
sub dl, 0x3b
mov bx, 0xf31c
dec al
jb 0x929636
jae 0x9296b9
pop word [esp + 0x16]
mov ax, 0x3af
jmp 0x929697
rol bx, 0xd
mov al, ah
jmp 0x929627
mov bx, word [esp]
mov ebx, esp
xchg ebx, eax
xchg ebx, eax
mov ax, word [esp]
setle ah
jmp 0x9296da
mov ax, 0x3af
lea esp, [esp + 2]
lea esp, [esp + 0x1c]
xor dl, 0x3c
jmp 0x92967d
mov ax, word [esp]
pushal
bsr bx, bx
jmp 0x929659
mov eax, 0x97f9fdcf
jmp 0x9299d7
inc dl
dec bl
jle 0x9296c4
mov eax, 0x97f9fdcf
shr eax, 0x1d
push sp
lea esp, [esp + 2]
jmp 0x92991e
stc
js 0x929675
rol bx, 0xd
mov al, ah
lea eax, [eax*4]
sete al
mov eax, dword [esp]
jmp 0x9295ea
cmp al, 0x9d
jmp 0x92988c
cmp al, 0x9d
call fcn.0092976b
mov ebx, edx
mov al, byte [esp]
bsr eax, esi
jne 0x92988a
je 0x92985b
inc dl
mov ax, 0xd5a8
dec bx
jmp 0x92994d
jp 0x929966
bsf bx, dx
sub esp, 0x15
jmp 0x929975
bsf bx, dx
sub esp, 0x15
neg ebx
jmp 0x9299ad
neg ebx
mov ah, byte [esp + 0x10]
setge bh
jmp 0x9299b4
lea esp, [esp + 1]
ror dl, 0
xchg ah, bh
jmp 0x929bca
mov ah, byte [esp + 0x10]
setge bh
mov bx, ax
bsf ebx, edi
jmp 0x9299c0
jbe 0x929980
lea esp, [esp + 1]
jmp 0x929984
shr eax, 0x1d
push sp
lea esp, [esp + 2]
jmp 0x92991e
mov eax, 0xeb3f4986
jmp 0x929aa7
mov ah, al
mov eax, 0xeb3f4986
lea esp, [esp + 0x14]
not dl
not bl
call fcn.00929a34
mov dword [esi], eax
lea eax, [edx + edx]
mov edx, 0x2d9ff9f6
neg dx
jmp 0x929acc
jbe 0x929ae2
xchg dx, bx
jmp 0x929aeb
xchg dx, bx
jmp 0x929aeb
stc
jbe 0x929b9a
ja 0x929b2e
push esi
rol byte [eax + 0x27], cl
rcl byte [ebx], cl
aam 0x57
invalid
lea ebx, [edi + 0x50]
mov dl, byte [esp]
pushal
call fcn.00929b39
adc byte [edx + 0x2e9a6f08], bl
jnp 0x929b7e
int 0x5c
mov eax, ebx
mov edx, 0xcc1dc523
mov bh, 0x3d
jmp 0x929ba3
not edx
lea ebp, [ebp + 0x3e]
xchg dx, ax
mov dh, 0xd5
jmp 0x929ba8
mov eax, ebx
mov edx, 0xcc1dc523
mov bh, 0x3d
jmp 0x929b18
mov edx, dword [esp]
xchg dword [esp + 4], ebp
mov ax, word [esp]
lea eax, [esp - 0x51]
mov dx, word [esp]
lea eax, [edx*4]
jmp 0x929c63
not bx
dec eax
jnp 0x929aa0
mov ah, al
jmp 0x929a6d
push dword [esp + 4]
ret 8
jge 0x929553
sete al
jmp 0x929556
lea esp, [esp + 8]
inc al
setle bh
mov bx, word [esp]
mov bh, dl
jmp 0x929571
mov bx, word [esp]
lea ebx, [edx + edi]
shl ebx, cl
jmp 0x92a12e
mov ebx, 0x49b9674f
jmp 0x92a1ec
jbe 0x92a109
mov ebx, 0x49b9674f
jmp 0x92a1ec
mov bh, byte [esp]
btc bx, bx
jle 0x92a195
xchg bl, bh
call fcn.0092a16c
push cs
mov word [edx], es
xchg esp, eax
and ebx, dword [ecx - reloc.MSVCRT.dll_strncpy]
test byte [esi + 0xf], ah
mov ebx, 0xd9bc0fd3
lea ebx, [esp + edx]
mov bx, word [esp]
jmp 0x92a172
xchg dword [esp], ecx
pushfd
pop ebx
mov bx, si
xor bx, cx
lea ecx, reloc.MSVCRT.dll_strncpy
jmp 0x92a1b3
xchg bl, bh
jmp 0x928636
inc bx
mov bh, cl
push dword [esp]
ret 4
mov bl, 0xed
mov bx, word [esp]
lea ebx, [eax + ecx]
bsf ebx, ebx
xchg dword [esp], ecx
setne bl
jmp 0x92a19d
mov bx, word [esp]
lea ebx, reloc.MSVCRT.dll_strncpy
btc ebx, ebx
jmp 0x92a214
btc ebx, ebx
jmp 0x92a252
mov ebx, eax
lea ebx, reloc.MSVCRT.dll_strncpy
mov eax, dword [ebx]
mov bh, byte [esp]
jmp 0x92a13a
jg 0x92a1d6
btc ebx, ebx
jmp 0x92a252
jns 0x92a231
mov bx, word [esp]
jmp 0x92a235
mov bx, word [esp]
mov esp, edi
bsr ebx, eax
jmp 0x92a1fe
lea ebx, reloc.MSVCRT.dll_strncpy
push eax
ret
neg bh
jno 0x92a23c
lea ebx, reloc.MSVCRT.dll_strncpy
jmp 0x92a242
lea esp, [esp + 4]
jmp 0x93c917
pop edi
jmp 0x93c89a
cld
rep movsb byte es:[edi], byte [esi]
pop ecx
jmp 0x93c87e
pop esi
popfd
jmp 0x928325
mov esi, eax
mov edi, edx
mov ecx, ecx
jmp 0x93c894
pushal
mov dword [esp + 0x1c], edi
lea esp, [esp + 0x1c]
push ecx
jmp 0x93c8b5