Function at 0x1006f7e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [ebp + 8], 0
jne 0x1006fb6b
mov eax, dword [0x100d52a0]
imul eax, dword [0x100d52a4]
and eax, 0xe661120d
imul eax, eax, 0x5489fb94
and eax, 0xe242f15b
imul eax, eax, 0x77fbf3a8
xor eax, 0x6a6f055
sub eax, 0xa61b607e
imul eax, eax, 0x6e46449f
mov ecx, 0x4cf113e7
xor edx, edx
div ecx
mov ecx, 0x5948bd06
xor edx, edx
div ecx
xor eax, 0xee563f2c
or eax, 0x110f51a3
imul eax, eax, 0xc20abb94
xor eax, 0xe6e05cbe
and eax, 0x25b04f26
sub eax, 0x764dba77
and eax, 0xaf282925
imul eax, eax, 0xa38d115b
add eax, 0xdf8c1106
imul eax, eax, 0xe1d6002d
imul eax, eax, 0x1726d318
and eax, 0x33906b99
imul eax, eax, 0xe6417fbe
add eax, 0xc1fbc8ce
imul eax, eax, 0xf286feba
imul eax, eax, 0x1f21768c
imul eax, eax, 0x533a15d7
add eax, 0x8c112e0e
xor eax, 0xd7a601e4
xor eax, 0xa9fc6a72
mov ecx, 0x6fcaa1d6
xor edx, edx
div ecx
mov ecx, 0xecbd85cf
xor edx, edx
div ecx
xor eax, 0x887f747f
imul eax, eax, 0xe1e6bdcd
add eax, 0x46ed64fa
imul eax, eax, 0x714a7c61
mov ecx, 0xf34484e5
xor edx, edx
div ecx
sub eax, 0x3ad97ec2
xor eax, 0x6f4e0204
imul eax, eax, 0x16d983a8
mov ecx, 0x2b8e178
xor edx, edx
div ecx
mov ecx, 0x7de51ec0
xor edx, edx
div ecx
imul eax, eax, 0x52f55be1
mov ecx, 0xe75d992f
xor edx, edx
div ecx
mov ecx, 0xdc7e0ff8
xor edx, edx
div ecx
or eax, 0xc1fab433
xor eax, 0x136583ba
imul eax, eax, 0xb293ee33
mov ecx, 0xea10afc2
xor edx, edx
div ecx
xor eax, 0xca4b8da3
xor eax, 0x184e6605
sub eax, 0xec80c1b0
sub eax, 0x177e9185
add eax, 0xa2b9bc43
sub eax, 0x8e0a1b2e
xor eax, 0xd17b1029
imul eax, eax, 0x95e77fee
and eax, 0x85794868
and eax, 0x64b2ab56
mov ecx, 0xfb29f50e
xor edx, edx
div ecx
or eax, 0x5cc37477
or eax, 0x97fb8861
mov ecx, 0x4115654f
xor edx, edx
div ecx
sub eax, 0xe51ecfde
xor eax, 0x90f0618d
and eax, 0x1ffa6545
mov ecx, 0xfc501322
xor edx, edx
div ecx
add eax, 0x8f6c5988
sub eax, 0x6a70472
imul eax, eax, 0x7e0f1e01
xor eax, 0x26502bbf
sub eax, 0xc16560bb
sub eax, 0x94754420
cmp eax, 0x60ff5da1
ja 0x1007025e
mov eax, dword [0x100d52a8]
and eax, dword [0x100d52ac]
add eax, 0xb6c7d74e
or eax, 0xf054d27a
mov ecx, 0xb474c2e
xor edx, edx
div ecx
xor eax, 0x930e81
imul eax, eax, 0x72743f54
imul eax, eax, 0xe53e35ca
mov ecx, 0xa3e9ca58
xor edx, edx
div ecx
sub eax, 0x94e8ae6c
or eax, 0xd5f81134
imul eax, eax, 0x81d2dab6
and eax, 0xea6a4d
sub eax, 0x5e8820fd
mov ecx, 0xc99645c4
xor edx, edx
div ecx
xor eax, 0xede1bf50
imul eax, eax, 0xe2789618
or eax, 0x3f897806
or eax, 0xd251dcd
xor eax, 0xc812f957
imul eax, eax, 0xefb12b6b
sub eax, 0x14fc1ab9
xor eax, 0xcae5b2f9
or eax, 0xe119013
xor eax, 0xa6ec49f3
mov ecx, 0xee174956
xor edx, edx
div ecx
or eax, 0x7c00667a
mov ecx, 0xe595c4e2
xor edx, edx
div ecx
xor eax, 0x876b79df
sub eax, 0x85e17242
sub eax, 0x7ba6e71a
xor eax, 0x28cd8675
and eax, 0xdfcbf9de
xor eax, 0xe0ee392f
sub eax, 0xdf31177d
or eax, 0x151a7d84
or eax, 0x7dd29b57
xor eax, 0x46a72e19
or eax, 0xed1f7fb9
sub eax, 0x4b537742
add eax, 0xdeca3000
and eax, 0xec29b567
or eax, 0x346a198
imul eax, eax, 0x4c763e29
add eax, 0xa0d7e90e
or eax, 0x52e60ac9
imul eax, eax, 0x90bf5a7a
sub eax, 0xb3030ce
or eax, 0xbfe6bb82
add eax, 0x648dff2d
xor eax, 0x4b21497e
xor eax, 0x293aa8db
sub eax, 0x5c638016
imul eax, eax, 0xae5cfa1f
imul eax, eax, 0x4f73a899
sub eax, 0xcfe373a7
sub eax, 0xef521222
mov ecx, 0xe448eaef
xor edx, edx
div ecx
add eax, 0xe9831232
and eax, 0x4704aceb
and eax, 0x8c282457
and eax, 0xab15b875
or eax, 0x5cc6363f
mov ecx, 0x848c0816
xor edx, edx
div ecx
mov ecx, 0x127d56a7
xor edx, edx
div ecx
and eax, 0x25929280
sub eax, 0x455cdc69
sub eax, 0xb00775c5
and eax, 0x17c5d0a5
xor eax, 0x1cb396f9
sub eax, 0xc5635988
add eax, 0x30d2bfa2
or eax, 0x780b67d8
or eax, 0xc1af60a8
mov dword [ebp - 4], 0x80070057
cmp eax, 0xacefd034
jbe 0x1007025e
jmp 0x1006ff0b
mov eax, dword [ebp + 8]
cmp dword [eax], 0x2c
je 0x1006fb83
mov dword [ebp - 4], 0x80070057
jmp 0x1006ff0b
mov eax, dword [ebp + 8]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.1006dd40
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jge 0x1006ff05
mov eax, dword [0x100d52b0]
sub eax, dword [0x100d52b4]
xor eax, 0x770278f4
mov ecx, 0x62f0cfe4
xor edx, edx
div ecx
mov ecx, 0x1e1d925b
xor edx, edx
div ecx
sub eax, 0x2185ff
mov ecx, 0xb4076dd3
xor edx, edx
div ecx
and eax, 0x86c2b876
sub eax, 0x26c5eb27
or eax, 0x2e1c341d
imul eax, eax, 0x2d5a746b
sub eax, 0x406cec2c
add eax, 0xcbdd85e
mov ecx, 0x6c6f4836
xor edx, edx
div ecx
or eax, 0xeed53161
and eax, 0x78e830b9
sub eax, 0x6559d542
xor eax, 0x745383dd
sub eax, 0xf2df3d33
or eax, 0x4ab1561e
imul eax, eax, 0xca94d204
mov ecx, 0xfe956d9
xor edx, edx
div ecx
mov ecx, 0x2937bc36
xor edx, edx
div ecx
imul eax, eax, 0x5bfbd811
add eax, 0x5ffde4ae
sub eax, 0xb7c7ea29
and eax, 0x37aac489
imul eax, eax, 0xa3e435cc
mov ecx, 0xee85aa32
xor edx, edx
div ecx
mov ecx, 0x37e9c67
xor edx, edx
div ecx
and eax, 0xacc72665
and eax, 0xe807ecb4
mov ecx, 0x68824f0f
xor edx, edx
div ecx
xor eax, 0xe32e3ff7
and eax, 0x60560ff1
mov ecx, 0x412325b2
xor edx, edx
div ecx
or eax, 0xfa530ce8
sub eax, 0x752f66ee
mov ecx, 0xeba9c77f
xor edx, edx
div ecx
mov ecx, 0x2ffa2878
xor edx, edx
div ecx
imul eax, eax, 0xe7e346e7
or eax, 0xd12c78d
sub eax, 0xc07970c1
xor eax, 0xcf9f7c2
add eax, 0x8e8c68a1
sub eax, 0xeb195a70
add eax, 0x6988a534
xor eax, 0x70c6193d
and eax, 0x4517147
xor eax, 0xafd9144
xor eax, 0xfe9e95b5
sub eax, 0x36ce3475
or eax, 0xa34e6d2c
add eax, 0xd49fc99
add eax, 0x54665b83
and eax, 0xc3b2e57e
xor eax, 0x6a0807f3
add eax, 0x6f8be0d
mov ecx, 0xbf54a9c6
xor edx, edx
div ecx
sub eax, 0x71c303cd
sub eax, 0x33b47268
xor eax, 0xeaad1b05
imul eax, eax, 0x27bc5f2e
xor eax, 0x423639f4
sub eax, 0x75cd0595
xor eax, 0x27477a5d
sub eax, 0x43d1d485
sub eax, 0x142760c3
xor eax, 0x27682fea
add eax, 0x59b5d8d
imul eax, eax, 0x24ab70ab
imul eax, eax, 0xb0f26e29
xor eax, 0x1b1d2e0e
add eax, 0x510e3530
cmp eax, 0x1cc35b5f
je 0x1007026a
mov eax, dword [0x100d52b8]
sub eax, dword [0x100d52bc]
and eax, 0xc7faa981
xor eax, 0x2845b15b
imul eax, eax, 0xeb65e2de
or eax, 0x75ba6ff4
sub eax, 0x5f9da943
imul eax, eax, 0x9c13eec
or eax, 0xed9046c2
add eax, 0xa88db71e
imul eax, eax, 0xe627b808
sub eax, 0xe001224
or eax, 0x90ba06e1
sub eax, 0x91f4a87d
imul eax, eax, 0x7b558273
xor eax, 0x171ced61
or eax, 0xfce6a890
sub eax, 0x9f81f195
sub eax, 0x6c1a4e8d
or eax, 0x6528a71
imul eax, eax, 0x45c57533
imul eax, eax, 0xc8cbca47
add eax, 0xe04f97b6
mov ecx, 0xc7f76746
xor edx, edx
div ecx
sub eax, 0x60925f41
xor eax, 0x3c8b6a3
imul eax, eax, 0x90621e12
add eax, 0x9ed5b4
xor eax, 0x5189f4d5
xor eax, 0xa09729d0
add eax, 0x66ab9e86
add eax, 0x23b0b028
or eax, 0x6d22c07f
add eax, 0xea06e221
xor eax, 0x4552047c
imul eax, eax, 0x8acb6fdb
mov ecx, 0x288cfa55
xor edx, edx
div ecx
or eax, 0x33a1aa4e
imul eax, eax, 0xfcc45fab
and eax, 0xc2d0fe4c
or eax, 0x46e2ca90
add eax, 0x7cdb3a50
xor eax, 0x9423a108
imul eax, eax, 0x222ecbd2
sub eax, 0x440e0bf1
sub eax, 0x8155176f
add eax, 0x8f08f24e
or eax, 0xbb9bfe8e
add eax, 0x3239a25e
and eax, 0xfbc4a99
sub eax, 0xec13e231
mov ecx, 0x825be06b
xor edx, edx
div ecx
mov ecx, 0x7cfd77d6
xor edx, edx
div ecx
sub eax, 0xb26dcfc3
sub eax, 0x1bf7764f
xor eax, 0xd523d3d1
and eax, 0xffc51f93
sub eax, 0x71d91871
imul eax, eax, 0x26986c41
sub eax, 0x69db4b68
add eax, 0x6eb45837
mov ecx, 0xd9abfac
xor edx, edx
div ecx
xor eax, 0x47141971
and eax, 0x596d85f
xor eax, 0xe917e456
imul eax, eax, 0x3f4cc62c
or eax, 0xa6c20239
imul eax, eax, 0xb2167fe8
xor eax, 0x1f885130
or eax, 0x41f0f061
xor eax, 0x31383bc6
imul eax, eax, 0x656b0a49
and eax, 0xccfb53c4
imul eax, eax, 0x3e29a4ad
cmp eax, 0x15786dcd
jb 0x1006fd5f
jmp 0x1006ff05
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [0x100d52c0]
sub eax, dword [0x100d52c4]
or eax, 0x225faa3
imul eax, eax, 0x564a9348
mov ecx, 0x3bb91e24
xor edx, edx
div ecx
imul eax, eax, 0x9dc19424
add eax, 0x7b2cd25a
add eax, 0xe80182a1
imul eax, eax, 0xd49cd07
sub eax, 0xc682e7ef
and eax, 0x6c62df71
imul eax, eax, 0x19f547e6
imul eax, eax, 0xc9169e24
add eax, 0x87296eef
sub eax, 0x5241d930
add eax, 0xcbf1c5a3
mov ecx, 0x2a3d4597
xor edx, edx
div ecx
or eax, 0xce954afb
mov ecx, 0x12e7c001
xor edx, edx
div ecx
add eax, 0x14909ba5
and eax, 0xe6f4b35
imul eax, eax, 0x42af532f
or eax, 0x59b3a0c8
and eax, 0x6d69396c
mov ecx, 0x29916ae0
xor edx, edx
div ecx
or eax, 0x651397bb
and eax, 0x77ce0218
and eax, 0xb51cb12
or eax, 0xd92d7e3
or eax, 0x6299f8c9
add eax, 0xfdfd7e9d
or eax, 0x939b70cc
and eax, 0xe0a1597d
or eax, 0x9b88fa68
mov ecx, 0x5a2cf81e
xor edx, edx
div ecx
and eax, 0xc386545c
add eax, 0xd69c38fc
or eax, 0x1ea3297b
and eax, 0x6ae534b3
mov ecx, 0x6255ccbe
xor edx, edx
div ecx
add eax, 0xe6a2bbd3
imul eax, eax, 0xfda110bd
sub eax, 0x17e75c21
imul eax, eax, 0xefcde298
sub eax, 0xe88848f8
mov ecx, 0xfd9ac24d
xor edx, edx
div ecx
and eax, 0x2c85a068
sub eax, 0x3a3992a3
sub eax, 0x5f926950
and eax, 0x1dbecaf1
sub eax, 0x168bc6d
or eax, 0xf48ace15
sub eax, 0xb96018fa
and eax, 0x4f6fc256
sub eax, 0x18075875
or eax, 0x6c4811c0
sub eax, 0xaf0f9dcf
add eax, 0xf830917d
or eax, 0xd3f0366c
xor eax, 0x902df203
add eax, 0x35e831af
sub eax, 0x766f7ae8
or eax, 0x60f1a248
xor eax, 0xe3e9fabb
add eax, 0xf0aee509
and eax, 0x2960df69
add eax, 0x9362051f
sub eax, 0x5f466a4d
mov ecx, 0xa409de90
xor edx, edx
div ecx
or eax, 0x6f99b4d2
add eax, 0x8f54718e
sub eax, 0x4f7e6fc6
sub eax, 0x64da3c07
and eax, 0xad5a81b9
cmp eax, 0xbeb6e973
je 0x1007026f
mov eax, dword [0x100d52c8]
sub eax, dword [0x100d52cc]
and eax, 0x1600cf56
xor eax, 0xbb34cee6
and eax, 0xf86d5f8b
add eax, 0x18d09aa7
sub eax, 0x8e22223d
mov ecx, 0x8ab2e6a1
xor edx, edx
div ecx
add eax, 0x2d0771e7
sub eax, 0xb93f358
or eax, 0x609dbcb4
or eax, 0x476dff2
add eax, 0x31737c13
xor eax, 0x2d544bf7
imul eax, eax, 0xae22732e
or eax, 0x7dfee411
imul eax, eax, 0xb67f9c0e
imul eax, eax, 0x39fde43a
or eax, 0x870cf0d6
or eax, 0x77918a37
and eax, 0x840fcc17
and eax, 0xa0d45864
or eax, 0xddf7ff7b
or eax, 0x33199ae
xor eax, 0x3bfca2d0
and eax, 0x937dea4b
sub eax, 0x4f2a2c12
add eax, 0x23d8b746
or eax, 0xf423079d
or eax, 0xbd20dd68
and eax, 0xb9ae9275
and eax, 0x47ac0656
add eax, 0x9f305279
xor eax, 0xb005408a
and eax, 0x63567dd
imul eax, eax, 0x4f29d9fd
add eax, 0x69f3e970
sub eax, 0xfaf1374a
add eax, 0x9132c36b
sub eax, 0x507e5c65
sub eax, 0xd75b2b66
or eax, 0x712df
or eax, 0xf956ff96
or eax, 0xd04e4d72
xor eax, 0x63cbe063
and eax, 0x76ebf1c
add eax, 0x28398d8b
mov ecx, 0xfb64e2ca
xor edx, edx
div ecx
mov ecx, 0x95ad43dd
xor edx, edx
div ecx
or eax, 0xb9907742
and eax, 0x760868e6
mov ecx, 0x2e65ea8
xor edx, edx
div ecx
xor eax, 0xb0e5f030
imul eax, eax, 0xf09c1e11
mov ecx, 0x65ffab19
xor edx, edx
div ecx
add eax, 0xc821b491
sub eax, 0x5a205666
xor eax, 0xf06ad864
or eax, 0x4bacd663
xor eax, 0x26320444
sub eax, 0x71d50fb0
and eax, 0x1476b54c
imul eax, eax, 0x852fe048
sub eax, 0xd5bb992c
sub eax, 0xbcc30dec
mov ecx, 0xadca08a7
xor edx, edx
div ecx
add eax, 0x801e1a81
or eax, 0x2aded817
and eax, 0x9e60be92
imul eax, eax, 0x184288a1
or eax, 0x7246cdf5
add eax, 0x3756139c
add eax, 0xd1b3fd5c
xor eax, 0x5e7800a7
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
cmp eax, 0x4bc4f80
jb 0x100700b1
mov eax, dword [ebp - 0xc]
add esp, 0xc
pop ebp
ret 4
mov dword [ebp - 4], 0x80070057
jmp 0x1006f9b8
jmp 0x1006fd5f
jmp 0x100700b1