Function at 0x10065e50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x100d16b8]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x100d229c], 0
jne 0x1006625c
mov eax, dword [0x100d1000]
add eax, dword [0x100d1004]
add eax, 0x7d5e739e
xor eax, 0x24b1b2ac
add eax, 0xd41fbc46
mov ecx, 0x637d2be8
xor edx, edx
div ecx
mov ecx, 0x8f400b8
xor edx, edx
div ecx
xor eax, 0xc458ed1b
sub eax, 0x78abf039
xor eax, 0x1da65f39
add eax, 0x5fd30287
add eax, 0x9c72ddf7
imul eax, eax, 0x7d47f4ba
or eax, 0x31975225
add eax, 0x46c89a92
xor eax, 0x5f7d3630
sub eax, 0x4e313925
add eax, 0x7d67763a
and eax, 0xedb199ec
xor eax, 0x2686e513
add eax, 0x3e1bfb8
xor eax, 0xecb8126a
imul eax, eax, 0xa401b72b
mov ecx, 0x269ff602
xor edx, edx
div ecx
or eax, 0xe0312dd5
imul eax, eax, 0xce3f86e1
add eax, 0xef6d53d7
xor eax, 0x1b56fc26
or eax, 0x8934f0c0
add eax, 0x10c83588
xor eax, 0x2bbd74d1
and eax, 0x9236f06b
or eax, 0xdb07ae64
add eax, 0xb9eb9196
sub eax, 0x70fb727c
or eax, 0x4d1c37d0
xor eax, 0x99aeb17a
mov ecx, 0x26a51a5a
xor edx, edx
div ecx
imul eax, eax, 0xbf941e26
mov ecx, 0xaf772a03
xor edx, edx
div ecx
and eax, 0xceb72c01
add eax, 0x9c20ae7f
sub eax, 0xe4eb2571
add eax, 0x6b0f94da
add eax, 0xa5250840
and eax, 0x8fe70271
sub eax, 0xb5dfdb9e
imul eax, eax, 0x53f0474
mov ecx, 0x3b74735d
xor edx, edx
div ecx
or eax, 0xd351c4fa
imul eax, eax, 0x974d9cba
and eax, 0x999ca942
sub eax, 0xfa2c003
xor eax, 0x2cd1c2c1
xor eax, 0x8ec0c043
imul eax, eax, 0x271f6206
mov ecx, 0x749aff73
xor edx, edx
div ecx
and eax, 0x542d0de6
sub eax, 0x9b52a786
or eax, 0x127e6eda
add eax, 0xc2cba42c
or eax, 0x3a1bf65b
add eax, 0xae7fab2c
mov ecx, 0xcc441654
xor edx, edx
div ecx
xor eax, 0xf7de4085
sub eax, 0x5406c4a6
imul eax, eax, 0xc3534885
and eax, 0x17ac5afb
add eax, 0x63c0bcbe
and eax, 0xb139a14b
or eax, 0x707896e1
imul eax, eax, 0x7b16a3ed
add eax, 0x827513f6
or eax, 0x816b38f2
cmp eax, 0x45a854f7
jb 0x100668ae
mov eax, dword [0x100d1008]
add eax, dword [0x100d100c]
or eax, 0xbdb02271
mov ecx, 0x2c224af7
xor edx, edx
div ecx
xor eax, 0x98674406
or eax, 0x4cbf4ea0
imul eax, eax, 0x77409354
sub eax, 0xcac3a025
sub eax, 0xff837094
add eax, 0x97ca076f
xor eax, 0x300d38f4
sub eax, 0x70307e62
and eax, 0xc866d3d6
mov ecx, 0xcf3585e9
xor edx, edx
div ecx
sub eax, 0x4579229d
add eax, 0x74735a42
add eax, 0xb2f38571
imul eax, eax, 0x773c4805
and eax, 0xe5d9c6e4
mov ecx, 0x3bce6008
xor edx, edx
div ecx
mov ecx, 0xd0e247b7
xor edx, edx
div ecx
sub eax, 0xbab8baa6
sub eax, 0xbf8475d8
and eax, 0x2e89dbbf
mov ecx, 0xdd0f75bc
xor edx, edx
div ecx
xor eax, 0xca6577e2
xor eax, 0xd620ef9
sub eax, 0xfffaf808
xor eax, 0x4056c8b
mov ecx, 0x67fe7bf
xor edx, edx
div ecx
add eax, 0x74d37126
xor eax, 0xd391305d
or eax, 0x76a5067
add eax, 0x7736e603
imul eax, eax, 0x29e9870
or eax, 0xb64369b7
add eax, 0x6caaa0d5
mov ecx, 0x62943b9a
xor edx, edx
div ecx
add eax, 0xb480b2c3
xor eax, 0x13e483d7
mov ecx, 0x6ac683cb
xor edx, edx
div ecx
add eax, 0x8cf50244
mov ecx, 0x78bdb08c
xor edx, edx
div ecx
sub eax, 0x56fb5909
xor eax, 0x42793de0
imul eax, eax, 0x1e5628c2
imul eax, eax, 0x8342f698
and eax, 0xdb90a63
xor eax, 0xaacb3eb
add eax, 0x243d869e
mov ecx, 0xffe7d761
xor edx, edx
div ecx
xor eax, 0x6d9d6ebb
or eax, 0xf25a4c19
sub eax, 0xf27472c1
mov ecx, 0x6d85740e
xor edx, edx
div ecx
imul eax, eax, 0x7bf99c30
and eax, 0xdbf37572
xor eax, 0xdd8df8b6
add eax, 0x94716150
xor eax, 0xae252689
imul eax, eax, 0x4827aecf
or eax, 0x4f0c38bf
mov ecx, 0x2bf1a705
xor edx, edx
div ecx
and eax, 0xc16fab17
or eax, 0x518e9812
or eax, 0xa3fe1ef3
and eax, 0xfa0f5f1
imul eax, eax, 0x18881558
imul eax, eax, 0xb40e053c
and eax, 0xe02a7b9a
mov ecx, 0x52c0afdd
xor edx, edx
div ecx
imul eax, eax, 0xb1dd77c5
and eax, 0x535f1d16
xor eax, 0x7c59c541
mov cl, byte [0x100cf29d]
xor cl, 0x54
mov byte [0x100cf2a6], cl
mov cl, byte [0x100cf29e]
xor cl, 0x6f
mov byte [0x100cf2a7], cl
mov cl, byte [str.9o_0]
xor cl, 0x49
mov byte [0x100cf2a8], cl
mov cl, byte [0x100cf2a0]
xor cl, 0
mov byte [0x100cf2a9], cl
mov cl, byte [0x100cf2a1]
xor cl, 0x15
mov byte [0x100cf2aa], cl
mov cl, byte [0x100cf2a2]
xor cl, 0x55
mov byte [0x100cf2ab], cl
mov cl, byte [0x100cf2a3]
xor cl, 0xe4
mov byte [0x100cf2ac], cl
mov cl, byte [0x100cf2a4]
xor cl, 0x8e
mov byte [0x100cf2ad], cl
mov cl, byte [0x100cf2a5]
xor cl, 0x27
mov byte [0x100cf2ae], cl
cmp eax, 0x1e60bc15
je 0x10066014
jmp 0x1006625c
mov eax, dword [0x100d1010]
add eax, dword [0x100d1014]
mov ecx, 0x30b99b51
xor edx, edx
div ecx
mov ecx, 0xb6d9fcef
xor edx, edx
div ecx
sub eax, 0x112a80a3
or eax, 0x2a9f516d
mov ecx, 0x81fb1d7e
xor edx, edx
div ecx
xor eax, 0xe06ecc6c
and eax, 0xeedbc461
xor eax, 0xde4591c4
xor eax, 0x3256bf89
sub eax, 0xa0dc7cbb
or eax, 0xb6c7d526
or eax, 0x899bf66d
or eax, 0x21f24ac9
imul eax, eax, 0x25f3889
sub eax, 0x8d711b96
sub eax, 0x3392471f
imul eax, eax, 0xcd0e3bb7
sub eax, 0x66415369
xor eax, 0xd81476b
sub eax, 0x2cd47a83
and eax, 0x309c512e
and eax, 0x4647e45a
add eax, 0x9dfaefd9
or eax, 0xa4b933e3
xor eax, 0x4594069f
xor eax, 0xefd7b41
sub eax, 0xc3974160
imul eax, eax, 0xc017c92c
xor eax, 0xd3540759
add eax, 0xf61c6892
add eax, 0x4f8ed037
mov ecx, 0x4b62071c
xor edx, edx
div ecx
sub eax, 0x24975ca
sub eax, 0xa1763d24
mov ecx, 0x8e37ae2a
xor edx, edx
div ecx
sub eax, 0xb9fdd9af
xor eax, 0x8e91a3b7
mov ecx, 0x490d6df4
xor edx, edx
div ecx
add eax, 0xc61b2b3a
mov ecx, 0x52a06bc0
xor edx, edx
div ecx
sub eax, 0x5bde14e2
imul eax, eax, 0xbd62a386
xor eax, 0xfedb287b
or eax, 0x87f19fc7
mov ecx, 0x3ed44abc
xor edx, edx
div ecx
add eax, 0xe7afda80
sub eax, 0xae0edc44
or eax, 0x9a9c4200
xor eax, 0x50e63f68
sub eax, 0x8038ed7a
or eax, 0x6e9f2432
imul eax, eax, 0x7fad6f19
xor eax, 0x269aff93
sub eax, 0xe74c646
xor eax, 0xe3a56469
xor eax, 0xb1e7c87a
add eax, 0x9ae52c2
or eax, 0x6cf095ba
or eax, 0x291d5f9a
or eax, 0x454aed4a
or eax, 0xc65e1e38
mov ecx, 0x9e16ecd1
xor edx, edx
div ecx
and eax, 0xba03e179
and eax, 0xaacdb4c1
add eax, 0xda354848
imul eax, eax, 0x3eeba138
add eax, 0x702ded1
sub eax, 0x6f1bd24b
mov ecx, 0xec38a70b
xor edx, edx
div ecx
imul eax, eax, 0x7d667c70
and eax, 0x22ac8347
sub eax, 0x42a84b03
cmp eax, 0xde4e3fb5
jae 0x1006691f
mov eax, 0xcc9b2416
mov dword [ebp - 0xc], eax
mov dword [0x100d229c], 1
push eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x14], ecx
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x18], eax
push eax
mov edx, esp
mov dword [ebp - 0x10], edx
mov edx, dword [0x100cf2a6]
mov dword [ecx], edx
mov edx, dword [0x100cf2aa]
mov dword [ecx + 4], edx
mov dl, byte [0x100cf2ae]
mov byte [ecx + 8], dl
xor ecx, ecx
sub esp, 0xc
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
mov ecx, dword [ebp - 0x18]
lea eax, [0x100c448a]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10099e80
mov ecx, dword [ebp - 0x18]
add esp, 8
mov eax, dword [ebp - 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10099e80
sub esp, 4
mov dword [esp], 2
mov dword [esp + 4], 4
mov dword [esp + 8], 6
call fcn.10039910
add esp, 0xc
mov eax, dword [ebp - 0x14]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10051100
mov ecx, dword [ebp - 0x10]
add esp, 8
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [ecx], edx
cmp dword [ecx], 0
sete cl
mov byte [ebp - 5], cl
cmp eax, 0x5cccbee5
jbe 0x1006691f
mov al, byte [ebp - 5]
test al, 1
jne 0x10066517
jmp 0x1006653f
mov eax, dword [ebp - 0x18]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100656a0
add esp, 4
mov dword [esp], 1
call fcn.1005e080
add esp, 4
mov eax, dword [0x100d1020]
xor eax, dword [0x100d1024]
xor eax, 0x6281884b
mov ecx, 0xe6dd9ca3
xor edx, edx
div ecx
or eax, 0xe8694a64
or eax, 0xb9abb60e
sub eax, 0x544367af
add eax, 0x816a081d
imul eax, eax, 0xe68cb31c
add eax, 0x25ec2e7d
sub eax, 0x15f7b41b
imul eax, eax, 0xfa28fde2
add eax, 0xff4b5184
and eax, 0xd539a7c5
or eax, 0xca9a3b5d
sub eax, 0xe9914e87
imul eax, eax, 0xa721bf11
sub eax, 0x73899820
add eax, 0x990d4164
or eax, 0xbaf4a450
add eax, 0x5d3d3ff7
and eax, 0xef1fefb
xor eax, 0xe920d205
or eax, 0xc1aa1248
or eax, 0xdc2da01
imul eax, eax, 0x24432d81
mov ecx, 0xe0c8b7b7
xor edx, edx
div ecx
xor eax, 0xe247879c
and eax, 0xef6847c6
imul eax, eax, 0xf3e8327c
xor eax, 0xb9e5e0d8
xor eax, 0x825f5567
mov ecx, 0x929ddda0
xor edx, edx
div ecx
or eax, 0x58a70291
or eax, 0xbb6321fe
imul eax, eax, 0xcc752856
xor eax, 0x345ae5d3
sub eax, 0x972c6703
xor eax, 0xc886ccd1
sub eax, 0xd1be6a95
and eax, 0x107a366d
sub eax, 0x19eb7acb
sub eax, 0x5d47c0a7
mov ecx, 0x60e0153
xor edx, edx
div ecx
or eax, 0x5b84dfc0
add eax, 0x463fb72f
add eax, 0x897311bd
or eax, 0x23fb4ff6
sub eax, 0xdb34776
add eax, 0xb62ba619
sub eax, 0xd38a390b
mov ecx, 0x77866cf7
xor edx, edx
div ecx
or eax, 0x7c2e5580
mov ecx, 0x9fb1875e
xor edx, edx
div ecx
xor eax, 0x8da308f4
add eax, 0x83868c0e
xor eax, 0x46e786ed
imul eax, eax, 0x8c8effed
imul eax, eax, 0x4fc7a8bb
add eax, 0x91f185e6
add eax, 0xe2514cbf
sub eax, 0x3fa1707f
sub eax, 0xf36dd786
mov ecx, 0xfaa65579
xor edx, edx
div ecx
or eax, 0x9751ec36
xor eax, 0x57806442
and eax, 0xeabe07e3
xor eax, 0x990cdc95
or eax, 0x3e7f220
imul eax, eax, 0x1aebd49e
xor eax, 0x7c23427a
mov ecx, 0x8a12a2e9
xor edx, edx
div ecx
and eax, 0x94d1b890
imul eax, eax, 0xb1f960cb
cmp eax, 0x255ba2b6
je 0x10066a03
mov eax, dword [0x100d1028]
and eax, dword [0x100d102c]
sub eax, 0xe5c07be3
and eax, 0xb088ae81
add eax, 0x736213d2
mov ecx, 0x1d9f274f
xor edx, edx
div ecx
mov ecx, 0xbbfbadae
xor edx, edx
div ecx
xor eax, 0xf66d9021
or eax, 0x31f4559f
and eax, 0x25cb4309
or eax, 0xfdbc8e5a
and eax, 0x855eb411
sub eax, 0x819e65b2
xor eax, 0x5a6c09
xor eax, 0x3e8c1f9b
xor eax, 0x5cf52d36
mov ecx, 0x395078e4
xor edx, edx
div ecx
mov ecx, 0x8ca2a024
xor edx, edx
div ecx
xor eax, 0x3b685a81
add eax, 0xe5a80d04
xor eax, 0x33cc8088
sub eax, 0x2609d1d4
sub eax, 0x8d229afa
or eax, 0x3dd74924
or eax, 0x3727e994
or eax, 0x49e13641
xor eax, 0xd21763d8
imul eax, eax, 0x95d95da2
or eax, 0x56d52fdc
sub eax, 0x9effb82
and eax, 0x6cffd9b0
imul eax, eax, 0xb4266739
mov ecx, 0xd35de9bf
xor edx, edx
div ecx
and eax, 0x83ea3887
mov ecx, 0xf4246548
xor edx, edx
div ecx
mov ecx, 0xeff22ee
xor edx, edx
div ecx
and eax, 0x2c28c0fb
mov ecx, 0x8251d20a
xor edx, edx
div ecx
or eax, 0xbeb75594
xor eax, 0x3a86b690
and eax, 0x50c40946
sub eax, 0xbe568276
imul eax, eax, 0x48b3f3f7
imul eax, eax, 0xc9894a0b
mov ecx, 0x92767147
xor edx, edx
div ecx
or eax, 0x10252721
and eax, 0x6afe8ded
sub eax, 0x20446c5d
mov ecx, 0x1b938fe3
xor edx, edx
div ecx
sub eax, 0xff59b616
or eax, 0x92ec5244
and eax, 0x5ec9609a
add eax, 0xcbdfa26d
add eax, 0x59294bde
imul eax, eax, 0x8f6854b9
or eax, 0xebc8d373
imul eax, eax, 0x67fc4951
or eax, 0x4a8485dd
xor eax, 0x606973d4
add eax, 0xf8e8f5b6
sub eax, 0xe1bafc40
xor eax, 0x52ad1ac1
or eax, 0x99457601
or eax, 0x21f50a6c
xor eax, 0xd435fad3
and eax, 0x61a8be13
imul eax, eax, 0x87d07f7e
sub eax, 0x4b7840a1
add eax, 0x74672e71
mov ecx, 0xf85e8993
xor edx, edx
div ecx
and eax, 0xcd68de9c
mov ecx, 0x9026e7cf
xor edx, edx
div ecx
mov ecx, 0xd44dbee7
xor edx, edx
div ecx
xor eax, 0xc57c793a
cmp eax, 0x7fefa0
je 0x10066a03
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007916f
mov esp, ebp
pop ebp
ret
mov al, byte [0x100cf29d]
xor al, 0x54
mov byte [0x100cf2a6], al
mov al, byte [0x100cf29e]
xor al, 0x6f
mov byte [0x100cf2a7], al
mov al, byte [str.9o_0]
xor al, 0x49
mov byte [0x100cf2a8], al
mov al, byte [0x100cf2a0]
xor al, 0
mov byte [0x100cf2a9], al
mov al, byte [0x100cf2a1]
xor al, 0x15
mov byte [0x100cf2aa], al
mov al, byte [0x100cf2a2]
xor al, 0x55
mov byte [0x100cf2ab], al
mov al, byte [0x100cf2a3]
xor al, 0xe4
mov byte [0x100cf2ac], al
mov al, byte [0x100cf2a4]
xor al, 0x8e
mov byte [0x100cf2ad], al
mov al, byte [0x100cf2a5]
xor al, 0x27
mov byte [0x100cf2ae], al
jmp 0x10066014
mov dword [0x100d229c], 1
push eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x20], ecx
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov edx, esp
mov dword [ebp - 0x1c], edx
mov edx, dword [0x100cf2a6]
mov dword [ecx], edx
mov edx, dword [0x100cf2aa]
mov dword [ecx + 4], edx
mov dl, byte [0x100cf2ae]
mov byte [ecx + 8], dl
xor ecx, ecx
sub esp, 0xc
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
mov ecx, dword [ebp - 0x24]
lea eax, [0x100c448a]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10099e80
mov ecx, dword [ebp - 0x24]
add esp, 8
mov eax, dword [ebp - 0x20]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10099e80
sub esp, 4
mov dword [esp], 2
mov dword [esp + 4], 4
mov dword [esp + 8], 6
call fcn.10039910
add esp, 0xc
mov eax, dword [ebp - 0x20]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10051100
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x10066409
jmp 0x100666e7