Function at 0x10078500
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x100db570]
and eax, dword [0x100db574]
mov ecx, 0xe24e1a41
xor edx, edx
div ecx
or eax, 0x60dba9d5
and eax, 0xe6608b8
or eax, 0x72da7e46
xor eax, 0xaae2330d
or eax, 0x476370fb
mov ecx, 0xea9d4f6
xor edx, edx
div ecx
xor eax, 0x48315742
imul eax, eax, 0x15b3d0d4
xor eax, 0xec9fd3db
and eax, 0xf3fd96f1
or eax, 0xe08e2833
xor eax, 0x59299721
and eax, 0x6e981d8f
and eax, 0x77edef33
sub eax, 0x768eca55
add eax, 0x9c6775bd
mov ecx, 0xa3000890
xor edx, edx
div ecx
sub eax, 0x69060fb7
or eax, 0xdbc7df68
sub eax, 0xca361e49
sub eax, 0x6ecc7126
sub eax, 0x56ca582e
sub eax, 0xc3212f62
imul eax, eax, 0xa080703c
and eax, 0x9e391cb4
and eax, 0xcf880de4
sub eax, 0x2d1b875d
sub eax, 0x269b04d5
and eax, 0x915ca542
imul eax, eax, 0xa27f515d
sub eax, 0x98cc46d3
add eax, 0x6aed5bb8
or eax, 0x1a57164d
mov ecx, 0xb08beaba
xor edx, edx
div ecx
and eax, 0x1b9ca6ef
or eax, 0x158b855a
or eax, 0x15a04b7
and eax, 0xd6f5b11c
mov ecx, 0x833bd60
xor edx, edx
div ecx
xor eax, 0x5a9f3fcf
add eax, 0xfb5e2d82
xor eax, 0x835ff490
add eax, 0xa5736f37
xor eax, 0x60fa966d
and eax, 0x8005a581
xor eax, 0xc54c40a0
mov ecx, 0x7f8ce629
xor edx, edx
div ecx
and eax, 0xe64323a9
add eax, 0x3b418847
or eax, 0x1667d661
imul eax, eax, 0xf0a2ee31
sub eax, 0x64c0ee5
xor eax, 0xdb39c069
sub eax, 0x583555f8
add eax, 0xf662cfce
and eax, 0x6540c201
and eax, 0x3fd561c3
or eax, 0x499ea628
or eax, 0xe83ef6b7
imul eax, eax, 0xb7a758f5
xor eax, 0xe347754d
or eax, 0xb2f2dec5
or eax, 0x1c01c198
imul eax, eax, 0xb1fde847
imul eax, eax, 0xb39ccb85
mov ecx, 0xa48e4a10
xor edx, edx
div ecx
mov ecx, 0xe92992ed
xor edx, edx
div ecx
and eax, 0x22d3576a
add eax, 0xbb7842ae
xor eax, 0x8bcc38a6
add eax, 0x6e119bcf
cmp eax, 0x1637a547
jbe 0x10078e96
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov eax, 0xcad0041
push eax
mov edx, esp
mov dword [ebp - 0x2c], edx
push eax
mov ebx, esp
mov dword [ebp - 0x28], ebx
push eax
mov edx, esp
mov dword [ebp - 0x24], edx
push eax
mov edx, esp
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ecx], edi
mov dword [edx], esi
mov edx, dword [edx]
mov dword [ebp - 0x20], edx
cmp dword [ecx], 0
sete cl
mov byte [ebp - 0x19], cl
cmp eax, 0x436629e4
ja 0x10078e96
mov al, byte [ebp - 0x19]
test al, 1
jne 0x10078712
jmp 0x10078730
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ecx]
sub esp, 4
mov dword [esp], edx
call dword [eax]
mov ecx, eax
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
jmp 0x10078e87
mov eax, dword [0x100db580]
sub eax, dword [0x100db584]
xor eax, 0x82723519
or eax, 0x1d34b41b
or eax, 0x5a924671
mov ecx, 0xa4fd5518
xor edx, edx
div ecx
mov ecx, 0xa773c386
xor edx, edx
div ecx
add eax, 0x2179b92c
and eax, 0x4ec8a951
and eax, 0x890e6b1a
or eax, 0xd61accdf
and eax, 0xb8885f4b
sub eax, 0x27b2ca1d
xor eax, 0xb3264cd3
and eax, 0xee20bc83
mov ecx, 0xe5598328
xor edx, edx
div ecx
imul eax, eax, 0xd9234fb6
add eax, 0xe94091ac
imul eax, eax, 0x13cf44c0
imul eax, eax, 0x9811437d
imul eax, eax, 0x28af3c83
add eax, 0x5689a71f
sub eax, 0x36983ad6
mov ecx, 0xb1181e4c
xor edx, edx
div ecx
imul eax, eax, 0x10a9760c
xor eax, 0x13c28f52
mov ecx, 0x363ae9fe
xor edx, edx
div ecx
mov ecx, 0x7be81a6e
xor edx, edx
div ecx
imul eax, eax, 0x9308c04b
imul eax, eax, 0x80bb9bb5
mov ecx, 0x53f772f3
xor edx, edx
div ecx
and eax, 0xb71f4f24
imul eax, eax, 0xa932e2d7
imul eax, eax, 0x573fc6c2
add eax, 0xca096a68
and eax, 0xbd812099
sub eax, 0x49221b5b
xor eax, 0x6238d6bd
mov ecx, 0x348c9760
xor edx, edx
div ecx
sub eax, 0x5d2d06d6
mov ecx, 0xef425558
xor edx, edx
div ecx
and eax, 0xd00a3352
and eax, 0xa7ed2daa
sub eax, 0x90460900
and eax, 0xfc6970a5
xor eax, 0x1d6f6941
sub eax, 0x60340342
mov ecx, 0x79289a0d
xor edx, edx
div ecx
sub eax, 0x691bafea
sub eax, 0x9cfe5fab
sub eax, 0x764eac00
or eax, 0xd7227e85
imul eax, eax, 0x9375035d
mov ecx, 0xeac78368
xor edx, edx
div ecx
mov ecx, 0x1b4dee53
xor edx, edx
div ecx
add eax, 0x4f42760c
and eax, 0xd88852b9
mov ecx, 0xf8f7c572
xor edx, edx
div ecx
sub eax, 0x77791b01
xor eax, 0x360b0968
or eax, 0x6b3adc0f
sub eax, 0x3dcd78b5
and eax, 0xd1fa56c5
or eax, 0x220202c8
and eax, 0xd2c8f99b
sub eax, 0xd159e1a3
xor eax, 0x8b5f9929
or eax, 0xecd3b9b2
mov ecx, 0x30facae7
xor edx, edx
div ecx
sub eax, 0x55e19386
or eax, 0xd195f3ec
and eax, 0x770c236c
xor eax, 0x914b9026
add eax, 0x9e4ad0de
cmp eax, 0x5b7166be
je 0x10078eb4
mov ecx, dword [ebp - 0x28]
mov eax, dword [0x100db588]
xor edx, edx
div dword [0x100db58c]
mov esi, 0xc672cbab
xor edx, edx
div esi
mov esi, 0x36c53298
xor edx, edx
div esi
imul eax, eax, 0x4c3d6a53
add eax, 0x8604ab38
add eax, 0x9b63ba85
mov esi, 0x268237a6
xor edx, edx
div esi
or eax, 0xe851f1e8
imul eax, eax, 0x2338068c
and eax, 0x91f2acac
sub eax, 0xfe29b0b6
imul eax, eax, 0x7a6e714c
mov esi, 0xc492e706
xor edx, edx
div esi
xor eax, 0x41ff282f
imul eax, eax, 0x59b0dc53
xor eax, 0x573241c3
imul eax, eax, 0x9cc2fcf5
or eax, 0xc2cf773
add eax, 0x63d968ac
xor eax, 0x1c785cb
add eax, 0x323b64b7
imul eax, eax, 0xc0741d5a
mov esi, 0xf26ed16d
xor edx, edx
div esi
xor eax, 0xf0d94f13
add eax, 0xe8fe19fe
imul eax, eax, 0xb8253389
xor eax, 0x27e2e284
mov esi, 0xd6e2e8c7
xor edx, edx
div esi
sub eax, 0x77446a06
xor eax, 0xcdbfeb0
imul eax, eax, 0xd642d421
and eax, 0x6ca7c204
xor eax, 0xa538a3c6
xor eax, 0xb829536b
imul eax, eax, 0x9ddf628e
add eax, 0x1efc33c8
or eax, 0x7fa9ecf6
add eax, 0xcd95381
add eax, 0x8944fa7c
add eax, 0xbe927d65
sub eax, 0x5a54e8c3
and eax, 0xbe1a0b7b
xor eax, 0x78cc71a0
and eax, 0xa5b924a
xor eax, 0x2566009f
imul eax, eax, 0x2b2f4568
xor eax, 0x5df1f1b2
sub eax, 0x10e470fd
add eax, 0xed18f172
xor eax, 0x518f3654
sub eax, 0xffc7edc4
add eax, 0xcbddfdff
xor eax, 0x20d787f6
sub eax, 0x2103f279
add eax, 0xf4b5cdb8
add eax, 0x4a8a9315
imul eax, eax, 0xab8e36cf
imul eax, eax, 0x1897fb4b
mov esi, 0xdb39778e
xor edx, edx
div esi
imul eax, eax, 0xe4be4af8
sub eax, 0xb5e9d6c0
imul eax, eax, 0xa7319749
mov esi, 0x12e4d2b2
xor edx, edx
div esi
imul eax, eax, 0x2f6dda54
or eax, 0x53b8025e
imul eax, eax, 0xcdc7beed
and eax, 0x748ab3e5
mov esi, 0xd5cd3774
xor edx, edx
div esi
xor eax, 0xf80e071a
or eax, 0xb8993441
sub eax, 0x33ad37e4
xor eax, 0x20eb2fef
imul eax, eax, 0xbc2c123e
cmp dword [ecx], 0
sete cl
mov byte [ebp - 0x2d], cl
cmp eax, 0xfb4c318c
ja 0x100788f0
mov al, byte [ebp - 0x2d]
test al, 1
jne 0x10078ac1
jmp 0x10078ae2
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [ecx]
sub esp, 4
mov dword [esp], edx
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
jmp 0x10078e87
mov eax, dword [0x100db590]
xor eax, dword [0x100db594]
mov ecx, 0xe2305a1a
xor edx, edx
div ecx
sub eax, 0x175cf3f4
and eax, 0x3856930f
xor eax, 0xe3dac15f
sub eax, 0xb10568db
add eax, 0x1073d42c
xor eax, 0x764f31cb
sub eax, 0x71f864bf
imul eax, eax, 0x98f090d7
sub eax, 0xbba091a4
or eax, 0xcb6c8b3f
and eax, 0xe5045a8d
or eax, 0xca5e95d
sub eax, 0xb0922414
xor eax, 0xfb800659
sub eax, 0x54e633f9
add eax, 0x7c32c482
mov ecx, 0xf3ab9e65
xor edx, edx
div ecx
xor eax, 0xb7a58c57
sub eax, 0x231cad40
xor eax, 0x6c2605c9
imul eax, eax, 0x95f2f62c
or eax, 0xcd89ec1b
mov ecx, 0xd00a3f5d
xor edx, edx
div ecx
xor eax, 0x10d77e57
and eax, 0xfcf92418
or eax, 0xaf5f956a
or eax, 0xdd1ee00e
and eax, 0x28b16ff3
or eax, 0x86d86638
add eax, 0x2657dab8
sub eax, 0x3391ee7f
sub eax, 0xb34251f8
mov ecx, 0x9dd90243
xor edx, edx
div ecx
imul eax, eax, 0x55cb53ad
sub eax, 0xf7e82379
and eax, 0x30e3dd67
sub eax, 0xd4ffe18f
or eax, 0x379e556
and eax, 0x64798b84
add eax, 0x247f4a70
sub eax, 0xf702067e
or eax, 0xa12803a7
xor eax, 0x8ad95d4a
mov ecx, 0x398aa4e4
xor edx, edx
div ecx
or eax, 0xb2d79971
xor eax, 0x6e1629eb
imul eax, eax, 0x3b6e01a4
mov ecx, 0xd8c8f847
xor edx, edx
div ecx
add eax, 0x21754b3d
mov ecx, 0x76c3da30
xor edx, edx
div ecx
or eax, 0x483e9e95
sub eax, 0x3d60e07c
add eax, 0x39c9a690
xor eax, 0x74e42f7a
and eax, 0x34088347
sub eax, 0xd7ba2d79
add eax, 0x3d3610d1
and eax, 0xf8fe9413
imul eax, eax, 0xd2801771
sub eax, 0x1191cfda
imul eax, eax, 0x41fdbda
xor eax, 0x29e499f6
and eax, 0x3c6c37da
imul eax, eax, 0x270ef05f
xor eax, 0xf60fbb91
sub eax, 0xddc351ea
mov ecx, 0x32ceba5
xor edx, edx
div ecx
sub eax, 0x839d0a4d
add eax, 0xbdd44a55
mov ecx, 0x236fc84a
xor edx, edx
div ecx
xor eax, 0xdfb612ef
cmp eax, 0x39699d02
je 0x10078eb9
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x100db598]
and eax, dword [0x100db59c]
sub eax, 0xfaa8b975
sub eax, 0xe90d4dc1
mov esi, 0xfff3c932
xor edx, edx
div esi
or eax, 0x606b81c9
xor eax, 0xa476d21a
sub eax, 0x50f9de77
mov esi, 0x70efe62b
xor edx, edx
div esi
sub eax, 0x958a19f9
imul eax, eax, 0xde9c22e1
xor eax, 0x869c1c20
or eax, 0x140ffbf
sub eax, 0xb19ed3ec
or eax, 0x413111a4
and eax, 0x4a37642a
xor eax, 0x34f4a43e
mov esi, 0x8f209c17
xor edx, edx
div esi
and eax, 0xb117ec3a
mov esi, 0x6918bf5
xor edx, edx
div esi
mov esi, 0xb6fd584a
xor edx, edx
div esi
add eax, 0x25e4e8e9
and eax, 0xd31a01eb
add eax, 0x7671e4e
and eax, 0x734fd74a
xor eax, 0xad84b996
add eax, 0xc5f233b
add eax, 0x2079e716
and eax, 0xa35e8fd3
add eax, 0x8143168d
add eax, 0x414af3bb
and eax, 0x62bdbbf4
xor eax, 0x59834225
and eax, 0x1650fb11
or eax, 0xf3254db9
mov esi, 0x36db2c4
xor edx, edx
div esi
xor eax, 0x12bd151f
or eax, 0x6eedb5a6
imul eax, eax, 0x8009287
add eax, 0xba892e32
and eax, 0xc66f708c
imul eax, eax, 0xdc29ea70
or eax, 0xa13f44b3
add eax, 0x233a5a53
mov esi, 0x920e5912
xor edx, edx
div esi
mov esi, 0xe7f9844c
xor edx, edx
div esi
or eax, 0x497cbc60
xor eax, 0xcca6e7ad
mov esi, 0x9ff527a9
xor edx, edx
div esi
add eax, 0x13dc51bb
imul eax, eax, 0xdf8ad31a
xor eax, 0xd2e0694b
sub eax, 0x70d23061
xor eax, 0x1c6b223
imul eax, eax, 0xde3859e3
add eax, 0x8b88e35a
or eax, 0xcc49d881
imul eax, eax, 0xfed201f0
and eax, 0x14f73aef
xor eax, 0xfe8ffab4
mov esi, 0x3441f3d1
xor edx, edx
div esi
add eax, 0x3d6beb58
imul eax, eax, 0x43f14db5
or eax, 0xe78c9ce8
and eax, 0x80abbf78
mov esi, 0x92a71dad
xor edx, edx
div esi
sub eax, 0x6b69269c
add eax, 0x539f28ae
mov esi, 0xca5581f1
xor edx, edx
div esi
mov edx, dword [ebp - 0x20]
mov esi, eax
mov eax, dword [ebp - 0x28]
and esi, 0x66ea0ea6
xor esi, 0x64638a84
xor esi, 0x4beba143
and esi, 0x32f33dd7
and esi, 0xc685f7d2
mov dword [ebp - 0x34], esi
mov eax, dword [eax]
mov ecx, dword [ecx]
mov edx, dword [edx + 4]
xor esi, esi
sub esp, 0x10
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]
mov ecx, dword [ebp - 0x2c]
mov edx, eax
mov eax, dword [ebp - 0x34]
mov dword [ecx], edx
cmp eax, 0xf91fed4b
jae 0x10078eb9
jmp 0x10078e87
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
push eax
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edi], ebx
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x100786bd
jmp 0x100788f0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov edx, dword [edx + 4]
xor esi, esi
sub esp, 0x10
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]
mov ecx, eax
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
jmp 0x10078c8b