Function at 0x10025ff0
Capabilities:
Encode data using xor
Get common file path
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x174
mov eax, dword [ebp + 0x14]
push ebx
lea ecx, [eax + 0xbfa]
push esi
push edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
cmp eax, ecx
ja 0x1002608d
mov edi, dword [esp + 0x2c]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
xor edx, edx
cmp eax, 0x660b
ja 0x10026684
je 0x1002667d
cmp eax, 0x3c9a
ja 0x1002664c
je 0x100261a2
cmp eax, 0x1456
ja 0x10026192
je 0x10026156
cmp eax, 0xec4
je 0x1002606e
cmp eax, 0x140d
jne case.0x100266ac.26197
mov dword [esp + 0x30], edx
jmp case.0x100266ac.26197
mov esi, dword [ebp + 0xc]
cmp dword [esi], edx
jne 0x100260e9
mov esi, 0x5a44
mov eax, esi
sub eax, 0x5a44
je 0x100260b2
sub eax, 0x27
je 0x1002609c
sub eax, 0x27
jne 0x100260d9
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
imul edx, edx, 0x58
fld qword [edx + ebx + 0x48]
fsub qword [esp + 0x38]
fstp qword [esp + 0x20]
jmp 0x100260d9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
imul eax, eax, 0x58
fld qword [eax + ebx + 0x40]
add eax, ebx
sub esp, 8
lea edx, [esp + 0x40]
add eax, 0x20
fstp qword [esp]
push edx
push eax
call fcn.100149d0
add esp, 0x10
fstp st(0)
add esi, 0x27
cmp esi, 0x5a92
jbe 0x1002607a
jmp case.0x100266ac.26197
mov esi, 0x3c88
mov eax, esi
sub eax, 0x3c88
je 0x1002611f
sub eax, 0x2b
jne 0x10026146
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
imul eax, eax, 0x58
fld qword [eax + ebx - 0x10]
fadd qword [esp + 0x58]
fstp qword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
imul eax, eax, 0x58
fld qword [eax + ebx - 0x18]
add eax, ebx
sub esp, 8
lea edx, [esp + 0x40]
add eax, 0xffffffc8
fstp qword [esp]
push edx
push eax
call fcn.100149d0
add esp, 0x10
fstp st(0)
add esi, 0x2b
cmp esi, 0x3cb3
jbe 0x100260ee
jmp case.0x100266ac.26197
mov eax, dword [ebp + 0xc]
xor ebx, ebx
cmp dword [eax], edx
jle 0x10026185
mov esi, dword [ebp + 8]
add esi, 0x10
movzx ecx, byte [esi + 0x58]
movzx edx, byte [esi]
push ecx
push edx
call fcn.10022b20
add dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
inc ebx
add esp, 8
add esi, 0x58
cmp ebx, dword [eax]
jl 0x10026165
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
jmp case.0x100266ac.26197
cmp eax, 0x149f
je 0x1002608d
jmp case.0x100266ac.26197
cmp ebx, 0x103
ja 0x10026300
je 0x100265a8
lea eax, [ebx - 4]
cmp eax, 0xea
ja case.0x100266ac.26197
movzx esi, byte [eax + 0x10026af8]
jmp dword [esi*4 + 0x10026a9c]
mov ecx, 0x72f
mov eax, ecx
sub eax, 0x72f
je 0x100261e9
sub eax, 0x57
je 0x1002608d
jmp 0x100261f1
mov dword [esp + 0x20], fcn.100062e0
add ecx, 0x57
cmp ecx, 0x786
jbe 0x100261d5
mov eax, 0x24af
cmp eax, eax
je 0x100269aa
add eax, 7
cmp eax, 0x24af
jbe 0x10026203
mov eax, 0x6487
cmp eax, eax
je 0x100269ba
add eax, 0x56
cmp eax, 0x6487
jbe 0x1002621a
mov eax, 0x7ad0
cmp eax, eax
je 0x100269ca
add eax, 0x2e
cmp eax, 0x7ad0
jbe 0x10026231
mov eax, 0x64a7
cmp eax, eax
je 0x100269da
add eax, 0x2c
cmp eax, 0x64a7
jbe 0x10026248
mov ecx, 0x56b9
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x56b9
je 0x10026274
sub eax, 0x2d
je 0x1002608d
jmp 0x1002627c
mov dword [esp + 0x20], fcn.100082a0
add ecx, 0x2d
cmp ecx, 0x56e6
jbe 0x10026260
mov ecx, 0x77ad
lea esp, [esp]
mov eax, ecx
sub eax, 0x77ad
je 0x100262a4
sub eax, 0x61
je 0x1002608d
jmp 0x100262ac
mov dword [esp + 0x20], fcn.10008030
add ecx, 0x61
cmp ecx, 0x780e
jbe 0x10026290
mov ecx, 0x467
lea esp, [esp]
mov eax, ecx
sub eax, 0x467
je 0x100262d4
sub eax, 0x23
je 0x1002608d
jmp 0x100262dc
mov dword [esp + 0x20], fcn.100092e0
add ecx, 0x23
cmp ecx, 0x48a
jbe 0x100262c0
mov ecx, 0x13a6
mov eax, ecx
sub eax, 0x13a6
je 0x1002631d
sub eax, 0x15
je 0x1002608d
jmp 0x10026325
lea edx, [ebx - 0x104]
cmp edx, 0x4a
ja case.0x100266ac.26197
movzx edx, byte [edx + 0x10026c0c]
jmp dword [edx*4 + 0x10026be4]
mov dword [esp + 0x20], fcn.1000aef0
add ecx, 0x15
cmp ecx, 0x13bb
jbe 0x100262ec
mov eax, 0x2d06
cmp eax, eax
je 0x100269ea
add eax, 0x64
cmp eax, 0x2d06
jbe 0x10026337
mov eax, 0x237d
cmp eax, eax
je 0x100269fa
add eax, 0x48
cmp eax, 0x237d
jbe 0x1002634e
mov eax, 0x3cb1
cmp eax, eax
je 0x10026a0a
add eax, 0x23
cmp eax, 0x3cb1
jbe 0x10026365
mov ecx, 0x615a
mov eax, ecx
sub eax, 0x615a
je 0x1002638e
sub eax, 0x12
je 0x1002608d
jmp 0x10026396
mov dword [esp + 0x20], 0x1000c690
add ecx, 0x12
cmp ecx, 0x616c
jbe 0x1002637a
mov eax, 0x4ff
cmp eax, eax
je 0x10026a1a
add eax, 0x39
cmp eax, 0x4ff
jbe 0x100263a8
mov eax, 0x669f
cmp eax, eax
je 0x10026a2a
add eax, 0x20
cmp eax, 0x669f
jbe 0x100263bf
mov ecx, 0x3b30
mov eax, ecx
sub eax, 0x3b30
je 0x100263e8
sub eax, 0x1b
je 0x1002608d
jmp 0x100263f0
mov dword [esp + 0x20], fcn.10008400
add ecx, 0x1b
cmp ecx, 0x3b4b
jbe 0x100263d4
mov ecx, 0x394e
mov eax, ecx
sub eax, 0x394e
je 0x10026414
sub eax, 0x27
je 0x1002608d
jmp 0x1002641c
mov dword [esp + 0x20], fcn.1000aed0
add ecx, 0x27
cmp ecx, 0x3975
jbe 0x10026400
mov eax, 0x60f7
cmp eax, eax
je 0x10026a3a
add eax, 0xd
cmp eax, 0x60f7
jbe 0x1002642e
mov eax, 0x990
cmp eax, eax
je 0x10026a4a
add eax, 0x2b
cmp eax, 0x990
jbe 0x10026445
mov ecx, 0x6c04
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x6c04
je 0x10026474
sub eax, 0x24
je 0x1002608d
jmp 0x1002647c
mov dword [esp + 0x20], fcn.1000afa0
add ecx, 0x24
cmp ecx, 0x6c28
jbe 0x10026460
mov ecx, 0x1597
mov eax, ecx
sub eax, 0x1597
je 0x100264a0
sub eax, 0x1d
je 0x1002608d
jmp 0x100264a8
mov dword [esp + 0x20], fcn.10005730
add ecx, 0x1d
cmp ecx, 0x15b4
jbe 0x1002648c
mov eax, 0x2916
cmp eax, eax
je 0x10026a5a
add eax, 0x23
cmp eax, 0x2916
jbe 0x100264ba
mov ecx, 0x3ce6
mov eax, ecx
sub eax, 0x3ce6
je 0x100264e3
sub eax, 0x5e
je 0x1002608d
jmp 0x100264eb
mov dword [esp + 0x20], fcn.10009290
add ecx, 0x5e
cmp ecx, 0x3d44
jbe 0x100264cf
mov eax, 0x758b
cmp eax, eax
je 0x10026a6a
add eax, 0x29
cmp eax, 0x758b
jbe 0x100264fd
mov ecx, 0x16d2
mov eax, ecx
sub eax, 0x16d2
je 0x10026526
sub eax, 0x59
je 0x1002608d
jmp 0x1002652e
mov dword [esp + 0x20], fcn.10009340
add ecx, 0x59
cmp ecx, 0x172b
jbe 0x10026512
mov eax, 0x3f07
cmp eax, eax
je 0x10026a7a
add eax, 0x4b
cmp eax, 0x3f07
jbe 0x10026540
mov ecx, 0x6269
mov eax, ecx
sub eax, 0x6269
je 0x10026569
sub eax, 0x47
je 0x1002608d
jmp 0x10026571
mov dword [esp + 0x20], fcn.10009560
add ecx, 0x47
cmp ecx, 0x62b0
jbe 0x10026555
mov ecx, 0x20d5
mov eax, ecx
sub eax, 0x20d5
je 0x10026595
sub eax, 0x16
je 0x1002608d
jmp 0x1002659d
mov dword [esp + 0x20], fcn.100067a0
add ecx, 0x16
cmp ecx, 0x20eb
jbe 0x10026581
mov eax, 0x79c3
cmp eax, eax
je 0x10026a8a
add eax, 0x26
cmp eax, 0x79c3
jbe 0x100265af
mov ecx, 0xdaf
mov eax, ecx
sub eax, 0xdaf
je 0x100265d8
sub eax, 0x3f
je 0x1002608d
jmp 0x100265e0
mov dword [esp + 0x20], fcn.10005820
add ecx, 0x3f
cmp ecx, 0xdee
jbe 0x100265c4
mov ecx, 0x7b1d
mov eax, ecx
sub eax, 0x7b1d
je 0x10026604
sub eax, 0xb
je 0x1002608d
jmp 0x1002660c
mov dword [esp + 0x20], fcn.10006620
add ecx, 0xb
cmp ecx, 0x7b28
jbe 0x100265f0
mov ecx, 0x40b8
lea esp, [esp]
mov eax, ecx
sub eax, 0x40b8
je 0x10026634
sub eax, 0x52
je 0x1002608d
jmp 0x1002663c
mov dword [esp + 0x20], 0x1000cbc0
add ecx, 0x52
cmp ecx, 0x410a
jbe 0x10026620
jmp case.0x100266ac.26197
sub eax, 0x3ce3
je 0x10026674
sub eax, 0x49
je 0x1002608d
sub eax, 0x2896
jne case.0x100266ac.26197
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
jmp case.0x100266ac.26197
mov dword [esp + 0x20], edx
jmp case.0x100266ac.26197
mov edi, dword [ebx]
jmp case.0x100266ac.26197
cmp eax, 0x6778
ja 0x10026967
je 0x10026941
add eax, 0xffff99ac
cmp eax, 0xdb
ja case.0x100266ac.26197
movzx eax, byte [eax + 0x10026c6c]
jmp dword [eax*4 + 0x10026c58]
cmp dword [esi], 0x20
jb 0x10026851
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x10]
mov esi, 0x2141
cmp esi, 0x2312
ja 0x100267a2
je 0x1002675a
cmp esi, 0x21fb
ja 0x1002673e
je 0x100266f6
mov eax, esi
sub eax, 0x2141
je 0x100266f6
sub eax, 0x5d
jne 0x10026835
xor edi, dword [ebx]
add ebx, 4
mov edx, edi
shr edx, 0x10
mov eax, edi
and edx, 0xff
mov edx, dword [edx*4 + 0x1003bc70]
shr eax, 8
and eax, 0xff
xor edx, dword [eax*4 + 0x1003c070]
mov eax, edi
shr eax, 0x18
xor edx, dword [eax*4 + 0x1003b870]
and edi, 0xff
xor edx, dword [edi*4 + 0x1003c470]
mov edi, edx
jmp 0x10026835
mov eax, esi
sub eax, 0x2258
je 0x100266f6
sub eax, 0x5d
jne 0x10026835
xor edi, dword [ebx]
add ebx, 4
jmp 0x10026835
mov edx, edi
shr edx, 0x10
and edx, 0xff
mov edx, dword [edx*4 + 0x1003bc70]
mov eax, edi
shr eax, 8
and eax, 0xff
xor edx, dword [eax*4 + 0x1003c070]
mov eax, edi
shr eax, 0x18
xor edx, dword [eax*4 + 0x1003b870]
and edi, 0xff
xor edx, dword [edi*4 + 0x1003c470]
xor edx, dword [ebx]
add ebx, 4
mov edi, edx
jmp 0x10026835
cmp esi, 0x2429
ja 0x100267c9
je 0x1002675a
mov eax, esi
sub eax, 0x236f
je 0x100266fb
sub eax, 0x5d
jne 0x10026835
xor edi, dword [ebx]
add ebx, 4
jmp 0x10026835
mov eax, esi
sub eax, 0x2486
je 0x100267dc
sub eax, 0x5d
jne 0x10026835
add dword [ecx], 0xffffffe0
jmp 0x10026835
mov ecx, edi
shr ecx, 0x10
mov edx, edi
and ecx, 0xff
mov eax, dword [ecx*4 + 0x1003bc70]
shr edx, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x1003c070]
mov ecx, edi
lea edx, [esp + 0x78]
push edx
shr ecx, 0x18
xor eax, dword [ecx*4 + 0x1003b870]
and edi, 0xff
xor eax, dword [edi*4 + 0x1003c470]
push 0
push str.DEMO
push str.MyCatalog
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov ecx, dword [ebp + 0x10]
add esi, 0x5d
cmp esi, 0x24e3
jbe 0x100266c8
cmp dword [ecx], 0x20
jae 0x100266c3
mov dword [esp + 0x28], ebx
mov eax, dword [ebp + 0x10]
cmp dword [eax], 4
jb case.0x100266ac.26197
mov ebx, dword [esp + 0x28]
mov esi, eax
mov ecx, 0x4a88
mov eax, ecx
sub eax, 0x4a88
je 0x1002687b
sub eax, 0x13
jne 0x100268be
add dword [esi], 0xfffffffc
jmp 0x100268be
xor edi, dword [ebx]
add ebx, 4
mov eax, edi
shr eax, 0x10
mov edx, edi
and eax, 0xff
mov eax, dword [eax*4 + 0x1003bc70]
shr edx, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x1003c070]
mov edx, edi
shr edx, 0x18
xor eax, dword [edx*4 + 0x1003b870]
and edi, 0xff
xor eax, dword [edi*4 + 0x1003c470]
mov edi, eax
add ecx, 0x13
cmp ecx, 0x4a9b
jbe 0x10026868
cmp dword [esi], 4
jae 0x10026863
mov dword [esp + 0x28], ebx
jmp case.0x100266ac.26197
cmp dword [esi], edx
je 0x1002692f
jmp 0x100268e0
mov ebx, dword [ebp + 0xc]
test bl, 3
je 0x10026932
mov ecx, 0x60b8
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x60b8
je 0x10026902
sub eax, 0x56
jne 0x10026917
dec dword [esi]
jmp 0x10026917
movzx eax, byte [ebx]
xor eax, edi
and eax, 0xff
shr edi, 8
xor edi, dword [eax*4 + 0x1003b870]
inc ebx
add ecx, 0x56
cmp ecx, 0x610e
jbe 0x100268f0
mov dword [ebp + 0xc], ebx
cmp dword [esi], edx
jne 0x100268e0
mov dword [esp + 0x28], ebx
jmp case.0x100266ac.26197
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x28], ebx
jmp case.0x100266ac.26197
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0xc], ecx
jmp case.0x100266ac.26197
cmp dword [esi], edx
je case.0x100266ac.26197
mov ebx, dword [ebp + 0xc]
movzx ecx, byte [ebx]
xor ecx, edi
and ecx, 0xff
shr edi, 8
xor edi, dword [ecx*4 + 0x1003b870]
inc ebx
dec dword [esi]
mov dword [ebp + 0xc], ebx
jne 0x10026945
jmp case.0x100266ac.26197
sub eax, 0x67c1
je case.0x100266ac.26196
sub eax, 0x49
je 0x1002697e
sub eax, 0x49
je 0x1002608d
jmp case.0x100266ac.26197
mov dword [esp + 0x20], edi
jmp case.0x100266ac.26197
not edi
mov eax, dword [esp + 0x34]
add eax, 0x49
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x2c]
jbe 0x10026018
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.10005730
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.10005730
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.10009260
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x100060f0
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.10005ec0
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x10009630
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.10009500
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.10008030
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x10009d90
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.10005730
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x1000c690
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.100098b0
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.10005730
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, fcn.10008dc0
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x24]
pop edi
pop esi
mov eax, 0x10008000
pop ebx
mov esp, ebp
pop ebp
ret