Function at 0x423e20
Capabilities:
Get common file path
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa1c
mov eax, dword [0x4b1240]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa18], esp
push 7
mov ebx, 0xf
xor edi, edi
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], edi
push str.Thunder
mov byte [ecx], 0
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00402870
lea eax, [ebp - 0x604]
push str.DatamoviesThunder.bik
push eax
call fcn.00409550
lea ecx, [ebp - 0x604]
push 0x497df4
push ecx
mov dword [ebp - 0xa18], edi
call fcn.004644f9
mov esi, eax
add esp, 0x10
cmp esi, edi
je 0x423f2f
push 2
push edi
push esi
call fcn.00464bad
push esi
call fcn.00464abe
add esp, 0x10
cmp eax, 0x399c8
jle 0x423f1a
push edi
push 0x3aaa0
push esi
call fcn.00464bad
push esi
push 1
push 4
push 0x4b2c50
call fcn.0046490d
mov eax, dword [0x4b2c50]
inc eax
add esp, 0x1c
mov dword [0x4b2c50], eax
cmp eax, edi
jle 0x423f1a
xor ecx, ecx
mov edx, 0x14
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00462b8e
mov ecx, eax
mov eax, dword [0x4b2c50]
lea eax, [eax + eax*4]
push esi
add eax, eax
push 1
add eax, eax
push eax
push ecx
mov dword [ebp - 0xa18], ecx
call fcn.0046490d
add esp, 0x14
push esi
call fcn.004643ac
lea ecx, [ebp - 0x604]
push ecx
call fcn.00408e60
add esp, 8
lea edx, [ebp - 0x104]
push edx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x204]
push 0x49864c
push eax
call fcn.00463940
lea eax, [ebp - 0x204]
add esp, 8
mov esi, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x423f60
lea edi, [ebp - 0x104]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x423f70
fld1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
lea ecx, [ebp - 0x104]
fst dword [esp]
push 1
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa1c], esp
mov dword [ecx + 0x14], ebx
xor ebx, ebx
push 7
mov dword [ecx + 0x10], ebx
push str.Thunder
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00402ce0
lea edx, [ebp - 0xa14]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea eax, [ebp - 0xa04]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
movzx ecx, word [ebp - 0xa0e]
movzx edx, word [ebp - 0xa12]
movzx eax, word [ebp - 0xa14]
push ecx
push edx
push eax
push 0x497c30
lea ecx, [ebp - 0xa04]
push ecx
push str._s_sOutInfo__04d_02d_02d.txt
lea edx, [ebp - 0x804]
push 0x100
push edx
call fcn.004646a5
lea eax, [ebp - 0x804]
push 0x497c0c
push eax
call fcn.004644f9
mov edi, eax
add esp, 0x28
cmp edi, ebx
je 0x424127
push 0x498d10
lea ecx, [ebp - 0x404]
push 0x100
push ecx
call fcn.004646a5
lea edx, [ebp - 0x404]
push edx
push 0x497ac8
push edi
call fcn.00464123
add esp, 0x18
cmp dword [0x4b2c50], ebx
jle 0x42411e
mov esi, dword [ebp - 0xa18]
add esi, 0xf
movzx ecx, word [esi - 3]
test cx, cx
je 0x42410e
mov al, byte [esi]
cmp al, 0x32
movzx eax, al
ja 0x4240a5
mov eax, dword [eax*4 + 0x4b2a1c]
movzx edx, word [esi + 1]
push ecx
movzx ecx, byte [esi - 4]
push edx
movzx edx, byte [esi - 1]
push ecx
movzx ecx, word [esi - 7]
push eax
movzx eax, byte [esi + 3]
push edx
movzx edx, word [esi - 9]
push eax
movzx eax, word [esi - 0xb]
push ecx
movzx ecx, word [esi - 0xd]
push edx
movzx edx, word [esi - 0xf]
push eax
push ecx
push edx
push str._02d:_02d:_02d:_02d:_02d:_02d____02d__02d______02d____6d:_6d_n
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.004646a5
lea ecx, [ebp - 0x404]
push ecx
push 0x497ac8
push edi
call fcn.00464123
mov edx, dword [0x4b54e8]
add esp, 0x44
push edx
call fcn.004640c7
add esp, 4
inc ebx
add esi, 0x14
cmp ebx, dword [0x4b2c50]
jl 0x42408c
push edi
call fcn.004643ac
add esp, 4
mov eax, dword [ebp - 0xa18]
test eax, eax
je 0x42413a
push eax
call fcn.00464dfa
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00463931
mov esp, ebp
pop ebp
ret