Function at 0x10006800
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, esp
mov dword [eax], 0
call fcn.10007400
mov dword [esp], eax
call fcn.1009cf85
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
jle 0x10006838
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
jmp 0x1000683e
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, 0x64
cdq
idiv ecx
add edx, 0x32
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, 1
mov dword [esp], eax
call fcn.1009cf7a
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 4]
jge 0x10007388
call fcn.1009cf97
mov dword [ebp - 0x24], eax
mov ecx, 0x55555556
imul ecx
mov eax, dword [ebp - 0x24]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [edx + edx*2]
sub eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x100068c9
jmp 0x100068a7
mov eax, dword [ebp - 0x20]
sub eax, 1
je 0x10006901
jmp 0x100068b8
mov eax, dword [ebp - 0x20]
sub eax, 2
je 0x10006939
jmp 0x10006cc8
mov eax, dword [ebp + 8]
mov ecx, 0x1a
cdq
idiv ecx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, 0x61
mov dl, al
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov byte [eax + ecx], dl
mov eax, dword [ebp + 8]
mov ecx, 0x1a
cdq
idiv ecx
add eax, dword [ebp - 0x14]
add eax, dword [ebp + 0xc]
mov dword [ebp + 8], eax
jmp 0x10006cc8
mov eax, dword [ebp + 0xc]
mov ecx, 0x1a
cdq
idiv ecx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, 0x41
mov dl, al
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov byte [eax + ecx], dl
mov eax, dword [ebp + 0xc]
mov ecx, 0x1a
cdq
idiv ecx
add eax, dword [ebp - 0x14]
add eax, dword [ebp + 8]
mov dword [ebp + 0xc], eax
jmp 0x10006cc8
mov eax, dword [0x100d3620]
sub eax, dword [0x100d3624]
and eax, 0x7e91c548
add eax, 0x8fc244f4
or eax, 0xb2317c3a
or eax, 0x8f4402c6
xor eax, 0xc8267310
mov ecx, 0xa5427bcb
xor edx, edx
div ecx
xor eax, 0xa40bec5f
xor eax, 0x6d239f70
mov ecx, 0x59f4eb3d
xor edx, edx
div ecx
and eax, 0x96a29720
add eax, 0x3c59cefe
imul eax, eax, 0xec669423
imul eax, eax, 0x71653892
add eax, 0xb005f259
or eax, 0xda5cedbf
sub eax, 0xdde2a536
and eax, 0xb2ead6a6
sub eax, 0x142f57e4
imul eax, eax, 0x71809dac
imul eax, eax, 0x43afa2a7
or eax, 0x441f0865
imul eax, eax, 0xc29ffcba
sub eax, 0xdf3824c3
sub eax, 0xbe3b0fb1
xor eax, 0x81977d22
imul eax, eax, 0xa2ba0c44
and eax, 0xca9140c9
and eax, 0xcb7013d6
imul eax, eax, 0xa6e509a9
mov ecx, 0x3265bbe6
xor edx, edx
div ecx
and eax, 0x11da191a
imul eax, eax, 0x82216283
or eax, 0x7c74d1bc
sub eax, 0x6d8db93d
and eax, 0x174fb702
xor eax, 0xb7f2b987
add eax, 0x2fd118ff
imul eax, eax, 0xb9b4bcd6
add eax, 0xacb1e421
imul eax, eax, 0xe4c83318
imul eax, eax, 0x22a7a47d
mov ecx, 0xed2797bc
xor edx, edx
div ecx
mov ecx, 0x69a6534f
xor edx, edx
div ecx
sub eax, 0xd5315b1c
or eax, 0x85e80895
add eax, 0x8754e303
sub eax, 0xcd614da0
imul eax, eax, 0x561d3046
or eax, 0x779f53f1
and eax, 0xf2bf11df
xor eax, 0x6ed25f65
or eax, 0x9a1d975c
add eax, 0xd431e78d
and eax, 0xb5247d8f
mov ecx, 0xffd1e8f2
xor edx, edx
div ecx
and eax, 0x3fcd8209
or eax, 0xb08ccb02
imul eax, eax, 0xa4bec6dc
xor eax, 0x51cf0d29
add eax, 0xdec1b72d
sub eax, 0xe6850216
and eax, 0x9cffa9da
and eax, 0x301b11b9
add eax, 0x2bd121e3
xor eax, 0x55fdcd27
and eax, 0x17871c1c
sub eax, 0x4c5c410
add eax, 0xf7df26bb
or eax, 0xdd5b6e3e
xor eax, 0x45cb522c
add eax, 0x7a78fb66
add eax, 0x3ba5b8e8
cmp eax, 0x8f03db8c
ja 0x1000739a
mov eax, dword [0x100d3628]
and eax, dword [0x100d362c]
or eax, 0x5effacc9
xor eax, 0x39be4206
imul eax, eax, 0x6336317d
xor eax, 0x35992e6d
add eax, 0x1d96e85f
xor eax, 0x78ef24f1
mov ecx, 0x1c014ec3
xor edx, edx
div ecx
or eax, 0x49e5dac1
xor eax, 0x1ec338d8
sub eax, 0xf9784dcf
and eax, 0xb48f38c1
mov ecx, 0x887078d9
xor edx, edx
div ecx
imul eax, eax, 0xd2b582c1
or eax, 0x3d97bf78
add eax, 0xc2b5a06a
sub eax, 0x964e72bb
and eax, 0x7e4c62a
add eax, 0xb809f2c9
xor eax, 0x22960f30
xor eax, 0xbd0d321
sub eax, 0x3d43bd17
imul eax, eax, 0x1bdfbb29
mov ecx, 0x52602c60
xor edx, edx
div ecx
add eax, 0xc0c620ee
sub eax, 0xb04f5a35
imul eax, eax, 0xbf71e78d
and eax, 0xc1cd7420
xor eax, 0xc3fe9611
or eax, 0x9433579d
xor eax, 0xa3a7cfd
xor eax, 0x95940733
imul eax, eax, 0x423923b9
imul eax, eax, 0x8f9999b
and eax, 0x280020b6
xor eax, 0x9f64ca78
imul eax, eax, 0x257de103
or eax, 0xcb4f3973
or eax, 0xfb3b7689
and eax, 0x97f4ec6a
or eax, 0xbadd3ac4
or eax, 0x8477554d
sub eax, 0x304cc026
and eax, 0x4bde0498
sub eax, 0x9d731d53
sub eax, 0x1b45a9bd
imul eax, eax, 0x2c0c7261
add eax, 0x4b90bea7
or eax, 0xc36db6f5
or eax, 0x2e45e53e
add eax, 0x68c32620
sub eax, 0xf72c94b1
add eax, 0xca801c72
or eax, 0xacb47c5c
xor eax, 0x44b47e89
add eax, 0x896beea6
or eax, 0x5b633cf7
and eax, 0xd1acca71
add eax, 0xf67771e2
add eax, 0x30f74f80
and eax, 0x2295b5d4
or eax, 0xb211ecf4
or eax, 0xfe2dbc1c
mov ecx, 0x3b29ae7b
xor edx, edx
div ecx
add eax, 0x4a418d5e
mov ecx, 0x4e69e56b
xor edx, edx
div ecx
or eax, 0x8d1ea747
sub eax, 0x3fb3ce17
sub eax, 0x8038120
xor eax, 0xf9d1dd35
sub eax, 0x1cf970bc
imul eax, eax, 0x597d8655
and eax, 0x2f2dccb7
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0xc]
mov ecx, 0xa
cdq
idiv ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
add eax, 0x30
mov dl, al
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov byte [eax + ecx], dl
mov eax, dword [ebp + 8]
mov ecx, 0xa
cdq
idiv ecx
add eax, dword [ebp - 0x18]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
mov ecx, 0xa
cdq
idiv ecx
mov ecx, eax
mov eax, dword [ebp - 0x28]
add ecx, dword [ebp - 0x18]
mov dword [ebp + 0xc], ecx
cmp eax, 0x2f3477
jbe 0x10006adc
jmp 0x10006cc8
mov eax, dword [0x100d3630]
and eax, dword [0x100d3634]
or eax, 0x688eb964
or eax, 0xd80ccc14
xor eax, 0xc2f36726
sub eax, 0x25eee288
add eax, 0x973f6679
add eax, 0xdf7aa9f
xor eax, 0x99bcbb26
or eax, 0x3f68ebef
sub eax, 0xa60fada3
add eax, 0xd882c64
mov ecx, 0x878e8df
xor edx, edx
div ecx
xor eax, 0x9139d4e5
or eax, 0x44f0e09a
imul eax, eax, 0x7b98c349
and eax, 0xb6b1ac99
mov ecx, 0x2e748f45
xor edx, edx
div ecx
sub eax, 0x1d4705c8
mov ecx, 0x129a4fa0
xor edx, edx
div ecx
sub eax, 0xdea6a550
sub eax, 0x7406719e
mov ecx, 0x625650a7
xor edx, edx
div ecx
imul eax, eax, 0x313d3ee3
add eax, 0x10e16fb7
and eax, 0xdad13608
xor eax, 0xc2a7f551
add eax, 0xefea37c9
and eax, 0x6fbd53f2
add eax, 0x12c4842c
sub eax, 0x7bb3e3b9
add eax, 0xb47605c4
and eax, 0x5137b3cf
mov ecx, 0xd7861f7f
xor edx, edx
div ecx
add eax, 0xd7014418
xor eax, 0x4f42cd0d
xor eax, 0x8fc1fa13
mov ecx, 0xba5f086f
xor edx, edx
div ecx
xor eax, 0xd652433e
imul eax, eax, 0x2570dfc1
and eax, 0x86bb282e
or eax, 0xcc784e1e
xor eax, 0xed384b21
sub eax, 0xd3fe8056
add eax, 0xefb3f2cc
xor eax, 0x31af36da
and eax, 0xcf87f76d
and eax, 0x225eca60
xor eax, 0xeeb0cd0c
sub eax, 0x3d6a4ef0
sub eax, 0x8f42786
and eax, 0xa121935e
sub eax, 0xade7351b
add eax, 0x70601773
add eax, 0xb1f06ef5
sub eax, 0x4033e453
sub eax, 0x5cd57864
sub eax, 0xe16175df
and eax, 0xd8d66985
imul eax, eax, 0x9ad0419
xor eax, 0xf7fb10a8
and eax, 0x316c45e5
sub eax, 0x6b7e04f
xor eax, 0x41004910
mov ecx, 0xdd0827cf
xor edx, edx
div ecx
add eax, 0x9bec3eda
or eax, 0x9542554e
imul eax, eax, 0x81971027
and eax, 0xcd4894ca
add eax, 0x269313e
add eax, 0xfabaf14f
mov ecx, 0x2f243d37
xor edx, edx
div ecx
imul eax, eax, 0x78e42887
or eax, 0xbc2a5331
cmp eax, 0xb924c5cd
jbe 0x100073e9
mov eax, dword [0x100d3638]
and eax, dword [0x100d363c]
add eax, 0x4b782830
add eax, 0x2298383d
or eax, 0x1c5616df
xor eax, 0x53489046
xor eax, 0xd5b1539f
and eax, 0x4719f304
imul eax, eax, 0x18f84159
imul eax, eax, 0xaffd065f
imul eax, eax, 0x25e863ad
imul eax, eax, 0xc858cf98
imul eax, eax, 0xf21db8af
mov ecx, 0x71604460
xor edx, edx
div ecx
and eax, 0x361e658
sub eax, 0x3d19108e
add eax, 0x27c10389
add eax, 0x594ec063
xor eax, 0x4ca8bd6d
and eax, 0x11747dcd
mov ecx, 0xa5bc63ea
xor edx, edx
div ecx
xor eax, 0xafe32f2c
imul eax, eax, 0x5a0537dd
imul eax, eax, 0x6c2efb98
and eax, 0x518b57f2
mov ecx, 0x135376ea
xor edx, edx
div ecx
imul eax, eax, 0x216c1901
xor eax, 0xf13edb55
add eax, 0x25e0c438
or eax, 0x79acd41f
imul eax, eax, 0x830fd997
sub eax, 0xb0709784
add eax, 0xce4ef4a4
or eax, 0xffbc7cdc
imul eax, eax, 0x2b4e62d8
and eax, 0x4f398d36
or eax, 0xcd56183
imul eax, eax, 0x88ca207c
and eax, 0x1e33db79
or eax, 0x1fc52286
imul eax, eax, 0x59f8350d
add eax, 0x835d1ad1
imul eax, eax, 0x91f6cbd9
or eax, 0x2b0e1bfb
or eax, 0x94e0a950
xor eax, 0xed65aa14
or eax, 0x2210e0df
imul eax, eax, 0x786b2b52
xor eax, 0x632104c8
or eax, 0xf3024585
mov ecx, 0x3bd7d615
xor edx, edx
div ecx
sub eax, 0xdb8d543b
add eax, 0x54b949b
mov ecx, 0x7f8b1167
xor edx, edx
div ecx
add eax, 0x48844ad1
or eax, 0x8aba3eb4
sub eax, 0x69f121ec
sub eax, 0x43f2e3ac
mov ecx, 0xf0059a1b
xor edx, edx
div ecx
imul eax, eax, 0xff1b17f8
xor eax, 0xe7a9c132
or eax, 0x6e5e351e
add eax, 0x2fbf4b3c
or eax, 0xf5c2fbe5
add eax, 0xe980fe36
and eax, 0x2febcd55
and eax, 0x1ccfadcf
add eax, 0xa41a2cd
xor eax, 0x789550aa
xor eax, 0xc73c226a
add eax, 0x28e32c53
mov ecx, 0x30766d78
xor edx, edx
div ecx
mov ecx, 0xa8229c25
xor edx, edx
div ecx
and eax, 0x4099fda5
cmp eax, 0x51ebc173
ja 0x100073e9
jmp 0x1000701e
mov eax, dword [0x100d3640]
sub eax, dword [0x100d3644]
and eax, 0x677d214a
sub eax, 0xc533e280
imul eax, eax, 0x741014a
and eax, 0x15f8b47e
mov ecx, 0xe5c75ed7
xor edx, edx
div ecx
or eax, 0xa21b245a
mov ecx, 0xaac813e0
xor edx, edx
div ecx
mov ecx, 0x93495809
xor edx, edx
div ecx
add eax, 0xebf8eefe
and eax, 0xc7d7a73a
add eax, 0xb970c43c
imul eax, eax, 0x3af2b368
xor eax, 0xb4d031e1
add eax, 0xb147eae5
add eax, 0xb2c21983
xor eax, 0xf5b90af
xor eax, 0x8ab11c8b
mov ecx, 0x617112d
xor edx, edx
div ecx
imul eax, eax, 0xe2a8d6f2
mov ecx, 0xe4696722
xor edx, edx
div ecx
sub eax, 0x6551b696
xor eax, 0xdf64bc4f
imul eax, eax, 0xb9f3dbbc
add eax, 0x37e01a90
sub eax, 0xb5b805fa
or eax, 0xcd8d70da
xor eax, 0x22869075
or eax, 0xae044438
or eax, 0x82849211
add eax, 0x5b879465
and eax, 0x678ad530
sub eax, 0x105bf790
and eax, 0xf46d11fc
imul eax, eax, 0x8ea6e873
mov ecx, 0xe0c3f2be
xor edx, edx
div ecx
imul eax, eax, 0x23b2e3fd
add eax, 0xc749d475
mov ecx, 0x74cdacac
xor edx, edx
div ecx
and eax, 0xd1da4383
sub eax, 0xb4090a64
mov ecx, 0x1a3a7e36
xor edx, edx
div ecx
or eax, 0xefdb4936
imul eax, eax, 0xbfdec044
add eax, 0x77ad289e
and eax, 0x9fdfd7d9
and eax, 0xb1a4360c
sub eax, 0x910cd927
xor eax, 0xde91f240
imul eax, eax, 0xf4c9a5dd
sub eax, 0xe7a4bc5e
sub eax, 0x20d86264
and eax, 0xeeb25a33
and eax, 0x23e3ed78
and eax, 0x80296f1f
sub eax, 0xdc137745
xor eax, 0xb999dbe1
add eax, 0xdacc4360
and eax, 0x868b9414
sub eax, 0xfa69a2f2
mov ecx, 0x7a68a36d
xor edx, edx
div ecx
mov ecx, 0x9f2d33f1
xor edx, edx
div ecx
or eax, 0xf9b780ec
sub eax, 0x5c0cc83b
xor eax, 0x1f5488c3
and eax, 0xa17a1b80
imul eax, eax, 0xc983f23b
imul eax, eax, 0xf36f65ec
xor eax, 0x2ad01d46
and eax, 0x6d3e0797
mov ecx, 0xe2da353
xor edx, edx
div ecx
add eax, 0x2e25c08f
xor eax, 0xb5714f06
cmp eax, 0x6503db56
jbe 0x100073ee
mov eax, dword [0x100d3648]
xor eax, dword [0x100d364c]
or eax, 0xf309c5f6
add eax, 0x6e2368e0
xor eax, 0x3da490fe
add eax, 0xef3bfc93
mov ecx, 0x78e4474e
xor edx, edx
div ecx
sub eax, 0xdec4cfcf
imul eax, eax, 0xfe11a7e4
sub eax, 0xa6b89ce
sub eax, 0x87b2e67
mov ecx, 0xb771f79f
xor edx, edx
div ecx
and eax, 0xcc9df50d
or eax, 0xf13fdb92
and eax, 0x39758d48
xor eax, 0x560381af
mov ecx, 0xfa1aa415
xor edx, edx
div ecx
add eax, 0x2dafe78b
xor eax, 0xb86f2458
or eax, 0xd232c3ae
or eax, 0x6fecf82f
add eax, 0x28ebe20b
and eax, 0xa5927910
add eax, 0xee4e4c72
imul eax, eax, 0x3e44273a
or eax, 0xb6905b0c
or eax, 0xab3ad663
add eax, 0x34eab302
or eax, 0x9504fb4e
xor eax, 0x541ce4b7
sub eax, 0x336cc9fa
or eax, 0x3e60b20b
and eax, 0xbca672c9
xor eax, 0xaed1a871
imul eax, eax, 0xb271a9ee
and eax, 0x8e90f30d
imul eax, eax, 0xc22528b1
add eax, 0xf4f6f0d3
or eax, 0xb717d9ad
imul eax, eax, 0xaf8d6525
or eax, 0x3b585d0
and eax, 0xece524da
xor eax, 0xb0134199
or eax, 0x4688f098
sub eax, 0x682d28c1
and eax, 0xf5e48f5e
mov ecx, 0xc18a946e
xor edx, edx
div ecx
xor eax, 0x129ba3fe
mov ecx, 0xb66a0282
xor edx, edx
div ecx
or eax, 0x91d553be
mov ecx, 0x47784324
xor edx, edx
div ecx
imul eax, eax, 0xd2837a89
imul eax, eax, 0x2b2e2c94
imul eax, eax, 0x42cdb9a6
or eax, 0xd76990da
mov ecx, 0x235680f8
xor edx, edx
div ecx
imul eax, eax, 0x31560877
or eax, 0xa296eca0
sub eax, 0xc325cf4b
or eax, 0xcd8b3c27
sub eax, 0xed46fcb6
xor eax, 0x9424398e
xor eax, 0xe4169cf5
mov ecx, 0x5bbf091f
xor edx, edx
div ecx
add eax, 0xf773fe25
imul eax, eax, 0xca2781a2
add eax, 0xd21ca275
sub eax, 0x642de093
or eax, 0x9fb174df
xor eax, 0xfa0deab7
xor eax, 0x8f8ca07e
and eax, 0x12f54ed1
sub eax, 0x395f1a5b
and eax, 0xdee06785
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
cmp eax, 0x27be4f15
je 0x100073ee
jmp 0x10006867
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 8]
add esp, 0x2c
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
add eax, ecx
mov ecx, 0xa
cdq
idiv ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
add eax, 0x30
mov dl, al
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov byte [eax + ecx], dl
mov eax, dword [ebp + 8]
mov ecx, 0xa
cdq
idiv ecx
mov ecx, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
mov ecx, 0xa
cdq
idiv ecx
mov ecx, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp + 0xc], eax
jmp 0x10006adc
jmp 0x10006e6c
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x100071d2