Function at 0x100f4c00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
sub esp, 0x20
mov esi, esp
mov dword [esi + 0xc], ecx
mov eax, dword [0x101bc7f8]
xor edx, edx
div dword [0x101bc7fc]
sub eax, 0x324b5008
and eax, 0x25f52fb0
and eax, 0x3db743a4
and eax, 0xdcbd7770
and eax, 0x4ad9b9c1
mov ecx, 0xa77d2929
xor edx, edx
div ecx
and eax, 0xe6aae723
add eax, 0x11df4b84
or eax, 0xf4ec6b17
xor eax, 0x70ce2ff3
imul eax, eax, 0x67fcaaf7
xor eax, 0xff513aae
or eax, 0x2265c245
or eax, 0x98e45359
xor eax, 0x65145344
mov ecx, 0x1b3467d
xor edx, edx
div ecx
or eax, 0x3c8e9904
imul eax, eax, 0xcfeb1d09
and eax, 0x9205ee41
or eax, 0xe7789cc
sub eax, 0x1372047e
sub eax, 0x38bc130f
and eax, 0x83ac2c63
or eax, 0x7c46b262
add eax, 0x682e4d9a
imul eax, eax, 0x35f6db5f
and eax, 0xecee33cb
mov ecx, 0x56252517
xor edx, edx
div ecx
mov ecx, 0x64438759
xor edx, edx
div ecx
or eax, 0x1fa2bf45
sub eax, 0x8b9b23d9
imul eax, eax, 0xb0cf39ad
xor eax, 0x73ece921
mov ecx, 0x6068f08c
xor edx, edx
div ecx
add eax, 0x8b653545
or eax, 0xe0628c2f
or eax, 0x561c1b71
and eax, 0x1e2f318d
cmp eax, 0x4a59a6b3
je 0x100f4efc
mov edx, dword [esi + 0xc]
mov eax, 0xa1e7d99a
push eax
mov ecx, esp
mov dword [ecx], edx
mov ecx, dword [ecx]
movsd xmm0, qword [ecx]
movsd qword [esi], xmm0
cmp eax, 0x638c1ccb
jbe 0x100f4efc
mov eax, dword [0x101bc808]
imul eax, dword [0x101bc80c]
xor eax, 0x7d2566b7
sub eax, 0xa3623dd4
or eax, 0xb65ad19f
imul eax, eax, 0xf566b237
sub eax, 0x1aefef52
and eax, 0x246453d2
xor eax, 0x9d944f2a
mov ecx, 0x11c53317
xor edx, edx
div ecx
and eax, 0x7e7b3ad
sub eax, 0x2cdff2d4
xor eax, 0xb7fa80ae
add eax, 0xbfe8a584
sub eax, 0xad18e3b0
sub eax, 0x78606a28
or eax, 0x239b570d
sub eax, 0xc9c95236
sub eax, 0x59baccd7
sub eax, 0xf78bf86d
add eax, 0x52d4dbc2
sub eax, 0xd536c076
xor eax, 0x384b42e0
mov ecx, 0xb6657380
xor edx, edx
div ecx
add eax, 0xf9fd5c03
xor eax, 0x7c36a381
add eax, 0x166116a
imul eax, eax, 0xd7658035
and eax, 0xc4e0ee9a
imul eax, eax, 0x225508be
mov ecx, 0x9b31be8e
xor edx, edx
div ecx
or eax, 0xdb709a82
mov ecx, 0xcad65a58
xor edx, edx
div ecx
add eax, 0x29e5c3f0
and eax, 0xce1bf88a
add eax, 0xc3c25ad6
add eax, 0xdba95793
sub eax, 0xac490a7f
xor eax, 0x81fb1375
sub eax, 0x7616efe3
cmp eax, 0xaf80deb2
je 0x100f50bb
mov eax, dword [0x101bc810]
or eax, dword [0x101bc814]
and eax, 0xf6a11626
xor eax, 0x83c3b882
xor eax, 0x2384efc8
and eax, 0xac3175b7
sub eax, 0x7a229f95
and eax, 0x57d82802
xor eax, 0x4e2aad21
imul eax, eax, 0xefbd3ba9
or eax, 0xd88b1bef
add eax, 0xb25b99b3
add eax, 0xd04476ca
add eax, 0x55cddc1
or eax, 0xe9173b47
xor eax, 0x7920771b
sub eax, 0xb11d47db
mov ecx, 0x2a737f66
xor edx, edx
div ecx
mov ecx, 0x7a2936d2
xor edx, edx
div ecx
and eax, 0x26fa9516
sub eax, 0x5cc5a01f
xor eax, 0x10f28f5e
or eax, 0xec74c95b
sub eax, 0x8bceb656
add eax, 0x87dfb275
and eax, 0x1d5ced2b
imul eax, eax, 0x176510c
and eax, 0x598f1021
or eax, 0x7a7e48cd
xor eax, 0x831f26c3
mov ecx, 0xec52c9f7
xor edx, edx
div ecx
sub eax, 0x56788ced
imul eax, eax, 0x889ddd11
or eax, 0x900fafc6
add eax, 0x6280df76
add eax, 0x8580c5cb
and eax, 0xd411849f
add eax, 0xaed5e1e6
or eax, 0xd5bb632e
add eax, 0x1a073ef7
cmp eax, 0xd31b077c
jae 0x100f4e07
movsd xmm0, qword [esi]
movsd qword [esi + 0x10], xmm0
fld qword [esi + 0x10]
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov eax, dword [0x101bc818]
add eax, dword [0x101bc81c]
sub eax, 0x3b92e5c3
add eax, 0xcaf5f041
add eax, 0x129f9a80
or eax, 0x9309cdd
imul eax, eax, 0x882ac963
imul eax, eax, 0x11955aba
imul eax, eax, 0x96cba113
sub eax, 0x8c5748b3
imul eax, eax, 0xa8b0955f
mov ecx, 0xf1648a87
xor edx, edx
div ecx
imul eax, eax, 0x8f363742
mov ecx, 0x64609aa2
xor edx, edx
div ecx
sub eax, 0xa4ad9c4f
xor eax, 0xa4e4393b
and eax, 0x3166225f
add eax, 0x7fb202ef
or eax, 0xe33e11f8
and eax, 0xede537d8
and eax, 0xc170acd9
or eax, 0x30fe86f5
and eax, 0x6523ae10
and eax, 0x7f274375
and eax, 0xca809b24
or eax, 0x98f7ab3c
imul eax, eax, 0x118a30ff
mov ecx, 0xfca3de7e
xor edx, edx
div ecx
mov ecx, 0xd114c6b9
xor edx, edx
div ecx
add eax, 0x5b7408da
add eax, 0x26653d6
or eax, 0x4ec58909
or eax, 0x15f0e217
or eax, 0x315428f5
or eax, 0x41072c27
xor eax, 0x9b365596
and eax, 0xe69aba36
add eax, 0xeb2f137c
and eax, 0x6194148
mov ecx, 0xa91365a5
xor edx, edx
div ecx
cmp eax, 0x2aaa6d10
jae 0x100f515c
mov edx, dword [esi + 0xc]
mov eax, 0xa48030f8
dec edi
sal dword [edx + 0x1c], cl
pop ss
or dh, byte [ebx]
xor eax, 0xe0146792
or byte [ebp + 0x37da7588], ah
xor eax, 0xbf6d860b
out dx, eax
fbstp tbyte [eax - 0x7ae89b1c]
dec ecx
invalid
clc
push cs
xchg edx, eax
xor edi, dword [ebx]
fmul qword [ecx - 0x24]
pop esi
mov dh, 0xcf
add al, 0x29
movsb byte es:[edi], byte [esi]
pop ecx
dec esp
stc
lcall 0xe2d1, 0xeaaac404
movsb byte es:[edi], byte [esi]
rcl byte [ebx + 0x2d], cl
xor byte [0x65a324cf], dh
dec eax
sbb bh, byte [ecx + 0x55a47091]
div byte [edi - 0x103b1918]
xchg esi, edx
mov cl, ch
in eax, dx
insd dword es:[edi], dx
cmp ecx, dword [esi]
mov esi, 0x105a070
dec ebx
ret 0x5e6
invalid
mov ecx, dword [esi + 0xc]
or al, 0xea
sub bh, byte [esi + 0x55]
push edx
out 0x1c, eax
popfd
arpl bp, bp
cmpsb byte [esi], byte es:[edi]
mov ebx, 0x8d307926
jno 0x100f5156
xor dword [ebp - 0x3d644a56], ebp
inc edi
salc
sub dword [esi], ebx
into
mov edi, 0xfe67d40d
dec edx
mov edx, 0x5352cd07
dec ebx
cmpsb byte [esi], byte es:[edi]
test eax, 0xe526197f
push cs
pop edi
mov byte [ebp - 0x12], dl
inc ebp
sal dl, cl
mov eax, esp
lcall 0x19a4, 0x3c4d2893
pop ebx
cdq
dec esi
ret