Function at 0x100180b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0xc]
add eax, 0xffffffff
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jae 0x10018189
mov eax, dword [ebp - 8]
movsx edx, byte [eax]
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 4]
movsx edx, byte [eax]
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 8]
movsx edx, byte [eax]
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 0xc]
mov ecx, 0x100
cdq
idiv ecx
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
xor eax, 0xffffffff
mov cl, al
mov eax, dword [ebp - 4]
mov byte [eax], cl
mov eax, dword [ebp - 0xc]
xor eax, 0xffffffff
mov ecx, 0x100
cdq
idiv ecx
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 8]
movsx eax, byte [eax]
shl eax, 4
mov ecx, dword [ebp - 8]
movsx ecx, byte [ecx]
sar ecx, 4
or eax, ecx
mov cl, al
mov eax, dword [ebp - 8]
mov byte [eax], cl
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
add eax, 0xffffffff
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x100180d5
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jne 0x100181ed
mov eax, dword [ebp - 0xc]
mov ecx, 0x100
cdq
idiv ecx
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
xor eax, 0xffffffff
mov cl, al
mov eax, dword [ebp - 4]
mov byte [eax], cl
mov eax, dword [ebp - 0xc]
xor eax, 0xffffffff
mov ecx, 0x100
cdq
idiv ecx
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
shl eax, 4
mov ecx, dword [ebp - 4]
movsx ecx, byte [ecx]
sar ecx, 4
or eax, ecx
mov cl, al
mov eax, dword [ebp - 4]
mov byte [eax], cl
mov eax, dword [0x100bdae4]
sub eax, dword [0x100bdae8]
and eax, 0x7e059467
or eax, 0x539625e3
mov ecx, 0x4cd05785
xor edx, edx
div ecx
sub eax, 0xbb4ed3bb
xor eax, 0x5c35345c
and eax, 0x4fbb5256
sub eax, 0x355110bf
mov ecx, 0x143e535d
xor edx, edx
div ecx
and eax, 0xfcb27b17
and eax, 0xab59cd3a
add eax, 0x2263631a
mov ecx, 0x30c04ba1
xor edx, edx
div ecx
add eax, 0x2361a67d
and eax, 0x947c8ee2
and eax, 0x477b9275
or eax, 0x562621c3
imul eax, eax, 0x8ff4254c
xor eax, 0x7cb12c05
mov ecx, 0x18783f10
xor edx, edx
div ecx
or eax, 0x2b7be196
sub eax, 0xe80ccc98
imul eax, eax, 0x6fd10084
mov ecx, 0x24f0c401
xor edx, edx
div ecx
and eax, 0xc9ab8f2f
xor eax, 0x360767cc
or eax, 0xe14427ac
imul eax, eax, 0xbd64e61a
imul eax, eax, 0x8590493f
and eax, 0xa21ef67f
mov ecx, 0xf59222eb
xor edx, edx
div ecx
add eax, 0xc25e4b1a
mov ecx, 0x2e1d3df8
xor edx, edx
div ecx
add eax, 0x7510855e
and eax, 0x7b69cef0
or eax, 0xbee35348
xor eax, 0x8a3e7bb6
xor eax, 0xd022981a
add eax, 0xacd73951
or eax, 0x6d0f3653
or eax, 0xec50bfa
xor eax, 0xf8a46bfc
or eax, 0x778f0fca
imul eax, eax, 0xcf7e16d6
imul eax, eax, 0x7d1740b1
or eax, 0x378e3af7
imul eax, eax, 0xa40c90b9
add eax, 0xef1f2313
add eax, 0x722e4ce6
or eax, 0xd0684ed6
sub eax, 0x663baf14
and eax, 0xc995eea3
or eax, 0xb99b7932
imul eax, eax, 0x1d4d2963
mov ecx, 0x87055a97
xor edx, edx
div ecx
imul eax, eax, 0x7d8580c9
and eax, 0x8acbb98f
sub eax, 0xe2ec4e02
add eax, 0xcaf17ae9
xor eax, 0xfba0963f
xor eax, 0x5eb7a8f6
mov ecx, 0x1a48abb9
xor edx, edx
div ecx
sub eax, 0x7fcaeda2
xor eax, 0xe6903440
add eax, 0x5b8c40e
add eax, 0xd5f59f32
and eax, 0xec32c87a
xor eax, 0xc3857a51
sub eax, 0xaaf4592
and eax, 0x1783ae78
sub eax, 0xac9baf5c
xor eax, 0x400f8b5f
mov ecx, 0x1b43f78e
xor edx, edx
div ecx
cmp eax, 0xe7aa86c3
ja 0x1001855e
mov eax, dword [0x100bdaec]
add eax, dword [0x100bdaf0]
or eax, 0x6a81097a
imul eax, eax, 0xf7682f71
imul eax, eax, 0x429d7dbd
mov ecx, 0x680b46f0
xor edx, edx
div ecx
add eax, 0xae361e8d
or eax, 0x80443516
or eax, 0x2c103f0d
imul eax, eax, 0x8f9c9e3a
mov ecx, 0x4d6e5d78
xor edx, edx
div ecx
and eax, 0x4cbe00e
imul eax, eax, 0x1697d87c
add eax, 0x194df613
and eax, 0xd0e9fb8a
add eax, 0x9e05ab25
and eax, 0x43b362d1
or eax, 0xfa2f3f55
add eax, 0xad2b4cb5
add eax, 0xa566c78c
or eax, 0x910bfbf5
or eax, 0x62a68d66
sub eax, 0x77a4c9a6
imul eax, eax, 0x48bf7a41
sub eax, 0x35134aa4
sub eax, 0xaacd7eea
and eax, 0x7e10d3b7
imul eax, eax, 0x3681bf06
or eax, 0x7b547dfa
add eax, 0x3d396387
sub eax, 0x5c909862
and eax, 0xc21d7757
imul eax, eax, 0x8f3c47e9
and eax, 0x79830213
imul eax, eax, 0x3fdcd829
add eax, 0xbafd3bb0
mov ecx, 0x41b25b76
xor edx, edx
div ecx
mov ecx, 0x646cf5cf
xor edx, edx
div ecx
mov ecx, 0xb859e290
xor edx, edx
div ecx
xor eax, 0x693f5bf2
add eax, 0x7c4f496b
mov ecx, 0x7ab6f879
xor edx, edx
div ecx
mov ecx, 0xc959cca8
xor edx, edx
div ecx
xor eax, 0x91aecc38
xor eax, 0xe1712424
mov ecx, 0x1caf5b48
xor edx, edx
div ecx
mov ecx, 0x54e2bd5e
xor edx, edx
div ecx
or eax, 0x28312072
or eax, 0x581c495e
or eax, 0x3473509a
mov ecx, 0xa6a06334
xor edx, edx
div ecx
imul eax, eax, 0x817b1c70
imul eax, eax, 0x458795f0
and eax, 0x83264828
and eax, 0x374b385a
or eax, 0x6c4112e4
imul eax, eax, 0xe37793e4
xor eax, 0xb0d939cb
and eax, 0x70889783
imul eax, eax, 0x51aea7b4
sub eax, 0x2778d73c
imul eax, eax, 0x41ad6ff1
sub eax, 0x6796a17d
and eax, 0xd9237aa8
add eax, 0xe3cb53a
or eax, 0xfd715719
xor eax, 0x847e17
and eax, 0xe9b82117
mov ecx, 0x81c5d0c1
xor edx, edx
div ecx
imul eax, eax, 0xf98dc0b7
imul eax, eax, 0xfbe1166b
xor eax, 0x453cadf5
mov ecx, 0xd66edc40
xor edx, edx
div ecx
sub eax, 0x5a06e360
cmp eax, 0xb9a205d2
jae 0x1001839c
add esp, 0xc
pop ebp
ret
jmp 0x1001839c