Function at 0x10071180
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x14
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp dword [eax], 0
je 0x1007188b
mov eax, dword [0x100d53a0]
xor edx, edx
div dword [0x100d53a4]
imul eax, eax, 0x410ce362
add eax, 0xe057859
or eax, 0x1b02e974
add eax, 0x2d2c7e87
imul eax, eax, 0x211c3327
sub eax, 0x39433a6e
or eax, 0xbffde881
and eax, 0xa027bc6d
xor eax, 0x65c97c00
xor eax, 0x6206a2cc
and eax, 0xe71a35de
or eax, 0x2b59bc34
xor eax, 0xab6ce6a
and eax, 0xcc159686
or eax, 0xdebe6050
and eax, 0x29b7f3b9
mov ecx, 0xf93a2266
xor edx, edx
div ecx
sub eax, 0xac96e671
sub eax, 0x9ca1358
xor eax, 0x7f90e20
add eax, 0x32685f0f
or eax, 0x8afa607f
xor eax, 0x8d5166a8
mov ecx, 0x642133ea
xor edx, edx
div ecx
or eax, 0x54f342e6
mov ecx, 0x84084219
xor edx, edx
div ecx
add eax, 0xcbb13c89
imul eax, eax, 0xcd378c27
imul eax, eax, 0x852ec852
imul eax, eax, 0x3c084921
sub eax, 0x15223535
xor eax, 0xa9695e08
sub eax, 0xbcf210a5
or eax, 0x4ad8d590
sub eax, 0x726d53bd
add eax, 0xc3120bdb
imul eax, eax, 0x5ae530aa
mov ecx, 0x37fcf52d
xor edx, edx
div ecx
or eax, 0xf86d4cfa
sub eax, 0xbd5752e8
sub eax, 0x4b26c4a
add eax, 0x48d2a75a
imul eax, eax, 0x10b17256
xor eax, 0xe16ead29
sub eax, 0xb509b8ca
or eax, 0xf3f21c94
imul eax, eax, 0x1880f720
sub eax, 0x1f25b63a
or eax, 0x96c39d62
and eax, 0x978634b8
or eax, 0x75a5603b
imul eax, eax, 0x95619d5d
sub eax, 0x11ed73f5
mov ecx, 0xa2c5b4fc
xor edx, edx
div ecx
add eax, 0xc6233884
sub eax, 0x927aa3d5
xor eax, 0xaeb42a3d
and eax, 0x9a36bf7c
xor eax, 0xf32f49a7
sub eax, 0x90f73dd2
sub eax, 0xe1416dcb
add eax, 0x49d4c567
xor eax, 0xe7f43bc5
xor eax, 0xf8394719
mov ecx, 0x88fae431
xor edx, edx
div ecx
mov ecx, 0x9d790e64
xor edx, edx
div ecx
and eax, 0xc2f79ea7
xor eax, 0x3d1a6cd8
or eax, 0xc0c32091
or eax, 0xe3ee6dac
add eax, 0x3c5f709f
sub eax, 0x99430ade
cmp eax, 0xdaf241e7
je 0x10071c04
mov eax, dword [0x100d53a8]
xor eax, dword [0x100d53ac]
or eax, 0x5bbcff3d
sub eax, 0xf8ee51e1
mov ecx, 0x464396d1
xor edx, edx
div ecx
sub eax, 0x5b1e9ef5
xor eax, 0xe939b766
sub eax, 0xf7d4674a
and eax, 0x76e0720
and eax, 0x7f02af86
sub eax, 0x162f63fd
imul eax, eax, 0x87822707
mov ecx, 0x5fc7569d
xor edx, edx
div ecx
imul eax, eax, 0x82abdb49
xor eax, 0x988fb7ef
or eax, 0x4378839b
mov ecx, 0x2d00a0d2
xor edx, edx
div ecx
sub eax, 0x98dd68d7
xor eax, 0x9dbd067f
mov ecx, 0x18d02115
xor edx, edx
div ecx
sub eax, 0x888e75cd
sub eax, 0x8ec84a30
sub eax, 0xbf00a757
and eax, 0xf55b697f
xor eax, 0x72637185
sub eax, 0x26f25e9f
add eax, 0xdf6b9e88
xor eax, 0x10f304ab
sub eax, 0xb9dfcd01
and eax, 0x3d9c1e73
mov ecx, 0xdd07fe17
xor edx, edx
div ecx
mov ecx, 0x62ec91ce
xor edx, edx
div ecx
add eax, 0xfeaa0625
sub eax, 0xcc851945
and eax, 0x245700a6
imul eax, eax, 0x5cbc7b72
sub eax, 0xa0edbdf5
xor eax, 0x964f6f0d
or eax, 0x10c5db0f
mov ecx, 0x3e38656c
xor edx, edx
div ecx
and eax, 0x46356f8b
mov ecx, 0x248480a2
xor edx, edx
div ecx
imul eax, eax, 0xc8ad9da9
and eax, 0xc8a56ec
sub eax, 0x4d86d950
or eax, 0xbfe44a70
sub eax, 0x6153f745
mov ecx, 0x925a185c
xor edx, edx
div ecx
imul eax, eax, 0xdfa926f2
and eax, 0x1b7f7a93
sub eax, 0xe2c2b22a
add eax, 0x16d9fcba
or eax, 0xa7fb158d
mov ecx, 0x13a50b4b
xor edx, edx
div ecx
xor eax, 0x5f750a45
mov ecx, 0xcb5db2a1
xor edx, edx
div ecx
sub eax, 0x40f6f4a6
mov ecx, 0xf96cc489
xor edx, edx
div ecx
or eax, 0xe1d77cac
add eax, 0x72e9fcd3
sub eax, 0x9a3b9d1c
imul eax, eax, 0x36e47b12
xor eax, 0xd5355399
xor eax, 0xf68dfa56
add eax, 0x3e703740
and eax, 0x84c0743e
and eax, 0xf4772032
add eax, 0x7bc1a218
add eax, 0x5c25336d
or eax, 0x266822e2
sub eax, 0xa732953f
sub eax, 0x7bd38b22
imul eax, eax, 0xc1f8ba1d
and eax, 0x1a234186
mov dword [ebp - 0xc], 0
cmp eax, 0x8c82620d
ja 0x10071c04
jmp 0x100714ff
mov eax, dword [0x100d53b0]
xor eax, dword [0x100d53b4]
imul eax, eax, 0x5eebddd
imul eax, eax, 0x2099bfb5
xor eax, 0xfc533457
imul eax, eax, 0x21228efc
xor eax, 0x7c9771eb
xor eax, 0x68ac4f4d
xor eax, 0x6fc33161
or eax, 0x80742daf
add eax, 0xd1141e3
imul eax, eax, 0x6dd476f0
sub eax, 0x4126cd7e
imul eax, eax, 0x636ecea7
add eax, 0x4dff1f13
sub eax, 0x8bb91eb4
sub eax, 0xe015628b
imul eax, eax, 0xca3a128f
or eax, 0xe93f4437
and eax, 0x5e95680f
mov ecx, 0x22ddb16f
xor edx, edx
div ecx
and eax, 0x79bd3929
sub eax, 0x87e05d3a
imul eax, eax, 0x652e61b6
sub eax, 0xc2b7159b
imul eax, eax, 0xab63beb3
xor eax, 0xf7e9f61b
xor eax, 0x198e0718
imul eax, eax, 0xdcea2ae1
or eax, 0x85162540
and eax, 0x6eaeebba
add eax, 0x26d243bc
add eax, 0x6e434002
or eax, 0x9e187db3
imul eax, eax, 0xfde0fe6f
sub eax, 0x96d13a70
or eax, 0xeb6f7f01
mov ecx, 0x72670e87
xor edx, edx
div ecx
sub eax, 0xdb335521
xor eax, 0x33c41f0e
xor eax, 0x6a4158d0
imul eax, eax, 0x2f1263d9
imul eax, eax, 0x4c117f22
and eax, 0x570389bb
mov ecx, 0x2adbdfdd
xor edx, edx
div ecx
and eax, 0x305990dd
sub eax, 0xe5ab8654
imul eax, eax, 0x67fc1903
add eax, 0xceaab0a4
imul eax, eax, 0xa2e14612
mov ecx, 0x3286253a
xor edx, edx
div ecx
and eax, 0xb430b366
add eax, 0xe4754d42
and eax, 0x39b04d14
sub eax, 0xebc8920e
add eax, 0x1cfe7200
sub eax, 0xf802819f
add eax, 0xd023d660
imul eax, eax, 0x48701aa6
add eax, 0x54b9a624
or eax, 0x35c73fd
add eax, 0x328e9301
xor eax, 0xf5eed05b
or eax, 0x12c80b33
mov ecx, 0x282aaec7
xor edx, edx
div ecx
imul eax, eax, 0xe71e6e29
add eax, 0x4e71a769
imul eax, eax, 0x2edd3ab8
or eax, 0x1eb4e2af
add eax, 0xd5202eb
and eax, 0x1560781a
or eax, 0x26878f6a
sub eax, 0x9b09b994
mov ecx, 0xefdc75c2
xor edx, edx
div ecx
cmp eax, 0x824f2f96
je 0x10071c10
mov eax, dword [0x100d53b8]
xor eax, dword [0x100d53bc]
mov ecx, 0x3b666c91
xor edx, edx
div ecx
and eax, 0x56f22d88
sub eax, 0x7bfbc28c
imul eax, eax, 0xad94327c
xor eax, 0x9840dd99
add eax, 0x1f50b7aa
sub eax, 0xb5e5398f
imul eax, eax, 0xddbafa4b
xor eax, 0xa0b7cac7
or eax, 0xb8d5223d
add eax, 0xfe9d0bba
and eax, 0x9d185288
add eax, 0x4ddf2f66
or eax, 0xbdd5406
imul eax, eax, 0x7f6230dd
or eax, 0x4830a46f
or eax, 0x2865a0de
xor eax, 0xc40ac9ed
xor eax, 0xda263f08
mov ecx, 0xd753a19e
xor edx, edx
div ecx
and eax, 0x470bbd30
sub eax, 0xcd79192b
mov ecx, 0x95cdb249
xor edx, edx
div ecx
sub eax, 0x4c826669
sub eax, 0x8e6c32c1
xor eax, 0xb1cb4707
xor eax, 0x7ef82b94
mov ecx, 0x970cb5b3
xor edx, edx
div ecx
add eax, 0xbff46d21
sub eax, 0x6726485f
mov ecx, 0xc3ccefb1
xor edx, edx
div ecx
xor eax, 0xd2478d53
or eax, 0xf6993e01
imul eax, eax, 0x471bb4fe
and eax, 0x10df6780
xor eax, 0x33c9db0e
or eax, 0xf0b3590
xor eax, 0xcae8df80
sub eax, 0x80d873ce
and eax, 0xdfd35cee
imul eax, eax, 0xaff5c07e
sub eax, 0xc4692555
imul eax, eax, 0xc6442168
or eax, 0x7c19b65f
sub eax, 0x3c58ad7f
and eax, 0xbbc4db77
add eax, 0x7061adee
and eax, 0x43b344d7
add eax, 0xd74da954
add eax, 0x82d48755
imul eax, eax, 0x56bb8146
sub eax, 0x87dc454f
add eax, 0xc7d5d4f5
xor eax, 0xc0aaa6b6
or eax, 0x63c46e07
add eax, 0xc9e2f303
or eax, 0x61daed1e
mov ecx, 0x2dff2200
xor edx, edx
div ecx
mov ecx, 0xa4f58abe
xor edx, edx
div ecx
mov edx, dword [ebp - 0x10]
and eax, 0x4b53aa86
add eax, 0x2908bd97
or eax, 0xd82edda6
sub eax, 0xf795deba
and eax, 0x807c5c3e
add eax, 0x5610e3d8
add eax, 0x202b5af1
sub eax, 0xee4b41d0
imul eax, eax, 0xaeffe14a
and eax, 0x7034baff
add eax, 0x47b02c65
xor eax, 0x287e4a85
xor eax, 0x8dbeb60c
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [edx + 4]
setl cl
mov byte [ebp - 0x11], cl
cmp eax, 0x8f17e24
jb 0x10071c10
mov al, byte [ebp - 0x11]
test al, 1
jne 0x10071867
jmp 0x10071875
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x100714ff
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.1009cf5f
mov eax, dword [ebp - 0x10]
mov dword [eax], 0
mov eax, dword [0x100d53c0]
xor edx, edx
div dword [0x100d53c4]
sub eax, 0x141d1f11
sub eax, 0x3f834e21
mov ecx, 0x7d4bb5c2
xor edx, edx
div ecx
imul eax, eax, 0x8905f57a
xor eax, 0xd55a1f8a
imul eax, eax, 0x490bd8ac
sub eax, 0xfe65311a
xor eax, 0xa3149dcc
imul eax, eax, 0x9e27fec3
imul eax, eax, 0x6d6164a6
mov ecx, 0xfb21592e
xor edx, edx
div ecx
and eax, 0x97cb7bb4
mov ecx, 0xd26d334d
xor edx, edx
div ecx
or eax, 0xbdfd1ec6
mov ecx, 0xc99cb049
xor edx, edx
div ecx
or eax, 0xc045ca16
add eax, 0xf78d002d
and eax, 0x3ef5a549
sub eax, 0x3bb0e68a
or eax, 0x8a23f08c
and eax, 0x60d9e33d
xor eax, 0xcbde34a
xor eax, 0x3b0f1ec2
xor eax, 0x6090c026
xor eax, 0xb22fc4ec
add eax, 0xc98f8532
imul eax, eax, 0x7bc1d212
or eax, 0xd4b8bcdc
xor eax, 0xae84dabf
imul eax, eax, 0x516fd405
add eax, 0x55fd2847
add eax, 0xa61dabbb
or eax, 0xed6220cc
imul eax, eax, 0xc2e68ff
mov ecx, 0x1f3c5300
xor edx, edx
div ecx
or eax, 0xff221582
xor eax, 0x86c4dd14
sub eax, 0xa141f4f
or eax, 0x51dabe11
or eax, 0x1474b451
add eax, 0x45baf03e
and eax, 0x5b1a8c6d
add eax, 0x45cf252f
mov ecx, 0xb230c062
xor edx, edx
div ecx
imul eax, eax, 0xe2cebd36
add eax, 0x6f2189f4
add eax, 0x330038fc
add eax, 0xd123ddee
or eax, 0x9a94dfb6
add eax, 0x400cc1fb
sub eax, 0xe80e40b5
add eax, 0xfbe5f7cf
imul eax, eax, 0x157c6363
sub eax, 0x874bc069
add eax, 0xfc8284c
or eax, 0xd2b71235
and eax, 0xcf94dd95
add eax, 0x8eb56602
mov ecx, 0xf61f2498
xor edx, edx
div ecx
mov ecx, 0x9ee7781b
xor edx, edx
div ecx
or eax, 0xb06e3d7a
and eax, 0x6fa5bc13
and eax, 0x1f972f36
mov ecx, 0x4e6b0824
xor edx, edx
div ecx
add eax, 0xa33a8b42
imul eax, eax, 0x99a299f6
xor eax, 0xa1c4fa16
imul eax, eax, 0x1415d7f
add eax, 0x90634f03
add eax, 0xff0fd980
mov ecx, 0x7e9b4a34
xor edx, edx
div ecx
and eax, 0x52e8aa21
cmp eax, 0x692f2537
jae 0x10071c15
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x100d53c8]
and eax, dword [0x100d53cc]
imul eax, eax, 0x125e1be5
and eax, 0x45cf0078
sub eax, 0x2e731962
add eax, 0x2846b3d4
and eax, 0x7fdcf616
xor eax, 0x58253226
and eax, 0x53e2c9b9
add eax, 0xc96f3a31
mov esi, 0xb639c5b5
xor edx, edx
div esi
mov esi, 0xf5626cf3
xor edx, edx
div esi
mov esi, 0xcc242da7
xor edx, edx
div esi
sub eax, 0x41752f08
mov esi, 0xae37e245
xor edx, edx
div esi
and eax, 0xfa7542be
xor eax, 0x58bba130
imul eax, eax, 0x17e6cb72
xor eax, 0xaa6b7f9b
add eax, 0xc5d5fa0a
add eax, 0xc88f71db
sub eax, 0x3e79bde7
mov esi, 0x4cf49d57
xor edx, edx
div esi
or eax, 0xafd8dc25
imul eax, eax, 0xf41253c5
add eax, 0x437bf20b
imul eax, eax, 0x2d013054
imul eax, eax, 0x965705e9
imul eax, eax, 0x5e3f506f
and eax, 0xc5eda44b
or eax, 0x859d3a78
or eax, 0xedbe2b34
sub eax, 0x2f163435
and eax, 0x607a4534
xor eax, 0xfebf591d
mov esi, 0x846cfd9a
xor edx, edx
div esi
sub eax, 0x7d7b70fb
add eax, 0xd853c711
and eax, 0xbb4b9ac8
xor eax, 0xc8c1901e
or eax, 0xfd0bbb6e
mov esi, 0xad45cc14
xor edx, edx
div esi
imul eax, eax, 0x72844622
imul eax, eax, 0x2bfb8c0e
and eax, 0xe61c735
xor eax, 0x610fd616
and eax, 0x33ec9718
add eax, 0x489c8272
or eax, 0xf050c183
sub eax, 0x81fbe94d
sub eax, 0x68e43541
or eax, 0x1686ee84
xor eax, 0x81e7ec49
sub eax, 0xc8331808
sub eax, 0x7d2cb742
imul eax, eax, 0xfea4a4a1
and eax, 0xe2fccac5
or eax, 0xd4d59df
sub eax, 0xec3fbd73
and eax, 0xc79e5a1d
xor eax, 0x1af74d26
xor eax, 0x541b764c
mov esi, 0x1d212885
xor edx, edx
div esi
add eax, 0x31242159
sub eax, 0x576b4878
sub eax, 0x5e7b855e
mov esi, 0x4012667c
xor edx, edx
div esi
sub eax, 0x6abd58d1
or eax, 0x74251a16
sub eax, 0xdbccbe6f
and eax, 0xc4f70d83
and eax, 0x73e095fd
or eax, 0x763072d5
mov esi, 0x1401f25
xor edx, edx
div esi
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
cmp eax, 0xced53f34
je 0x10071a3e
add esp, 0x14
pop esi
pop ebp
ret
mov dword [ebp - 0xc], 0
jmp 0x1007133e
jmp 0x100716a6
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x10071a3e