Function at 0x10002420
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x101b7088]
or eax, dword [0x101b708c]
imul eax, eax, 0xfc0ce496
or eax, 0x14927996
and eax, 0xa4368f1c
xor eax, 0xeeefa762
sub eax, 0xbf4a857c
or eax, 0x591236ee
imul eax, eax, 0x5982d346
add eax, 0x4a396318
or eax, 0x1c75d495
or eax, 0x92f6b14
sub eax, 0x8a03ed92
add eax, 0x36ee3ca3
imul eax, eax, 0xa3de1782
xor eax, 0x3c8f36ba
xor eax, 0xde7061f5
xor eax, 0xc0736a11
sub eax, 0xd11d96c9
xor eax, 0x83a044b9
xor eax, 0xd97e0898
and eax, 0xe386c52a
sub eax, 0x780f3cb4
xor eax, 0x9d3eb2f
mov ecx, 0xadf25247
xor edx, edx
div ecx
imul eax, eax, 0x3cb0c62e
mov ecx, 0x8a41ddf4
xor edx, edx
div ecx
sub eax, 0x8ad64e14
mov ecx, 0x6050e873
xor edx, edx
div ecx
xor eax, 0xd113d345
sub eax, 0xff062fe0
sub eax, 0x585be6e2
imul eax, eax, 0xe999848b
imul eax, eax, 0x54213a70
xor eax, 0xfd7acbd1
xor eax, 0xa034c2ab
add eax, 0xfdf46fc
sub eax, 0x6646a6e2
imul eax, eax, 0x8543dfab
and eax, 0x519be972
cmp eax, 0xe7171acb
ja 0x10002b46
mov eax, dword [0x101b7090]
xor eax, dword [0x101b7094]
sub eax, 0xfaba0247
sub eax, 0x1697a45a
mov ecx, 0x4d85e7ef
xor edx, edx
div ecx
imul eax, eax, 0x4db795e2
or eax, 0x32a34e5e
add eax, 0x6ee98bdd
or eax, 0xc9410f0b
add eax, 0x136816f5
mov ecx, 0x410116ba
xor edx, edx
div ecx
xor eax, 0xb879a5c8
xor eax, 0x9b7c3960
xor eax, 0x93371f75
and eax, 0x96f9696a
and eax, 0xb141ef0f
add eax, 0xfa8d2466
and eax, 0x5707311c
sub eax, 0xe47ab2a4
xor eax, 0x971ced6c
add eax, 0x6b704e55
xor eax, 0x1f0acda2
imul eax, eax, 0xb6af3a71
add eax, 0xfe7751a2
xor eax, 0x8bc322ff
sub eax, 0xadd6e48
imul eax, eax, 0x8b020a84
xor eax, 0x74c8caef
mov ecx, 0xb69778a2
xor edx, edx
div ecx
and eax, 0x2cc992a9
mov ecx, 0xda5aa160
xor edx, edx
div ecx
and eax, 0x1f8130cd
xor eax, 0x94fdb0af
imul eax, eax, 0xfcc7529
and eax, 0xf8134f77
xor eax, 0x6903aee1
or eax, 0x3965038d
mov ecx, 0x54d4bece
xor edx, edx
div ecx
or eax, 0xc388ddea
sub eax, 0x9aa1818e
cmp eax, 0xfe19791a
jae 0x10002522
mov eax, dword [0x101b7098]
and eax, dword [0x101b709c]
xor eax, 0x9084b488
or eax, 0xa67bda71
or eax, 0x4899d0e
xor eax, 0x61bf453c
xor eax, 0xaf15d2c8
add eax, 0x50f2c674
xor eax, 0xfee8a2ad
sub eax, 0x25ea8e10
sub eax, 0x54218b1d
or eax, 0x79c68b8b
xor eax, 0x9f60382c
or eax, 0x1cc8fcdd
imul eax, eax, 0xe44b4d06
or eax, 0x4af20fa3
and eax, 0x4980c59a
and eax, 0xad062185
add eax, 0x5313970c
xor eax, 0xd3f53ce9
xor eax, 0xe4624c50
add eax, 0x5eea055
mov ecx, 0x26b2a3a0
xor edx, edx
div ecx
xor eax, 0xc939b10b
or eax, 0xce62bd8d
xor eax, 0xfc75f087
or eax, 0x6d9d6ee7
add eax, 0xb438ad60
sub eax, 0x9212acff
xor eax, 0xc2818a86
and eax, 0x5da2aae2
or eax, 0xb78de381
or eax, 0x782f1a43
sub eax, 0x614a01df
xor eax, 0x967ed3dd
imul eax, eax, 0xaa1a2efd
or eax, 0x46a79262
add eax, 0x2da8b1bf
imul eax, eax, 0x2c9f6cdb
mov ecx, 0x1402c873
xor edx, edx
div ecx
cmp eax, 0x2bb82917
ja 0x10002908
mov eax, dword [0x101b70a0]
or eax, dword [0x101b70a4]
mov ecx, 0x3574d21f
xor edx, edx
div ecx
add eax, 0x577ae6b3
xor eax, 0xdb6b0c88
add eax, 0x888eb37e
and eax, 0x7ef29a1a
and eax, 0xea66d4fe
xor eax, 0xa7f1161f
sub eax, 0x97db0c4c
and eax, 0xc7019835
xor eax, 0x4121855b
mov ecx, 0xdfcc8c61
xor edx, edx
div ecx
sub eax, 0x20238afb
and eax, 0xa67389d0
xor eax, 0x604fbf60
mov ecx, 0x626aa67c
xor edx, edx
div ecx
or eax, 0x24f05fc1
mov ecx, 0x5dbce433
xor edx, edx
div ecx
imul eax, eax, 0x72a2429d
mov ecx, 0x82170ae3
xor edx, edx
div ecx
and eax, 0x8f9c0bb3
imul eax, eax, 0xbd873243
add eax, 0x5107cee0
imul eax, eax, 0xfdb12fde
or eax, 0x276ff0da
imul eax, eax, 0xf480a052
xor eax, 0x2e68687
and eax, 0xd4a1c6b2
xor eax, 0x28911586
sub eax, 0x3c70c250
sub eax, 0xaa4feb2b
imul eax, eax, 0xac462317
mov ecx, 0xc4f12e0
xor edx, edx
div ecx
sub eax, 0x1f391f3a
sub eax, 0x7cdd511d
mov ecx, 0x8ff289b4
xor edx, edx
div ecx
mov ecx, 0x65bde119
xor edx, edx
div ecx
add eax, 0x656a6f73
add eax, 0x49180c07
cmp eax, 0xb8143802
ja 0x10002bc7
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
xor eax, eax
push eax
mov ebx, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0x10]
mov dword [esi], edi
mov dword [ecx], edx
cmp eax, 0x70c24c0f
je 0x10002bc7
mov eax, dword [0x101b70b0]
and eax, dword [0x101b70b4]
and eax, 0x3aa4c101
and eax, 0x1142ddb7
or eax, 0x36949342
sub eax, 0xd5716790
mov ecx, 0xc7566e36
xor edx, edx
div ecx
xor eax, 0xc793435a
sub eax, 0x5c00dee7
sub eax, 0x3175a229
and eax, 0xa3c97c21
sub eax, 0x95a8a6e7
or eax, 0x6e69b5b
and eax, 0xb3f4d109
mov ecx, 0x9315d96f
xor edx, edx
div ecx
or eax, 0xaf846602
add eax, 0xc5f1bddc
sub eax, 0xf0d1bb14
mov ecx, 0x1905b460
xor edx, edx
div ecx
add eax, 0x17c6db9f
sub eax, 0xb570cc5b
xor eax, 0x37a3fd93
and eax, 0x11e06788
xor eax, 0x7bb121ec
xor eax, 0xdc84a009
mov ecx, 0x714577b0
xor edx, edx
div ecx
add eax, 0xcef7c43c
and eax, 0xcd196633
mov ecx, 0x6c536082
xor edx, edx
div ecx
sub eax, 0x3e99b53d
and eax, 0x8492fdb6
mov ecx, 0x66ec9cca
xor edx, edx
div ecx
sub eax, 0x93376d1d
imul eax, eax, 0xc3b42c82
or eax, 0x3a4c8770
sub eax, 0x51b1249
imul eax, eax, 0x8e594a7b
sub eax, 0xef3b9cbd
xor eax, 0xe6ea233a
sub eax, 0xe09f1adb
cmp eax, 0x956abbaf
jae 0x100026ed
mov al, 1
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x101b70b8]
sub eax, dword [0x101b70bc]
or eax, 0x5429eba1
or eax, 0xba431fc7
mov ecx, 0xdd43faf3
xor edx, edx
div ecx
imul eax, eax, 0x158dae46
and eax, 0x54c2b2d0
sub eax, 0xa5b8ba89
xor eax, 0x41b526c5
xor eax, 0x7ee8a236
xor eax, 0xc6f5b009
or eax, 0x73958d26
mov ecx, 0xd9043623
xor edx, edx
div ecx
mov ecx, 0x9228c1af
xor edx, edx
div ecx
xor eax, 0x651f8087
xor eax, 0x65ef7813
mov ecx, 0xff54145
xor edx, edx
div ecx
or eax, 0xa5158739
and eax, 0x498a99f4
or eax, 0x413cbe5e
xor eax, 0xe03c6853
xor eax, 0xca8e3cc8
sub eax, 0x34a160ca
imul eax, eax, 0xb2967879
mov ecx, 0x355bdc84
xor edx, edx
div ecx
mov ecx, 0x58f2b0f4
xor edx, edx
div ecx
xor eax, 0x690b1532
imul eax, eax, 0xaeaf72c6
sub eax, 0x5a8a5f6
add eax, 0x51ea307
sub eax, 0x3b841311
add eax, 0x1ade4378
xor eax, 0xc789eb86
sub eax, 0x1f6dbc15
mov ecx, 0xb0049cae
xor edx, edx
div ecx
add eax, 0x537085fd
add eax, 0x1f040298
imul eax, eax, 0xd5b78222
xor eax, 0xb69604c5
add eax, 0x4d2a4aee
cmp eax, 0x44387659
je 0x10002c68
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, 0xd8384411
mov edx, 0xc7b796f3
mul edx
shr edx, 0x1f
imul eax, edx, 0xc86cfc43
add eax, 0x7b233e1e
mov edx, 0xdd6d70b1
mul edx
shr edx, 0x1f
imul eax, edx, 0xc6ca5183
mov edx, 0xe3ad9763
mul edx
mov eax, edx
shr eax, 0x1c
xor eax, 0x352a472b
imul eax, eax, 0xe0d10064
add eax, 0xe6bc7416
or eax, 0x10493294
add eax, 0x56ab31e9
or eax, 0xdd2ffdd1
mov edx, 0x2382c27
mul edx
mov eax, edx
shr eax, 0x16
or eax, 0x8a852966
imul eax, eax, 0x39d3a13
xor eax, 0xe7a65519
imul eax, eax, 0x8fe854c2
xor eax, 0x4bd562d9
imul eax, eax, 0xb6898ba6
xor eax, 0x31f0d09a
mov edx, 0x8146668f
mul edx
shr edx, 0x1f
xchg ecx, eax
sub eax, 0x72040a25
fstp qword [eax]
lds ebp, [ebp + 0xfcaf3d2]
xor al, 0xb6
push ecx
inc ecx
cmp cl, byte [esi]
wait
aas
jecxz 0x10002abb
and bh, cl
inc esp
loopne 0x10002b0e
jns 0x10002b2c
leave
cdq
sub ecx, eax
dec ebp
mov ebp, dword [ebx]
mov word [edi], es
inc edi
in eax, dx
xchg esp, eax
xchg edi, eax
int 0x3a
pop eax
sti
or dh, byte [ecx]
push esi
mov edx, 0xf371b724
sbb ecx, dword [ebp + ebx*8 + 0x6ed26c41]
into
fadd dword [ecx + 0x68d7c0fa]
jl 0x10002b32
add dl, bh
sbb edi, dword [edi]
retf
xchg ecx, eax
and ebx, dword [edi + 0x3a561618]
movsb byte es:[edi], byte [esi]
or al, 0x7a
pop ds
xor bh, dl
inc eax
mov al, 0x9b
stosd dword es:[edi], eax
imul eax, dword [eax - 0x1c76af61], 0x50e68950
mov eax, esp
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x10]
mov dword [esi], edi
mov dword [eax], ecx
mov dword ds:[eax], ecx
cmp edx, 0x5bc44b97
jae 0x10002c68
jmp 0x100026ed
inc esi
xor dword [edx - 0x39d41ba3], ebx
push es
add dl, dl
cmp dword [ecx - 0x4e], edx
arpl word [ebp + 0x50], bp
inc esp
invalid
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
pop edi
cli
cmc
mov esi, ds
popfd
fidivr word [ebx - 0x134288c1]
cdq
in eax, dx
invalid
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
test dword [edi], edi
push 0xa
fistp qword [ecx*4 - 0x104514c5]
out 0x9a, eax
mov byte [0xb5a8f005], al
inc esp
mov esi, 0xbda87ef6
lahf
imul esi, dword [ecx - 0x3359708a], 0x9bcd341c
inc eax
insd dword es:[edi], dx
call [ebx]
add cl, al
cmc
push ds
in eax, dx
hlt