Function at 0x100f41d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x48
mov esi, esp
mov dword [esi + 0x20], ecx
mov eax, dword [ebp + 8]
mov dword [esi + 0x24], eax
mov eax, dword [0x101bdbec]
xor eax, ebp
mov dword [esi + 0x40], eax
mov eax, dword [0x101bc7b8]
or eax, dword [0x101bc7bc]
add eax, 0x76aa6bb3
add eax, 0x21bac004
and eax, 0x2930edc1
sub eax, 0x20523337
or eax, 0x926a9d24
imul eax, eax, 0xe190de9e
and eax, 0x18b2380a
mov ecx, 0x257e623d
xor edx, edx
div ecx
xor eax, 0x4407d703
sub eax, 0x95d6e805
mov ecx, 0x933b1bf2
xor edx, edx
div ecx
mov ecx, 0xc01616ff
xor edx, edx
div ecx
add eax, 0xb972bc52
imul eax, eax, 0xfb9ea66f
imul eax, eax, 0x53199221
and eax, 0xeaa5fcaf
or eax, 0xb04050dd
or eax, 0xf0ad1171
or eax, 0x186e71cc
mov ecx, 0x10eae1e6
xor edx, edx
div ecx
xor eax, 0xe7ac4784
sub eax, 0x6943901d
mov ecx, 0xfdc4f2f
xor edx, edx
div ecx
and eax, 0x494e7728
mov ecx, 0x1d795156
xor edx, edx
div ecx
or eax, 0x801f899d
and eax, 0x90245e99
mov ecx, 0x9d7e8d63
xor edx, edx
div ecx
or eax, 0xfb3454e7
or eax, 0xd894193e
and eax, 0x4d2ad91c
mov ecx, 0xb3dc8432
xor edx, edx
div ecx
sub eax, 0x757928d6
or eax, 0xb307c074
mov ecx, 0x543ed0c1
xor edx, edx
div ecx
add eax, 0x12d2c360
or eax, 0xe2a7cea4
xor eax, 0x32afd251
cmp eax, 0x152f4d38
je 0x100f49ee
mov eax, dword [0x101bc7c0]
add eax, dword [0x101bc7c4]
xor eax, 0xb459371
add eax, 0x34f83348
or eax, 0x486d7701
mov ecx, 0x8412721b
xor edx, edx
div ecx
mov ecx, 0x35505a91
xor edx, edx
div ecx
and eax, 0x91baee89
sub eax, 0x7c56e87a
and eax, 0x993e8f91
and eax, 0xe79e3e67
xor eax, 0xea68992
mov ecx, 0x1f791c2a
xor edx, edx
div ecx
or eax, 0x8e1754bd
and eax, 0x134e6fb3
sub eax, 0x4d3e6aa6
sub eax, 0x48b88fb9
imul eax, eax, 0x51f2e4cb
and eax, 0xf5e7cecd
or eax, 0x3a97fea4
imul eax, eax, 0x71728954
imul eax, eax, 0x2071c5a3
imul eax, eax, 0xbb7afb1a
imul eax, eax, 0x7dbc9bb7
imul eax, eax, 0x8124bd56
imul eax, eax, 0x24bb9eae
add eax, 0x2431c104
or eax, 0xec0aab6a
add eax, 0x675e41
sub eax, 0x5636377f
xor eax, 0x5625ed51
or eax, 0xf53d21f0
imul eax, eax, 0xe42483d0
mov ecx, 0xda2e4e6d
xor edx, edx
div ecx
add eax, 0x468487e8
add eax, 0x2717ec99
or eax, 0x5034a6f
imul eax, eax, 0xaf8eed91
or eax, 0x4607135d
sub eax, 0x4b31d27e
cmp eax, 0xd23b7025
je 0x100f42ec
mov eax, dword [0x101bc7c8]
or eax, dword [0x101bc7cc]
or eax, 0x9a2fa455
mov ecx, 0x97265fa3
xor edx, edx
div ecx
xor eax, 0xa7dec95f
mov ecx, 0x3c88331
xor edx, edx
div ecx
imul eax, eax, 0x5e72ffb1
and eax, 0x6eca3503
or eax, 0xa7fee3c3
add eax, 0x4088526b
mov ecx, 0x3424c677
xor edx, edx
div ecx
and eax, 0xa21cecb7
or eax, 0xc7ad47a2
xor eax, 0x949b0ba0
xor eax, 0xc37a5357
imul eax, eax, 0xf1fe11fb
mov ecx, 0x7efb5087
xor edx, edx
div ecx
imul eax, eax, 0xdca5083a
sub eax, 0x1c0e2e1c
and eax, 0x4decc87
xor eax, 0x59a5f0c8
sub eax, 0x19122e3a
add eax, 0x910b208b
sub eax, 0x9ebad8b4
xor eax, 0xfcbb5dd6
sub eax, 0x2458ab66
add eax, 0x4ab8cb39
imul eax, eax, 0xb33ba468
xor eax, 0x8720fb62
imul eax, eax, 0xfd9451c
sub eax, 0x946c99a8
xor eax, 0xbf663d48
or eax, 0x8bf84ad2
mov ecx, 0x8729878
xor edx, edx
div ecx
and eax, 0x81ab8fc2
imul eax, eax, 0x83a2b87e
xor eax, 0xdf8e55e2
sub eax, 0x83163162
and eax, 0xf0b6e979
imul eax, eax, 0x7230b6d3
cmp eax, 0x6faebc9a
jae 0x100f4904
mov eax, dword [0x101bc7d0]
imul eax, dword [0x101bc7d4]
or eax, 0x3be1b547
imul eax, eax, 0xad498471
and eax, 0x8594793b
imul eax, eax, 0x50d64a45
and eax, 0xadb229c
imul eax, eax, 0xdf42cdaf
or eax, 0x60ceaf71
add eax, 0xdf44c8f9
and eax, 0xeec0aae8
add eax, 0x24651107
sub eax, 0x88103c6a
add eax, 0xbb03e798
mov ecx, 0x6670ecd0
xor edx, edx
div ecx
or eax, 0xadac7168
sub eax, 0xe772dfce
mov ecx, 0xa4524785
xor edx, edx
div ecx
mov ecx, 0x9e009926
xor edx, edx
div ecx
imul eax, eax, 0x1d8cb730
xor eax, 0x3eafc72
and eax, 0xfd8b5891
sub eax, 0xab6042b9
mov ecx, 0xb41972ce
xor edx, edx
div ecx
or eax, 0x2383eb72
sub eax, 0x515b3b13
add eax, 0x68a05912
mov ecx, 0xf764f615
xor edx, edx
div ecx
xor eax, 0x1448530b
imul eax, eax, 0xc3c6dcbc
imul eax, eax, 0x2f71ced8
add eax, 0xc583a1bd
imul eax, eax, 0x3450d688
and eax, 0x23394cba
add eax, 0x437d80d8
sub eax, 0x9ac10fcb
and eax, 0x8dd137d4
imul eax, eax, 0xc9c287c4
imul eax, eax, 0x503122d9
sub eax, 0xeef68ca2
cmp eax, 0xa2080f76
jae 0x100f4a9f
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
mov eax, 0xa5bdffbb
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
push eax
mov edx, esp
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x14], ecx
mov esp, ecx
mov dword [eax], ebx
mov dword [edx], edi
mov edx, dword [edx]
mov dword [esi + 0x18], edx
mov eax, dword [eax]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.101616a0
mov ecx, dword [esi + 0x14]
add esp, 8
call fcn.100f4c00
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
fstp qword [esi + 0x28]
movsd xmm0, qword [esi + 0x28]
movsd qword [ecx], xmm0
cmp eax, 0x5e037248
jbe 0x100f45ba
mov eax, dword [0x101bc7e0]
sub eax, dword [0x101bc7e4]
and eax, 0x265b7290
mov ecx, 0x51406ec4
xor edx, edx
div ecx
add eax, 0x43406f82
add eax, 0xebffacc2
xor eax, 0xeac17e3e
add eax, 0x821effe7
xor eax, 0xd480cdd7
xor eax, 0x18862dba
sub eax, 0x50afccaa
imul eax, eax, 0xb3ce72e9
and eax, 0x109e93fb
mov ecx, 0x4c4b4d49
xor edx, edx
div ecx
mov ecx, 0xf643eac
xor edx, edx
div ecx
imul eax, eax, 0x55cbc115
mov ecx, 0xdea342c9
xor edx, edx
div ecx
mov ecx, 0x3fdcbc9
xor edx, edx
div ecx
or eax, 0xf183bce9
mov ecx, 0x93fca4b3
xor edx, edx
div ecx
add eax, 0xa6878662
imul eax, eax, 0x45d74fae
mov ecx, 0x4ae387ed
xor edx, edx
div ecx
and eax, 0x69017e70
imul eax, eax, 0xa4ca3529
or eax, 0x9e063147
sub eax, 0x2d96cc69
add eax, 0xef34f7f8
xor eax, 0x681a5c15
and eax, 0x2704f008
and eax, 0xb808238
add eax, 0x67d608c2
xor eax, 0x4a49ff1c
xor eax, 0x76157ca4
xor eax, 0xf6e95491
mov ecx, 0xfe45a0b0
xor edx, edx
div ecx
sub eax, 0x17daab0d
imul eax, eax, 0xe37d385e
imul eax, eax, 0x16e6deb
xor eax, 0xbc763c65
cmp eax, 0x9f9498c1
ja 0x100f44c8
mov eax, dword [0x101bc7e8]
xor eax, dword [0x101bc7ec]
mov ecx, 0xcdedd67f
xor edx, edx
div ecx
imul eax, eax, 0xa71a4d12
xor eax, 0x405da3f4
mov ecx, 0x9cb3e6b8
xor edx, edx
div ecx
imul eax, eax, 0x75bedd96
mov ecx, 0x705078f6
xor edx, edx
div ecx
add eax, 0x132978fb
imul eax, eax, 0x947662fe
or eax, 0xaf2ea06a
imul eax, eax, 0x106d0664
or eax, 0x6b4d84fc
or eax, 0xe8017819
mov ecx, 0xbbe6b8f4
xor edx, edx
div ecx
imul eax, eax, 0xc7155dc3
sub eax, 0xd71205c9
or eax, 0xaa853f5c
add eax, 0x7f6a235b
imul eax, eax, 0x60b74c28
imul eax, eax, 0xd0a32029
xor eax, 0x83b53f25
imul eax, eax, 0x2cd8d3b0
xor eax, 0x13c90ac
and eax, 0xe84396be
and eax, 0x1b909c15
imul eax, eax, 0x6239a6be
sub eax, 0x289e2663
or eax, 0x491a98a8
sub eax, 0x9be3e8a9
and eax, 0x6e1735e1
xor eax, 0x5bea311c
add eax, 0xba55420f
or eax, 0xb3654186
and eax, 0x86c4c3e3
add eax, 0x4d87f048
xor eax, 0xe3e109d2
sub eax, 0x9994eaf0
and eax, 0xb7d57928
add eax, 0xb142f2f2
cmp eax, 0x763c901
jbe 0x100f4b7d
mov eax, dword [0x101bc7f0]
sub eax, dword [0x101bc7f4]
and eax, 0x9e9d2f63
sub eax, 0xac9779bc
add eax, 0xd28e5a1f
mov ecx, 0xef238063
xor edx, edx
div ecx
or eax, 0x8d05df42
xor eax, 0xfee8b74c
and eax, 0xd9946e5c
sub eax, 0x8213b3ef
or eax, 0xd8d09d59
sub eax, 0xcd4f2654
xor eax, 0x65553edc
mov ecx, 0xb0778e75
xor edx, edx
div ecx
imul eax, eax, 0x576ac4c7
or eax, 0x215f9603
imul eax, eax, 0xdf00db8
add eax, 0x66c86f21
xor eax, 0xc2c5b1b5
add eax, 0xc307e077
or eax, 0xa1819e5c
mov ecx, 0xf7d0f072
xor edx, edx
div ecx
xor eax, 0x53c67f43
add eax, 0x402469e7
imul eax, eax, 0x39362c35
or eax, 0x8a060ed1
and eax, 0xf77b3596
and eax, 0x75b5b013
sub eax, 0xe3440776
imul eax, eax, 0x3cbe4293
add eax, 0x2fc41918
xor eax, 0xd67d8622
imul eax, eax, 0x3c37f685
or eax, 0xfe615eac
sub eax, 0x5141420b
or eax, 0x864d03f2
mov ecx, 0x6d35a7a0
xor edx, edx
div ecx
xor eax, 0x4120fbad
add eax, 0xed7c8c07
add eax, 0xa8c40c6c
cmp eax, 0xefa19722
je 0x100f4804
mov ecx, dword [esi + 0x40]
xor ecx, ebp
call fcn.101626c6
mov eax, dword [esi + 0x18]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
add byte [ebx + 0x5e8b207e], cl
and al, 0x8b
pushfd
mov ebx, 0x2232cbe1
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
mov ebx, dword [ebx + edi*4 + 0x2232cbe1]
sub ebp, 0x4632e48c
pop ss
jno 0x100f4903
dec esi
enter 0x18d, 0xffffffffffffff83
in eax, dx
lahf
sbb dword [ebp + eax + 0x30bc31af], edx
mov esi, dword [edi - 0x2841ceef]
sti
cdq
in eax, dx
out dx, eax
add ebx, dword [edx + 0x5a]
pop ds
xchg ch, ch
sahf
sal al, 0xe9
hlt
and eax, 0x569bb70a
sbb eax, 0x2b63bf9d
and eax, 0x28a12de2
adc bl, byte cs:[edx - 0x59779b9f]
adc bl, byte [edx - 0x59779b9f]
push esp
cwde
dec esi
sbb dword [edi - 0x3c981751], esp
pop edx
in eax, dx
xor eax, edi
cmpsd dword [esi], dword es:[edi]
xchg dword [ebp + 0x7c276721], edx
movsb byte es:[edi], byte [esi]
jno 0x100f4a00
inc ecx
popal
aam 0xee
test eax, ecx
pop esp
test al, 0x1a
inc esi
test dh, ch
stc
jnp 0x100f4a4a
cmp bl, byte [ebp - 0x41f341f8]
jns 0x100f4a84
in al, dx
pop esi
lodsb al, byte [esi]
scasd eax, dword es:[edi]
invalid
das
jns 0x100f4a62
xchg ebp, eax
call 0x10e4e8ac
sbb esi, esp
add dword [ecx - 0x611a1bef], edx
cmp al, byte [edx + 0xfad3b0d]
mov ebp, 0x44d22ad7
cmp bl, byte [edi + esi*4 + 0x287dcc1f]
lodsd eax, dword [esi]
in al, dx
cli
cmp eax, 0x578e81c0
sub dword [ebp + 0x41b4b6e5], esp
lds edx, [ebx - 0x40fdda1e]
les esp, [0xea8cb278]
and eax, 0xea8cb278
push ebp
cmp al, 0x66
bound edi, qword [eax]
xor ebp, ecx
dec ecx
sub edx, esp
or ah, byte [ebp - 0x52]
pop ds
jae 0x100f4aab
in al, 0xe9
dec ebp
clc
invalid
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
push ebp
sti
fld dword [ebx - 0x44]
fist word [edi]
pop ss
sbb esi, ecx
invalid
scasd eax, dword es:[edi]
neg byte [ecx + 0x58]
insb byte es:[edi], dx
fadd dword [eax]
and al, 0x59
sbb dword [eax + 0x2c], edx
sub byte [edx + 0x3dd2845f], ch
jb 0x100f4bfd
dec edi
sahf
mov word [ebp + 0x2e], es
or byte [esi], 0x60
cld
jmp dword [ebx + 0x40260b84]
dec esp
int3