Function at 0x10001da3
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
push edi
push 6
mov dword [ebp - 0x10], 0xa5a5
mov word [ebp - 0x30], 0xa
xor esi, esi
pop ebx
mov eax, esi
xor ecx, ecx
sub eax, ecx
je 0x1000177c
dec eax
je 0x10001771
dec eax
je 0x10001766
dec eax
je 0x1000175f
dec eax
je 0x10001759
dec eax
jne 0x1000178f
inc word [ebp - 0x3c]
jne 0x10001757
je 0x10001757
and ebp, ebx
mov word ss:[ebp - 0x2c], cx
jmp 0x1000178f
mov word [ebp - 0x2c], cx
jmp 0x1000178f
or word [ebp - 0x32], 0xffff
jmp 0x1000178f
mov word [ebp - 0x42], cx
jb 0x1000176f
jae 0x1000176f
and ch, bl
push ds
jmp 0x1000178f
mov word [ebp - 0x2a], cx
jbe 0x1000177a
ja 0x1000177a
and al, 0xeb
adc ebp, dword [edx + 3]
jmp 0x1000178f
push 3
lea ecx, [ebp - 0x48]
pop edx
xor eax, eax
mov edi, ecx
stosd dword es:[edi], eax
add ecx, 8
dec edx
stosw word es:[edi], ax
jne 0x10001782
inc esi
dec ebx
jne 0x10001737
mov ebx, dword [ebp + 8]
xor esi, esi
cmp si, 3
jae case.0x10001a1e.0
movzx ecx, si
mov eax, ecx
imul eax, ecx
imul eax, ecx
imul eax, ecx
add eax, 7
sub eax, 7
je 0x1000180b
dec eax
je 0x100017c2
sub eax, 0xf
je 0x10001817
jmp 0x10001814
movzx ecx, word [ebp - 0x2a]
mov eax, ecx
push 5
cdq
pop edi
idiv edi
xor eax, eax
push 3
cmp edx, 2
setne al
mov dword [ebp - 0x24], eax
mov eax, ecx
cdq
pop ecx
idiv ecx
mov eax, dword [ebp - 0x24]
dec edx
neg edx
sbb edx, edx
neg edx
or eax, edx
je 0x10001804
mov ax, word [ebp - 0x2c]
mov word [ebp - 0x2e], 1
mov word [ebp - 0x32], ax
jbe 0x10001802
ja 0x10001802
add al, 0xeb
adc byte [esi - 0x7d], ah
rol byte gs:[eax], cl
jmp 0x10001814
and word [ebp - 0x2e], 0
jmp 0x10001814
inc word [ebp - 0x2a]
jb 0x10001814
jae 0x10001814
add al, byte [esi - 0x15]
xor dword [ebp + 3], 0x8b030174
jne 0x1000180b
inc esi
jmp 0x10001798
jne 0x1000181c
je 0x1000181c
add ecx, dword [ebx - 0x36cc138b]
mov esi, dword [ebp - 0x14]
xor ecx, ecx
cmp cx, 8
jae 0x10001b74
movzx eax, cx
lea edx, [eax + 1]
imul edx, eax
lea eax, [edx + 1]
cmp eax, 0x15
jg 0x100018e3
je 0x100018c8
dec eax
je 0x100018ab
dec eax
dec eax
je 0x10001895
sub eax, 4
je 0x1000187b
sub eax, 6
jne 0x1000192f
cmp dword [ebp - 0x18], 0
je 0x1000192f
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x18]
and eax, 0xffff
add esi, eax
mov dword [ebp - 0x14], esi
jmp 0x1000192f
mov esi, dword [ebp - 0x20]
imul esi, dword [ebp - 0x28]
and esi, 0xffff
mov dword [ebp - 0x14], esi
jle 0x10001890
jg 0x10001890
or cl, ch
lcall 0xd845, 0xc7000000
pop edx
add dword [eax], eax
add bl, ch
add dword [eax], edx
jmp 0x1000192f
mov dword [ebp - 0x28], 0x15a
jmp 0x1000189f
mov dword [ebp - 0x1c], 0x4e35
jmp 0x1000192f
mov eax, dword [ebp - 0x10]
shr eax, 0x10
mov dword [ebp - 0x18], eax
push ecx
xor ecx, ecx
jecxz 0x100018ba
or dword [ecx - 0x75], ebx
inc ebp
invalid
pop ecx
mov eax, dword [ebp - 0x10]
and eax, 0xffff
mov dword [ebp - 0x20], eax
jmp 0x1000192f
mov eax, dword [ebp - 0x1c]
mov edx, esi
imul eax, dword [ebp - 0x20]
and edx, 0xffff
shl edx, 0x10
lea eax, [edx + eax + 1]
mov dword [ebp - 4], eax
jmp 0x1000192f
cmp eax, 0x1f
je 0x1000191b
cmp eax, 0x2b
je 0x1000190a
cmp eax, 0x39
jne 0x1000192f
movzx eax, word [ebp - 0x2e]
push 2
cdq
pop edi
idiv edi
sub edx, 0
je 0x10001935
dec edx
je 0x10001a31
jmp 0x1000192f
and dword [ebp - 4], 0x7fff
jo 0x10001916
jno 0x10001916
adc dword [ebx + 0x14ebfc5d], ecx
mov ebx, dword [ebp - 4]
jmp 0x1000192f
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
jp 0x10001926
jnp 0x10001926
push es
shr dword [ebp - 4], 0x10
jl 0x1000192f
jge 0x1000192f
pop es
inc ecx
jmp 0x10001821
movzx ecx, bx
mov eax, ecx
push 0xb
cdq
pop esi
idiv esi
mov eax, ecx
push 7
pop ecx
push 2
pop edi
mov esi, edx
sub esi, 5
neg esi
cdq
sbb esi, esi
idiv ecx
inc esi
sub edx, edi
neg edx
sbb edx, edx
inc edx
or esi, edx
je 0x10001973
mov ax, word [ebp - 0x2c]
mov word [ebp - 0x2e], 1
mov word [ebp - 0x32], ax
jmp 0x1000181c
movzx eax, word [ebp - 0x42]
mov esi, dword [ebp + 8]
cmp eax, 9
ja case.0x10001bb8.30
jmp dword [eax*4 + 0x10001cbb]
jo 0x1000198f
jno 0x1000198f
and dword [ecx + 0x274883d], eax
adc byte [edi - 0x53], al
push edx
in al, 0xf
test dword [edx - 0x7efffffe], edi
cmp eax, 0x1002748c
inc ecx
int1
dec esi
jle 0x100019b9
cmp dword [0x10027488], 0xe452ad47
jne 0x10001c59
cmp dword [0x1002748c], 0x7e4ef141
jne 0x10001c59
test dword [edx - 0x14fffffe], ebp
sbb dword [ecx + 3], edi
jns 0x100019b6
jmp case.0x10001983.9
jns 0x100019b6
js 0x100019b6
and eax, 0x74983d83
add dl, byte [eax]
add dword [ebp + 0xb], esi
cmp dword [0x10027498], 1
je 0x100019bd
adc byte [ecx], al
jne case.0x10001983.9
call 0x10001da3
mov dword [0x10027498], edi
xor edi, edi
cmp di, 4
jae case.0x10001983.5
movzx ecx, di
lea eax, [ecx + 3]
imul eax, ecx
inc eax
dec eax
je 0x10001a25
sub eax, 4
je 0x10001a05
sub eax, 6
je 0x100019f8
sub eax, 8
je 0x1000181c
jmp case.default.0x10001a1e
mov word [ebp - 0x2e], 1
jbe 0x10001a03
ja 0x10001a03
xor al, 0xeb
sub dword [esi - 0x75], esp
inc ebp
mov esi, 0xd0453b66
jmp case.default.0x10001a1e
mov ax, word [ebp - 0x42]
cmp ax, word [ebp - 0x30]
jne case.default.0x10001a1e
movzx eax, word [ebp - 0x2a]
push 9
cdq
pop ecx
idiv ecx
cmp edx, 8
ja case.default.0x10001a1e
jmp dword [edx*4 + 0x10001ce3]
inc word [ebp - 0x42]
jb case.default.0x10001a1e
jae case.default.0x10001a1e
xor al, byte [edi - 0x15]
wait
inc edi
jmp 0x100019cc
xor esi, esi
movzx ecx, si
mov eax, ecx
imul eax, ecx
imul eax, ecx
inc eax
dec eax
je 0x10001b34
dec eax
je 0x10001b21
sub eax, 7
je case.default.0x10001a7c
sub eax, 0x13
je 0x10001ac0
sub eax, 0x25
je 0x10001a9a
sub eax, 0x3d
je 0x10001a83
sub eax, 0x5b
jne 0x10001b50
movzx eax, bx
push 9
cdq
pop ecx
idiv ecx
cmp edx, 8
ja case.default.0x10001a7c
jmp dword [edx*4 + 0x10001d07]
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
lea eax, [eax + ebx*2]
add ebx, eax
jmp 0x10001a91
mov word [ebp - 0x2c], bx
jmp 0x10001b50
movzx eax, word [ebp - 0xc]
movzx ecx, word [ebp - 8]
lea eax, [ecx + eax*4]
inc word [ebp + eax*2 - 0x48]
lea eax, [ebp + eax*2 - 0x48]
jne 0x10001ab3
je 0x10001ab3
adc esp, dword [esi - 0x75]
inc ebp
aam 0x66
mov dword [ebp - 0x32], eax
mov ax, word [ebp - 0x2c]
mov word [ebp - 0x32], ax
jmp 0x10001b50
movzx eax, word [ebp - 0xc]
xor edx, edx
shl eax, 2
lea ecx, [ebp + eax*2 - 0x48]
jns 0x10001ad2
js 0x10001ad2
adc eax, 0xf87db70f
movzx edi, word [ebp - 8]
add edi, eax
mov di, word [ebp + edi*2 - 0x48]
cmp di, word [ecx]
jbe 0x10001ae5
mov dword [ebp - 8], edx
inc edx
inc ecx
inc ecx
cmp dx, 3
jb 0x10001acd
jmp 0x10001b50
movzx eax, word [ebp - 8]
xor edx, edx
lea ecx, [ebp + eax*2 - 0x48]
push ecx
xor ecx, ecx
jecxz 0x10001b00
sbb dword [ecx + 0xf], ebx
mov bh, 0x7d
hlt
pop ecx
movzx edi, word [ebp - 0xc]
lea edi, [eax + edi*4]
mov di, word [ebp + edi*2 - 0x48]
cmp di, word [ecx]
jbe 0x10001b15
mov dword [ebp - 0xc], edx
inc edx
add ecx, 8
cmp dx, 3
jb 0x10001afa
jmp 0x10001b50
movzx eax, bx
push 3
cdq
pop ecx
idiv ecx
mov dword [ebp - 8], edx
jbe 0x10001b32
ja 0x10001b32
adc al, 0xeb
sbb al, 0xf
mov bh, 0xc3
jmp 0x10001b50
movzx eax, bx
push 9
cdq
pop ecx
idiv ecx
push 3
pop ecx
mov ebx, edx
movzx eax, bx
cdq
idiv ecx
mov dword [ebp - 0xc], eax
jp 0x10001b50
jnp 0x10001b50
push ss
inc esi
cmp si, 7
jb 0x10001a33
jmp case.0x10001a7c.1
jl 0x10001b65
jge 0x10001b65
pop ss
jmp case.0x10001a7c.1
jle 0x10001b6f
jg 0x10001b6f
sbb byte [edx + 3], bh
jp 0x10001b74
jnp 0x10001b74
jb 0x10001b79
jb 0x10001b79
jae 0x10001b79
adc ch, cl
sbb ah, bh
invalid
jmp case.0x10001a7c.1
jle case.0x10001bb8.8
jg case.0x10001bb8.8
sub byte [esi - 0x18], dl
inc edi
aas
add byte [eax], al
push esi
call 0x10005ad0
jmp 0x10001bc5
jmp case.0x10001bb8.13
push esi
call 0x10006280
jmp 0x10001bc5
jp 0x10001b9b
jnp 0x10001b9b
jo case.0x10001bb8.19
jo case.0x10001bb8.19
jno case.0x10001bb8.19
xor dword [esi - 0x18], edx
adc ecx, dword [esi]
add bl, ch
sbb eax, 0x8b0001eb
jmp 0x10001bab
invalid
mov eax, dword [esi + 4]
dec eax
push esi
call 0x100069b9
jmp 0x10001bc5
jmp 0x10001bab
mov eax, dword [esi + 4]
dec eax
cmp eax, 0x1d
ja case.0x10001bb8.4
jmp dword [eax*4 + 0x10001d2b]
push esi
call fcn.10001e4f
pop ecx
jmp 0x10001c86
push esi
call fcn.10005644
jmp 0x10001bc5
push esi
call fcn.100056fe
jmp 0x10001bc5
push esi
call fcn.100065f1
jmp 0x10001bc5
push esi
call fcn.10006751
jmp 0x10001bc5
push esi
call fcn.100068ad
jmp 0x10001bc5
push esi
call fcn.100055a8
jmp 0x10001bc5
push esi
call fcn.10005923
jmp 0x10001bc5
push esi
call fcn.10005c26
jmp 0x10001bc5
push esi
call fcn.10005d1d
jmp 0x10001bc5
push esi
call fcn.10005df1
jmp 0x10001bc5
push esi
call fcn.1000635c
jmp 0x10001bc5
push esi
call fcn.10006ad3
jmp 0x10001bc5
push esi
call fcn.10006ba9
jmp 0x10001bc5
push esi
call fcn.10006c91
jmp 0x10001bc5
push esi
call fcn.10006d3e
jmp 0x10001bc5
push esi
call fcn.1000602f
jmp 0x10001bc5
push esi
call fcn.10006169
jmp 0x10001bc5
mov eax, 0xa8160019
jmp 0x10001c86
jl case.0x10001bb8.30
jge case.0x10001bb8.30
daa
push esi
call fcn.1000585b
jmp 0x10001bc5
jo 0x10001c75
jno 0x10001c75
add ebx, ebp
add eax, 0x1740375
jne case.0x10001a1e.0
je case.0x10001a1e.0
jmp case.0x10001a1e.0
jne case.0x10001a1e.0
je case.0x10001a1e.0
xor edi, dword [esi + 3]
jle case.0x10001bb8.4
jg case.0x10001bb8.4
cmp byte [eax - 0x57e9ffed], bh
mov eax, 0xa8160013
pop edi
pop esi
pop ebx
leave
ret
jl 0x10001c90
jge 0x10001c90
aaa
jmp case.0x10001a1e.0
push ecx
xor ecx, ecx
jecxz 0x10001c98
sub dword [ecx - 0x15], ebx
loope 0x10001d15
invalid
pop ecx
jmp case.0x10001a1e.0
jns case.0x10001bb8.10
add edi, dword [eax + 1]
js case.0x10001bb8.10
xor eax, 0x424fe856
add byte [eax], al
push esi
call 0x10005ef5
jmp 0x10001bc5
jns case.0x10001bb8.15
js case.0x10001bb8.15
add eax, 0x47d6e856
add byte [eax], al
push esi
call 0x1000648c
jmp 0x10001bc5
add byte [eax], dl
xchg esi, eax
pop ss
add byte [eax], dl
push 0x1b
add byte [eax], dl
xchg esi, eax
pop ss
add byte [eax], dl
xchg esi, eax
pop ss
add byte [eax], dl
xchg esi, eax
pop ss
add byte [eax], dl
mov edi, 0xcb10001b
sbb eax, dword [eax]
adc bl, dl
sbb eax, dword [eax]
adc byte [ecx - 0xcefffe4], al
sbb eax, dword [eax]
adc bl, bh
sbb eax, dword [eax]
adc byte [ebx], al
sbb al, 0
adc byte [ebx + 0xb10001b], al
sbb al, 0
adc byte [eax + 0x4310001c], ah
sbb al, 0
adc byte [esi + 0x1c], cl
add byte [eax], dl
mov ds, word [ebx]
add byte [eax], dl
sbb ebx, dword [eax + eax]
adc byte [eax - 619708388], dh
sbb eax, dword [eax]
adc bl, ah
sbb eax, dword [eax]
adc bl, ch
sbb eax, dword [eax]
adc byte [eax + 0x2310001b], ah
sbb al, 0
adc byte [ebx], ch
sbb al, 0
adc byte [ebx], dh
sbb al, 0
adc byte [ebx], bh
sbb al, 0
adc byte [ebx], dl
sbb al, 0
adc byte [ecx - 0x7eefffe4], al
sbb al, 0
adc byte [ecx - 0x7eefffe4], al
sbb al, 0
adc byte [ecx + 0x6510001c], al
sbb al, 0
adc byte [ebp - 0x75], dl
in al, dx
sub esp, 0x130
push esi
push edi
push 0x12c
lea eax, [ebp - 0x130]
push 0x1002752c
push eax
call fcn.10001e2c
mov eax, dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov edi, dword [sym.imp.KERNEL32.DLL_GetProcAddress]
add esp, 0xc
mov esi, 0xe73d110a
xor eax, esi
xor edi, esi
push 0x4b
lea ecx, [ebp - 0x130]
pop edx
xor dword [ecx], esi
add ecx, 4
dec edx
jne 0x10001de4
lea ecx, [ebp - 0x130]
xor eax, esi
push ecx
call eax
test eax, eax
mov dword [ebp - 4], eax
je 0x10001e28
xor edi, esi
push ebx
mov ebx, edi
mov esi, 0x100274f4
lea edi, [ebp - 0x11c]
push edi
push dword [ebp - 4]
call ebx
mov dword [esi], eax
add esi, 4
add edi, 0x14
cmp esi, 0x1002752c
jl 0x10001e0e
push 1
pop eax
pop ebx
pop edi
pop esi
leave
ret