Function at 0x10064880
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x24
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
cmp dword [ebp + 8], 0
jne 0x100648b8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp], edx
call dword [eax]
sub esp, 4
mov dword [ebp - 8], eax
jmp 0x10064ff9
cmp dword [ebp + 0xc], 0
jne 0x10064c44
mov eax, dword [0x100c5000]
sub eax, dword [0x100c5004]
xor eax, 0xcdbd14d4
or eax, 0x37929a5c
or eax, 0x6b87fce5
or eax, 0xed8c9ec3
or eax, 0x5c89fb8d
xor eax, 0x73d78132
xor eax, 0x6c1ec54
xor eax, 0xaa3e35de
sub eax, 0x745b3c82
imul eax, eax, 0x252ddbe3
imul eax, eax, 0xa53d200
imul eax, eax, 0x6eff332f
mov ecx, 0xa2ecce84
xor edx, edx
div ecx
or eax, 0xde68ccdf
add eax, 0x68adc4db
imul eax, eax, 0x9de6bedf
sub eax, 0x346b79bc
or eax, 0x1d49f4e4
imul eax, eax, 0xbde1c23c
imul eax, eax, 0xb3c7415d
imul eax, eax, 0x8f319380
or eax, 0x6476ae03
and eax, 0xcdfd1b7d
xor eax, 0x649b3c61
xor eax, 0x6401955d
or eax, 0x31a0bafe
xor eax, 0x528f2b53
and eax, 0x82743ca4
add eax, 0xeba79b8e
add eax, 0x69d771bb
sub eax, 0x3ccd8f88
add eax, 0xed12a27f
xor eax, 0xfe9984f6
and eax, 0xca95a49e
or eax, 0x3388863a
add eax, 0x51df5b1e
imul eax, eax, 0xedcecf76
add eax, 0x78e02e19
imul eax, eax, 0xf144e54f
xor eax, 0x10d3a6bc
or eax, 0xb9190d00
mov ecx, 0x1dcd06e1
xor edx, edx
div ecx
or eax, 0xcc303eee
xor eax, 0xf3d67725
xor eax, 0x39dad44d
imul eax, eax, 0x8b4a6951
sub eax, 0xaccafa56
imul eax, eax, 0xf2b1a817
and eax, 0x7702ad7f
or eax, 0xfe523d15
mov ecx, 0x6622755
xor edx, edx
div ecx
and eax, 0xa18ecd4a
add eax, 0x47980a3a
and eax, 0x245a2c52
mov ecx, 0x50a6cf69
xor edx, edx
div ecx
sub eax, 0xe56821c5
or eax, 0x7bbbb0f4
mov ecx, 0x5a18c5da
xor edx, edx
div ecx
mov ecx, 0x12a96d60
xor edx, edx
div ecx
xor eax, 0xc1500895
xor eax, 0x55c1af9
xor eax, 0xe5707b79
add eax, 0x1ec7f0ab
add eax, 0x86ae5cd5
imul eax, eax, 0x3e1f8863
sub eax, 0x3b32d676
mov ecx, 0x397e9501
xor edx, edx
div ecx
imul eax, eax, 0x1317df51
sub eax, 0xef9c1690
mov ecx, 0x3a583f1
xor edx, edx
div ecx
sub eax, 0x54f3f373
imul eax, eax, 0xc6d85436
cmp eax, 0x1b7c46e0
jbe 0x10065004
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x100c5008]
sub eax, dword [0x100c500c]
or eax, 0xa2724717
sub eax, 0xf6f34db1
xor eax, 0x1eb979a0
sub eax, 0x4f0cdb2d
imul eax, eax, 0xa981942e
xor eax, 0xfc54e2b3
imul eax, eax, 0x27b87317
or eax, 0xe63b8a47
xor eax, 0x7b0c9e77
or eax, 0xc0811832
imul eax, eax, 0xe6af95bf
mov esi, 0xc932ec08
xor edx, edx
div esi
imul eax, eax, 0x164e80e6
xor eax, 0xfbaa690b
and eax, 0x90be11f3
or eax, 0x29d6b3a
or eax, 0x20245cd7
imul eax, eax, 0x98c8278b
imul eax, eax, 0x18ea6efe
imul eax, eax, 0x1d2daa4
sub eax, 0xa91b2333
or eax, 0xa42885e5
add eax, 0xef8226a4
imul eax, eax, 0x5cd72a1f
add eax, 0xbd38bd7
mov esi, 0x4f23dd08
xor edx, edx
div esi
imul eax, eax, 0xac71dd4d
sub eax, 0xe1cc0b9
xor eax, 0x7c94daae
imul eax, eax, 0x76516cf9
imul eax, eax, 0x6a0daeca
xor eax, 0x510c6200
add eax, 0x94cfc9c4
add eax, 0xae2be687
add eax, 0x459b9bb7
add eax, 0x727cfd5e
mov esi, 0xe70dd730
xor edx, edx
div esi
or eax, 0x14e9928e
mov esi, 0x6e998f3b
xor edx, edx
div esi
add eax, 0xdcfd59b7
imul eax, eax, 0xf877a067
imul eax, eax, 0xf57a4118
sub eax, 0x4bd08caa
mov esi, 0x9ca92e36
xor edx, edx
div esi
xor eax, 0xd485c181
add eax, 0xfd74ddd8
or eax, 0xefd16d1e
xor eax, 0x46ec22bb
or eax, 0x54242b8b
or eax, 0x899901b6
sub eax, 0x7e197a59
add eax, 0x6a385661
add eax, 0xf037aeec
mov esi, 0xc8b831f9
xor edx, edx
div esi
and eax, 0x5aca3b77
imul eax, eax, 0x2b3a7257
xor eax, 0xe0374cc9
imul eax, eax, 0x8cd20a23
add eax, 0xa90db038
add eax, 0x159be786
mov esi, 0xd75b17f8
xor edx, edx
div esi
or eax, 0xc0ff1145
xor eax, 0x9a13bddc
or eax, 0x79037c5a
sub eax, 0x59e77360
xor eax, 0x7572418d
imul eax, eax, 0x68ff0f1a
xor eax, 0xb8a927a1
mov esi, 0xf0160140
xor edx, edx
div esi
mov esi, 0x470594fc
xor edx, edx
div esi
add eax, 0xbcaccd32
imul eax, eax, 0xfc3b3c3
mov dword [ebp - 0x14], eax
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
mov dword [esp], edx
call dword [eax + 4]
sub esp, 4
mov eax, dword [ebp - 0x14]
mov dword [ebp - 8], 0
cmp eax, 0x3621099c
jbe 0x10064a6e
jmp 0x10064ff9
mov eax, dword [0x100c5010]
and eax, dword [0x100c5014]
and eax, 0x5da3ba33
mov ecx, 0x1cbaac61
xor edx, edx
div ecx
or eax, 0x38961620
sub eax, 0x771cc779
imul eax, eax, 0xc43997e8
xor eax, 0xe8fbdd3f
add eax, 0xd539ecc8
imul eax, eax, 0x52924fb8
imul eax, eax, 0x97400335
add eax, 0xccc58b1b
mov ecx, 0xb99a2437
xor edx, edx
div ecx
and eax, 0x44dc5745
add eax, 0x5502c69
and eax, 0xe2a2fea6
and eax, 0x4ff90efa
and eax, 0xc34d8560
and eax, 0xc4e71d61
or eax, 0xb9977d02
imul eax, eax, 0x68a534bd
imul eax, eax, 0xbd95b127
mov ecx, 0xe692f8fd
xor edx, edx
div ecx
mov ecx, 0x63aa96d1
xor edx, edx
div ecx
imul eax, eax, 0xd59f022e
or eax, 0xd9a7cd08
mov ecx, 0xcaf1b9f7
xor edx, edx
div ecx
imul eax, eax, 0x8d3c53d5
mov ecx, 0x133b2df8
xor edx, edx
div ecx
mov ecx, 0xc6581cd0
xor edx, edx
div ecx
sub eax, 0xfe9b8203
add eax, 0xb729292
and eax, 0xb875d379
and eax, 0x57688648
or eax, 0xd9798ed4
add eax, 0x9865d5aa
sub eax, 0xd366519f
add eax, 0x8ced9b5d
and eax, 0x8d0ddc43
mov ecx, 0xc2002421
xor edx, edx
div ecx
mov ecx, 0x5f1541ff
xor edx, edx
div ecx
sub eax, 0x88c13500
sub eax, 0x14e45959
mov ecx, 0x27655288
xor edx, edx
div ecx
xor eax, 0xa11aa2ee
or eax, 0x534dc9a4
and eax, 0x481be682
or eax, 0x33eb1615
or eax, 0xf278bfb0
or eax, 0xcc01ce26
and eax, 0x4b9d89db
or eax, 0xf484d003
and eax, 0x2ff76bcb
or eax, 0xde1e5eb0
and eax, 0xb27f4b58
sub eax, 0x3de92a51
or eax, 0xde2c2d83
xor eax, 0x5e9aafb7
xor eax, 0xf4a12299
xor eax, 0x14a61492
imul eax, eax, 0xbd5bbc7d
and eax, 0x86d8d547
and eax, 0x6e023773
or eax, 0x9f2a50dc
xor eax, 0xf078f0c5
or eax, 0x65f31f57
or eax, 0xc7addc5a
add eax, 0x3d91eef
xor eax, 0x870ab14c
sub eax, 0x66a7f0ed
add eax, 0xc50df760
imul eax, eax, 0xba939593
sub eax, 0x5221e1f8
xor eax, 0xa319c364
cmp eax, 0x733492a0
ja 0x10065021
mov eax, dword [0x100c5018]
sub eax, dword [str._G_t_]
imul eax, eax, 0xbeb31189
xor eax, 0xe41e1e0f
or eax, 0x957237fb
and eax, 0x8cd06f1f
mov ecx, 0x7ca537d6
xor edx, edx
div ecx
and eax, 0x945207cd
and eax, 0x1b8b0741
sub eax, 0xb660afb2
or eax, 0x830fc954
and eax, 0x924f73df
mov ecx, 0xa44ee926
xor edx, edx
div ecx
mov ecx, 0xe341d590
xor edx, edx
div ecx
or eax, 0x33e97f0a
xor eax, 0x22a6a5c4
and eax, 0x7f89c471
mov ecx, 0xdc054922
xor edx, edx
div ecx
or eax, 0x77fa68b0
imul eax, eax, 0x7079eb28
add eax, 0x80cfb95a
or eax, 0x1ee84975
imul eax, eax, 0x4a6a5539
imul eax, eax, 0x361d5dbb
mov ecx, 0xfc6dd926
xor edx, edx
div ecx
and eax, 0x52a0c6d4
sub eax, 0x128bce1e
imul eax, eax, 0x1b63b9fb
or eax, 0x7f26986e
mov ecx, 0xf14c5ec9
xor edx, edx
div ecx
mov ecx, 0xafaf3327
xor edx, edx
div ecx
mov ecx, 0xedcd73f4
xor edx, edx
div ecx
imul eax, eax, 0x41699dae
add eax, 0x71323da
imul eax, eax, 0xf8084b7d
and eax, 0xd062cfd5
mov ecx, 0x1d6a0847
xor edx, edx
div ecx
or eax, 0x3b50c730
mov ecx, 0xd0501dbb
xor edx, edx
div ecx
sub eax, 0x7b470d89
imul eax, eax, 0x381d157a
or eax, 0xd03dc793
sub eax, 0xfbc2f31a
mov ecx, 0x59c3a8b4
xor edx, edx
div ecx
add eax, 0x33fa05a1
imul eax, eax, 0xde09239a
or eax, 0x56dfa848
and eax, 0xefa71981
imul eax, eax, 0xf2c8a3bd
mov ecx, 0xf339f173
xor edx, edx
div ecx
imul eax, eax, 0xce223328
or eax, 0x91288598
imul eax, eax, 0x6ce67a09
add eax, 0x282dedc3
add eax, 0x2596e2be
mov ecx, 0x7b9036e
xor edx, edx
div ecx
and eax, 0x80547324
and eax, 0xdc97dd34
xor eax, 0x36d6ba80
mov ecx, 0xbc7a3be8
xor edx, edx
div ecx
imul eax, eax, 0xb413459c
and eax, 0x8e99aabe
and eax, 0xee81de3c
mov ecx, 0xef102544
xor edx, edx
div ecx
mov edx, dword [ebp - 0x10]
imul eax, eax, 0xe0f50470
xor eax, 0xed56cdc
imul eax, eax, 0xe083020b
imul eax, eax, 0xdd53f7a9
and eax, 0x53e1a44f
add eax, 0xa1ae11d6
sub eax, 0xaf13c83c
imul eax, eax, 0xa5b71019
add eax, 0x493c06fa
imul eax, eax, 0xf4ab9a35
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [edx + 4]
xor esi, esi
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
sub esp, 0x10
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
cmp eax, 0x879e7919
jb 0x10064df3
jmp 0x10064ff9
mov eax, dword [ebp - 8]
add esp, 0x24
pop esi
pop ebp
ret 8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
mov dword [esp], edx
call dword [eax + 4]
sub esp, 4
mov dword [ebp - 8], 0
jmp 0x10064a6e
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [edx + 4]
xor esi, esi
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
sub esp, 0x10
mov dword [ebp - 8], eax
jmp 0x10064df3