Function at 0x100273b0
Capabilities:
Encode data using xor
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x478
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0xc], 0xffffffff
xorps xmm0, xmm0
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x46c], eax
lea eax, [ebp - 0x428]
push esi
movdqu xmmword [ebp - 0x430], xmm0
push edi
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x468], 0x30809
mov dword [ebp - 0x464], 0xb0e0502
mov dword [ebp - 0x460], 0xf010704
mov dword [ebp - 0x45c], 0xd060a0c
je 0x1002770d
push 0x104
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
call fcn.10027170
push eax
lea eax, [ebp - 0x418]
push 0x104
push eax
call dword [sym.imp.MSVCR120.dll_wcscat_s]
add esp, 0xc
cmp word [ebp - 0x418], 0
jne 0x10027463
mov edi, 0x100c0632
jmp 0x1002751e
lea esi, [ebp - 0x418]
lea ecx, [esi + 2]
lea esp, [esp]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x10027470
sub esi, ecx
sar esi, 1
lea ecx, [esi*4 + 4]
lea eax, [ecx + 8]
cmp eax, ecx
jbe 0x100274d8
lea eax, [esi*4 + 0xc]
cmp eax, 0x400
ja 0x100274b1
call fcn.100990e0
mov edi, esp
test edi, edi
je 0x100274da
mov dword [edi], 0xcccc
add edi, 8
jmp 0x100274da
xor eax, eax
add ecx, 8
setb al
neg eax
or eax, ecx
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
mov edi, eax
add esp, 4
test edi, edi
je 0x100274da
mov dword [edi], 0xdddd
add edi, 8
jmp 0x100274da
xor edi, edi
push edi
lea ecx, [ebp - 0x430]
lea esi, [esi*4 + 4]
call fcn.10010950
xor eax, eax
cmp esi, 1
jle 0x1002751a
mov dword [ebp - 0x41c], eax
xor edx, edx
lea eax, [ebp - 0x41c]
xor ecx, ecx
push eax
push 0
push esi
push edi
lea eax, [ebp - 0x418]
push 0xffffffffffffffff
push eax
call fcn.10035400
add esp, 0x18
mov byte [eax + edi], 0
push 0x100c0b64
lea eax, [ebp - 0x458]
push edi
push eax
call dword [sym.imp.MSVCR120.dll_fopen_s]
add esp, 0xc
test eax, eax
jne 0x1002771f
push 0x100
push eax
lea eax, [ebp - 0x210]
push eax
call sub.MSVCR120.dll_memset
mov edi, dword [sym.imp.MSVCR120.dll_feof]
add esp, 0xc
mov ebx, dword [sym.imp.MSVCR120.dll_fgetc]
xor esi, esi
nop
push dword [ebp - 0x458]
call edi
add esp, 4
test eax, eax
jne 0x10027587
push dword [ebp - 0x458]
call ebx
mov byte [ebp + esi - 0x210], al
add esp, 4
inc esi
cmp esi, 0x10
jl 0x10027560
lea esi, [ebp - 0x210]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10027590
sub esi, ecx
xor edx, edx
shr esi, 1
test esi, esi
jle 0x100275e0
movsx eax, byte [ebp + edx - 0x460]
mov ecx, edx
and ecx, 7
movzx eax, byte [ebp + eax - 0x210]
mov byte [ebp + edx - 0x478], al
movsx eax, byte [ebp + edx - 0x468]
movzx eax, byte [ebp + eax - 0x210]
xor al, byte [ebp + ecx - 0x478]
mov byte [ebp + edx - 0x110], al
inc edx
cmp edx, esi
jl 0x100275a1
cmp esi, 0x100
jae 0x10027745
mov edi, dword [sym.imp.MSVCR120.dll_strncpy_s]
lea eax, [ebp - 0x110]
push 4
push eax
lea eax, [ebp - 0x10]
mov byte [ebp + esi - 0x110], 0
push 0xa
push eax
call edi
mov esi, dword [sym.imp.MSVCR120.dll_atoi]
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0xc], 0
call esi
sub eax, 0x76c
mov dword [ebp - 0x440], eax
lea eax, [ebp - 0x10c]
push 2
push eax
lea eax, [ebp - 0x10]
push 0xa
push eax
call edi
lea eax, [ebp - 0x10]
mov byte [ebp - 0xe], 0
push eax
call esi
dec eax
mov dword [ebp - 0x444], eax
lea eax, [ebp - 0x10a]
push 2
push eax
lea eax, [ebp - 0x10]
push 0xa
push eax
call edi
lea eax, [ebp - 0x10]
mov byte [ebp - 0xe], 0
push eax
call esi
mov dword [ebp - 0x448], eax
lea eax, [ebp - 0x454]
push eax
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x454], 0
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x438], 0
call dword [sym.imp.MSVCR120.dll__mktime64]
add esp, 0x40
mov edi, eax
lea eax, [ebp - 0x420]
mov esi, edx
push eax
call dword [sym.imp.MSVCR120.dll__time64]
push esi
push edi
push dword [ebp - 0x41c]
push dword [ebp - 0x420]
call fcn.10025660
divsd xmm0, qword [0x100c6690]
add esp, 0x14
comisd xmm0, xmmword [0x100c6620]
jb 0x1002771f
mov ecx, dword [ebp + 0xc]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
comisd xmm1, xmm0
jb 0x1002771f
cvttsd2si eax, xmm0
sub ecx, eax
mov eax, dword [ebp - 0x46c]
mov dword [eax], ecx
lea ecx, [ebp - 0x430]
call fcn.10010900
mov eax, 1
jmp 0x1002772c
lea ecx, [ebp - 0x430]
call fcn.10010900
xor eax, eax
lea esp, [ebp - 0x484]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100944ae
mov esp, ebp
pop ebp
ret 8
call fcn.10094838
int3