Function at 0x10001780
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x24
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x101b7038]
sub eax, dword [0x101b703c]
and eax, 0x17b7aac
and eax, 0xac7c0110
xor eax, 0x3dd183ac
and eax, 0x8b55fff7
mov ecx, 0x7657499a
xor edx, edx
div ecx
mov ecx, 0xae80115
xor edx, edx
div ecx
mov ecx, 0x149acc93
xor edx, edx
div ecx
or eax, 0x5b219c81
or eax, 0x5e5988b
add eax, 0xba6ad4
imul eax, eax, 0xb374afbc
or eax, 0xbfd4f813
and eax, 0x7e995540
or eax, 0xde3deb22
sub eax, 0x473a0aed
sub eax, 0x2802fb8c
sub eax, 0xbb88bf82
mov ecx, 0xe6b12e94
xor edx, edx
div ecx
xor eax, 0xa5fc803e
xor eax, 0xc90169d3
xor eax, 0x94d582a5
imul eax, eax, 0x6c497b29
sub eax, 0x3fdb83b6
imul eax, eax, 0x7d77eca4
imul eax, eax, 0x4162a081
add eax, 0x3a4631ef
sub eax, 0x6d13d12e
add eax, 0x306dbbca
and eax, 0x4aa5384
add eax, 0xaf01a203
add eax, 0xbfab3fce
imul eax, eax, 0xd9ea0603
xor eax, 0xbff0590c
and eax, 0x6d9f1d1f
xor eax, 0xb79a93a2
sub eax, 0x20b6e3db
mov ecx, 0xbdf26b4b
xor edx, edx
div ecx
mov ecx, 0x21101ff0
xor edx, edx
div ecx
cmp eax, 0x279264d2
ja 0x1000203f
mov eax, dword [0x101b7040]
sub eax, dword [0x101b7044]
xor eax, 0xf0aeefd8
sub eax, 0x821e8111
xor eax, 0x8124b6ee
and eax, 0x788861bc
mov ecx, 0x63567d1b
xor edx, edx
div ecx
sub eax, 0xd5c4c137
imul eax, eax, 0x98f23d34
sub eax, 0xa12db7e7
or eax, 0xff878ab2
and eax, 0x3f473ebf
and eax, 0x7365b7c2
sub eax, 0x7aa05cd0
sub eax, 0xa503c161
xor eax, 0xef5845
sub eax, 0x3caf5057
and eax, 0x1fd63917
or eax, 0xea53e011
imul eax, eax, 0x63e5eef2
imul eax, eax, 0xf274f7dd
mov ecx, 0x99f03748
xor edx, edx
div ecx
mov ecx, 0xc8007561
xor edx, edx
div ecx
and eax, 0x108fb268
or eax, 0x913d0112
imul eax, eax, 0x6669952c
or eax, 0x5b277226
sub eax, 0xc3ab80ba
and eax, 0x17be9862
and eax, 0x751a6f99
or eax, 0x649a2b53
mov ecx, 0x19a1f13f
xor edx, edx
div ecx
mov ecx, 0x2d775960
xor edx, edx
div ecx
mov ecx, 0x2c9e90c2
xor edx, edx
div ecx
add eax, 0xbd5e8135
add eax, 0x49b60881
or eax, 0x7f9ea0a8
and eax, 0x6c62f0eb
and eax, 0x84f3d70
and eax, 0x9c8e0c3b
cmp eax, 0x385ed7de
je 0x10001885
mov eax, dword [0x101b7048]
sub eax, dword [0x101b704c]
mov ecx, 0x9e33be26
xor edx, edx
div ecx
and eax, 0xca97706b
or eax, 0xba9e445
and eax, 0x316f91ec
xor eax, 0x9d3553e4
xor eax, 0x7c0e4127
mov ecx, 0x57e53182
xor edx, edx
div ecx
and eax, 0x28976965
xor eax, 0xd4ebdac8
mov ecx, 0x1e70fd7f
xor edx, edx
div ecx
add eax, 0x416ff6cc
sub eax, 0x6abd709e
and eax, 0x3ccbf1f4
sub eax, 0xd3ee34a0
sub eax, 0xe3358d7e
mov ecx, 0xffa09819
xor edx, edx
div ecx
or eax, 0x482d84cc
and eax, 0xfc30d281
add eax, 0xa0bd7904
or eax, 0x5f8241e3
xor eax, 0x1c8459b2
xor eax, 0x81523d2
or eax, 0xdab1ae25
xor eax, 0x3a28e82f
xor eax, 0xd5dccba7
or eax, 0x7c33e95b
mov ecx, 0xd909b3e6
xor edx, edx
div ecx
mov ecx, 0x4028fd26
xor edx, edx
div ecx
and eax, 0xc1904a2c
mov ecx, 0x32e03cc8
xor edx, edx
div ecx
or eax, 0x60d812e4
mov ecx, 0xb6f0817a
xor edx, edx
div ecx
sub eax, 0x5630a24c
mov ecx, 0x16177d2
xor edx, edx
div ecx
sub eax, 0xa13b891c
xor eax, 0xcdc420a8
or eax, 0xbad97050
imul eax, eax, 0x217056a0
cmp eax, 0x55212b61
je 0x10001e5e
mov eax, dword [0x101b7050]
add eax, dword [0x101b7054]
and eax, 0x85384b6c
sub eax, 0xd4640329
imul eax, eax, 0x1d4643ad
and eax, 0xb191766d
imul eax, eax, 0x322b64c7
or eax, 0x4a472467
add eax, 0xa288d878
xor eax, 0x905477b9
sub eax, 0xfa4f6bfe
or eax, 0x6608baa6
and eax, 0xf917d393
imul eax, eax, 0x2737a7bb
add eax, 0x660be68d
imul eax, eax, 0xf953ff29
imul eax, eax, 0xdf603ac4
add eax, 0xebcf2489
xor eax, 0x6093ab0
and eax, 0x6b40c689
xor eax, 0x71abc1bd
add eax, 0xad1c3713
or eax, 0xb493f3d6
or eax, 0xde5096f5
mov ecx, 0x96e75c19
xor edx, edx
div ecx
or eax, 0x65aab83f
xor eax, 0x8d7dd256
and eax, 0x4984863d
xor eax, 0xa6dd901f
mov ecx, 0xa9109511
xor edx, edx
div ecx
mov ecx, 0x4ce77df9
xor edx, edx
div ecx
or eax, 0x4d44b156
sub eax, 0xb0037dc7
sub eax, 0xcb9cac01
xor eax, 0xe4ba8a97
imul eax, eax, 0x30755abb
xor eax, 0x9d3cf5d7
xor eax, 0xc3d4d126
add eax, 0xd5d3a99c
add eax, 0x6a187b95
cmp eax, 0x6b81e287
jbe 0x100020e0
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
mov eax, 0x3f410cb0
mov dword [ebp - 0x18], eax
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov edi, esp
mov dword [ebp - 0x1c], edi
mov dword [edx], esi
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0x64
call fcn.10181da8
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x14], ecx
cmp eax, 0x2f7a68f9
je 0x100020e0
mov eax, dword [0x101b7060]
xor edx, edx
div dword [0x101b7064]
add eax, 0xe1793ace
add eax, 0x7ff52068
imul eax, eax, 0x607a1ff3
imul eax, eax, 0xd0874d5c
imul eax, eax, 0x9ef33687
imul eax, eax, 0xe7b62db5
or eax, 0xb6681dc
mov ecx, 0x456f9631
xor edx, edx
div ecx
add eax, 0x1daa202d
xor eax, 0xa1750c7f
add eax, 0xffef51c4
add eax, 0xcfee6ff7
add eax, 0x74042fc8
and eax, 0x47d4d129
or eax, 0x3d25bcc4
xor eax, 0x3815a434
imul eax, eax, 0xe93c7662
sub eax, 0xe68a5289
xor eax, 0xd4cc6fc7
add eax, 0xb68c5fc
imul eax, eax, 0x5c9f50a4
imul eax, eax, 0x793ca359
imul eax, eax, 0x1853f5ab
sub eax, 0x904a4710
add eax, 0x6cd7b9da
imul eax, eax, 0x228787a4
imul eax, eax, 0xf1484a6d
mov ecx, 0x984d75c2
xor edx, edx
div ecx
or eax, 0x9865d465
or eax, 0x55ffdb6a
or eax, 0xa358b899
imul eax, eax, 0xf5b75153
and eax, 0xa9ed835b
add eax, 0x4481b45e
imul eax, eax, 0xa255c6f2
and eax, 0xf5339025
sub eax, 0xd7a55a63
and eax, 0xe8ff026a
cmp eax, 0x39a5ce1d
je 0x10001e5e
mov eax, dword [0x101b7068]
and eax, dword [0x101b706c]
xor eax, 0x252448df
imul eax, eax, 0x18d5a889
add eax, 0x943dc7c8
and eax, 0x698cb3d
and eax, 0xcf905ed9
or eax, 0x7d03f455
add eax, 0x8f3ffad3
or eax, 0x738f9df3
imul eax, eax, 0x9ac836f3
imul eax, eax, 0xf48465bc
imul eax, eax, 0xad61961c
xor eax, 0x939eaf5d
or eax, 0x4ed4dcab
mov ecx, 0x4de31ba9
xor edx, edx
div ecx
or eax, 0x29582c5e
add eax, 0x47ba7fad
sub eax, 0x48b3c703
add eax, 0x98513050
mov ecx, 0x331c2e9d
xor edx, edx
div ecx
add eax, 0x4bc3a9ce
add eax, 0x8261c69f
or eax, 0x9acd9385
or eax, 0x8620f224
and eax, 0xe5b9b0ec
imul eax, eax, 0xe0ea35cc
and eax, 0x480d65c
sub eax, 0x1ec6ad07
or eax, 0x46bfb576
mov ecx, 0xa14e093b
xor edx, edx
div ecx
imul eax, eax, 0xb3663d76
sub eax, 0xec31e41c
or eax, 0xfadf132d
sub eax, 0xef21870f
sub eax, 0xcaa994b9
imul eax, eax, 0x5f466cfb
imul eax, eax, 0x973eb9a3
or eax, 0x6f494611
mov ecx, 0x26a3ebed
xor edx, edx
div ecx
cmp eax, 0x7ad5bc22
jae 0x100021c0
mov eax, dword [0x101b7070]
add eax, dword [0x101b7074]
and eax, 0xcf3c2b0c
imul eax, eax, 0xb5c450a2
xor eax, 0xd12e35c7
and eax, 0x414d5cec
sub eax, 0x73994825
mov ecx, 0xe13fe69f
xor edx, edx
div ecx
or eax, 0xb4dc404a
imul eax, eax, 0x2c69386d
and eax, 0x7d683e79
imul eax, eax, 0xfe7296b6
add eax, 0x8aa50535
and eax, 0x8ca4558e
or eax, 0x6b8a119
add eax, 0x6129693a
imul eax, eax, 0x9b50b696
add eax, 0xa9a11c1d
sub eax, 0x2994a240
add eax, 0x7aca209d
sub eax, 0x254456c8
imul eax, eax, 0xb2872a09
or eax, 0xa7fe9b17
imul eax, eax, 0x3fe001a1
and eax, 0xbe25b70a
or eax, 0x77b52a77
add eax, 0x90f430a3
sub eax, 0x1d07530a
add eax, 0x4136d9f
and eax, 0xa3318fe9
xor eax, 0x29d813f4
imul eax, eax, 0x6dabeb5f
and eax, 0xd279917f
imul eax, eax, 0x1aa6fe69
xor eax, 0xbdc63aef
and eax, 0x535cc099
xor eax, 0x36b0f456
xor eax, 0x99aa8be9
xor eax, 0xedd37f77
sub eax, 0xf7773b7c
cmp eax, 0x685bf243
ja 0x10001d74
mov eax, dword [ebp - 0x14]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x101b7078]
or eax, dword [0x101b707c]
sub eax, 0x6a4743a0
and eax, 0x9bfee4da
mov ecx, 0x79548ffe
xor edx, edx
div ecx
xor eax, 0x25b6f552
and eax, 0xfab01da6
and eax, 0x158f79bf
imul eax, eax, 0x1582345d
imul eax, eax, 0x956eaf57
imul eax, eax, 0x3c555954
sub eax, 0x3925b646
sub eax, 0xe0c2782a
imul eax, eax, 0x421ad522
sub eax, 0xd5ec89b0
or eax, 0x819437da
or eax, 0xcaac2d6e
imul eax, eax, 0x2333bada
mov ecx, 0x64960f78
xor edx, edx
div ecx
sub eax, 0x2cf8a176
mov ecx, 0xe2fc419
xor edx, edx
div ecx
add eax, 0x5e66f6d0
xor eax, 0xd6491b6b
add eax, 0xa8737c58
add eax, 0xa8288cb7
imul eax, eax, 0x87b1723f
mov ecx, 0x5e6e3489
xor edx, edx
div ecx
and eax, 0x35312d89
add eax, 0xe32fa4a7
and eax, 0x4a71af6
mov ecx, 0x17820066
xor edx, edx
div ecx
mov ecx, 0xedd19f39
xor edx, edx
div ecx
and eax, 0x4506ed69
add eax, 0xb33ac46e
and eax, 0xed62fa19
xor eax, 0xf999888
xor eax, 0x6a910aaf
or eax, 0xa19bd62f
imul eax, eax, 0xca372c89
xor eax, 0xa8576f3
cmp eax, 0x28d419ea
jbe 0x10002275
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
mov eax, 0x55cbcbc1
mov dword [ebp - 0x20], eax
invalid
push eax
mov eax, esp
push eax
mov edi, esp
mov dword [ebp - 0x24], edi
mov dword [edx], esi
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0x64
call fcn.10181da8
mov ecx, dword [ebp - 0x24]
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x20]
mov dword [ecx], edx
cmp eax, 0x2193561a
je 0x10002275
jmp 0x10001a6e
test al, 0x1b
push ebx
sbb edi, ebp
loop 0x10002006
faddp st(3)
invalid
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
sbb eax, 0x16ae1ff0
test al, 0xcc
xor byte [ecx - 0x3a7a4c57], bl
or byte [ebx + 0x65], al
aad 0x81
mov dword [0xeade27e8], eax
sub al, 0xec
mov esp, 0xd40cbee3
mov dl, 0x40
push esi
mov dh, 0xa4
popfd
pop ss
enter 0xffffffffffff99b4, 0x21
add al, byte [ebx + 0xa92dbcc]
aaa
push ebx
adc al, byte [esi + edi*8]
xchg ebx, eax
mov eax, gs
xchg esi, eax
out dx, al
int1
push ds
and byte [edi + 0x6ebe08fc], cl
sti
aad 0x88
out dx, al
lea esp, [edx + 0x7ccd1403]
inc esp
movsb byte es:[edi], byte [esi]
wait
ret
add byte [ebx - 0x3e76fb3c], al
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
jmp 0x10001b54
pop ss
push edx
sbb al, 0xd5
outsb dx, byte [esi]
sbb dh, byte [edi - 0x440f7801]
sbb al, 0x62
xchg edx, eax
jle 0x1000222f
ja 0x100021b0
xchg ecx, eax
pop ds
adc eax, 0xe48750d0
iretd
push es
je 0x10002271
call 0x81d6bcc4
push es
sub dword [eax + 0x2626a06c], esi
rcr dword [esi - 0x1d2b358b], 1
and bh, byte [ebx]
arpl word [ecx + 0x6a], si
push esi
add dword [edi + ebp + 0x22], 0x810717ea
push esi
outsd dx, dword [esi]
ja 0x1000228e
adc byte [edx], bl
xchg byte [eax + 0x2c61526], bl
push esp
push esp
mov ebx, 0xacae974e
int3
invalid
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
invalid
into
adc byte [ebx - 0x4a3b4a36], ah
daa
pop edx
dec ecx
jae 0x10002299
jae 0x10002286
call [ebx - 0x5d20ffbd]
stc
test byte [edi], bh
add dword [ecx], 0x181d1cc9
rol dword [ebx - 0x5c7cfe0c], 0x62
xchg esi, eax
scasb al, byte es:[edi]
nop
jnp 0x1000227b
fbld tbyte [edx - 0x7ec07b07]
add ecx, ecx
sbb al, 0x1d
sbb cl, al
xor esp, 1
and dword [ebx - 0x6f51699e], 0xfffffff3
jnp 0x1000227b
out dx, al
mov ebp, 0x54b75a3
inc ebx
bound esp, qword [esp + edx*8 + 0x6a]
in al, dx
xor cl, ch
adc byte [esi], al
push cs
fsubr st(5), st(0)
pop esp
clc
ja 0x10002306
push ecx
push 0x7bb20d61
or al, 0xbe
idiv byte [ebx + 0x30]
cmp al, 0x22
xor al, 0xa4
xor byte [esi + 0x6e], cl
js 0x100022ce
adc dword [esi], edi
add ecx, ebp
and esi, dword [eax]
adc cl, byte [esi + 0x164a453a]
nop
xchg ecx, eax
invalid
sbb dword [edi], ebp
mov cl, 0x8f
int1
and eax, 0xfd5f7184
jge 0x1000232f
push 0xb642bee9
pushal
js 0x10002328
idiv bl
retf
invalid
lodsb al, byte [esi]
sub cl, bh
mov esi, 0xf3d195cd
push ecx
invalid