Function at 0x44feb0
Capabilities:
Enumerate files on windows
Get common file path
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xf49e8
call fcn.00464560
mov eax, dword [0x4b1240]
xor eax, ebp
mov dword [ebp - 4], eax
fldz
push ebx
push esi
fst dword [ebp - 0xf49bc]
push edi
fstp dword [ebp - 0xf49c4]
lea eax, [ebp - 0x604]
xor edi, edi
push eax
push 0x100
mov dword [ebp - 0xf49c8], edi
mov dword [ebp - 0xf49b8], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov esi, 1
mov dword [ebp - 0xf49ac], edi
mov dword [ebp - 0xf49b0], edi
mov dword [ebp - 0xf49b4], edi
mov dword [ebp - 0xf49d4], esi
push esi
lea ecx, [ebp - 0x604]
push ecx
lea edx, [ebp - 0x804]
push str._sDataSetting_d_
push edx
call fcn.00409550
push esi
lea eax, [ebp - 0x604]
push eax
lea ecx, [ebp - 0x204]
push str._sDataSetting_d.chp
push ecx
call fcn.00409550
add esp, 0x20
lea edx, [ebp - 0xf49a0]
push edx
lea eax, [ebp - 0x204]
push eax
mov dword [ebp - 0xf49a4], edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
mov dword [ebp - 0xf49cc], ebx
cmp ebx, 0xffffffff
je 0x45036e
mov dword [ebp - 0xf49a8], edi
jmp 0x44ff80
test byte [ebp - 0xf49a0], 0x20
je 0x450358
lea ecx, [ebp - 0xf4974]
push ecx
lea edx, [ebp - 0x804]
push edx
lea eax, [ebp - 0x204]
push str._s_s
push eax
call fcn.00409550
lea ecx, [ebp - 0x204]
push 0x497df4
push ecx
call fcn.004644f9
mov edi, eax
add esp, 0x18
mov dword [ebp - 0xf49d0], edi
test edi, edi
je 0x450349
mov esi, dword [ebp - 0xf49b4]
add esi, dword [ebp - 0xf49a4]
push edi
add esi, esi
push 1
add esi, esi
lea eax, [esi + 0x4b6b30]
push 4
push eax
mov dword [eax], 0x1f4
call fcn.0046490d
push edi
push 1
lea ecx, [esi + 0x4b6c48]
push 4
push ecx
call fcn.0046490d
add esp, 0x20
xor esi, esi
mov dword [ebp - 0xf49c0], esi
push edi
push 1
lea edx, [ebp - 0xf49c8]
push 4
push edx
call fcn.0046490d
add esp, 0x10
cmp dword [ebp - 0xf49c8], 0
jle 0x4502e2
mov eax, dword [ebp - 0xf49b0]
add eax, dword [ebp - 0xf49a4]
mov dword [ebp - 0xf49dc], 0
mov ebx, eax
shl ebx, 4
sub ebx, eax
lea edx, [ebx + esi]
mov dword [ebp - 0xf49e4], ebx
mov dword [ebp - 0xf49e8], edx
push edi
push 1
lea eax, [ebp - 0xf49c4]
push 4
push eax
call fcn.0046490d
fld dword [ebp - 0xf49c4]
fmul qword [0x481600]
add esp, 0x10
call fcn.00463ab0
mov ecx, dword [ebp - 0xf49e8]
mov dword [ecx*4 + 0x4b6d60], eax
cmp dword [0x4b01fc], eax
jge 0x4500ab
test esi, esi
jne 0x4500ab
mov edx, dword [ebx*4 + 0x4b6d60]
mov dword [0x4b01fc], edx
cmp eax, dword [0x4b01f8]
jge 0x4500c4
test esi, esi
jne 0x4500c4
mov ecx, dword [ebx*4 + 0x4b6d60]
mov dword [0x4b01f8], ecx
cmp eax, dword [0x4b0200]
jge 0x4500de
cmp esi, 1
jne 0x4500de
mov edx, dword [ebx*4 + 0x4b6d64]
mov dword [0x4b0200], edx
push edi
push 1
lea eax, [ebp - 0xf49b8]
push 4
push eax
call fcn.0046490d
add esp, 0x10
cmp dword [ebp - 0xf49b8], 0
jle 0x4502c9
mov ecx, dword [ebp - 0xf49ac]
mov edx, dword [ebp - 0xf49a8]
mov dword [ebp - 0xf49d8], 0
mov dword [ebp - 0xf4750], esi
lea ebx, [ecx + edx + 0x4b7dc8]
fldz
push edi
push 1
fstp dword [ebp - 0xf49bc]
lea eax, [ebp - 0xf49bc]
push 4
push eax
call fcn.0046490d
fld dword [ebp - 0xf49bc]
fld qword [0x481600]
add esi, 0xfffffffa
fmul st(1), st(0)
add esp, 0x10
fxch st(1)
fstp dword [ebp - 0xf474c]
fmul dword [ebp - 0xf49c4]
fstp dword [ebp - 0xf4748]
cmp esi, 2
ja 0x450170
fldz
fstp dword [ebp - 0xf4748]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xf4750]
cmp edx, ecx
jae 0x450222
mov edi, dword [ebx]
mov eax, edx
cmp edi, eax
ja 0x450222
mov esi, dword [ebx + 8]
sub edx, edi
mov eax, 0x2aaaaaab
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xf49e0], eax
cmp ecx, esi
jne 0x45020a
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x15555554
ja 0x45044f
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x450204
mov edx, eax
shr edx, 1
mov esi, 0x15555555
sub esi, edx
cmp esi, eax
jae 0x4501f4
xor eax, eax
jmp 0x4501f6
add eax, edx
cmp eax, ecx
jae 0x4501fc
mov eax, ecx
push eax
mov ecx, ebx
call fcn.004155b0
mov eax, dword [ebp - 0xf49e0]
mov edx, dword [ebx]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*4]
mov ecx, dword [ebx + 4]
push eax
push ecx
lea edx, [ebx + 0xc]
push edx
call fcn.0040aca0
jmp 0x450297
mov esi, dword [ebx + 8]
cmp ecx, esi
jne 0x450283
mov edi, dword [ebx]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x15555554
ja 0x45044f
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x450283
mov edx, eax
shr edx, 1
mov esi, 0x15555555
sub esi, edx
cmp esi, eax
jae 0x450273
xor eax, eax
jmp 0x450275
add eax, edx
cmp eax, ecx
jae 0x45027b
mov eax, ecx
push eax
mov ecx, ebx
call fcn.004155b0
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0xf4750]
push eax
push ecx
lea edx, [ebx + 0xc]
push edx
call fcn.0040aca0
mov eax, dword [ebp - 0xf49d8]
add dword [ebx + 4], 0xc
mov edi, dword [ebp - 0xf49d0]
mov esi, dword [ebp - 0xf49c0]
inc eax
add esp, 0xc
mov dword [ebp - 0xf49d8], eax
cmp eax, dword [ebp - 0xf49b8]
jl 0x450122
mov ebx, dword [ebp - 0xf49e4]
mov eax, dword [ebp - 0xf49dc]
inc eax
mov dword [ebp - 0xf49dc], eax
cmp eax, dword [ebp - 0xf49c8]
jl 0x450060
inc esi
mov dword [ebp - 0xf49c0], esi
cmp esi, 0xf
jl 0x450013
mov ecx, dword [ebp - 0xf49a8]
mov eax, dword [ebp - 0xf49ac]
mov esi, dword [eax + ecx + 0x4b7dcc]
mov ebx, dword [eax + ecx + 0x4b7dc8]
lea eax, [eax + ecx + 0x4b7dc8]
mov ecx, esi
sub ecx, ebx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
push 0x408fa0
add eax, edx
push eax
push esi
push ebx
call fcn.00415a10
push edi
call fcn.004643ac
mov esi, dword [ebp - 0xf49d4]
mov ebx, dword [ebp - 0xf49cc]
add esp, 0x14
inc dword [ebp - 0xf49a4]
add dword [ebp - 0xf49a8], 0x10
xor edi, edi
lea ecx, [ebp - 0xf49a0]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x44ff80
add dword [ebp - 0xf49b4], 0x5be
add dword [ebp - 0xf49b0], 0x62
add dword [ebp - 0xf49ac], 0x16f8
inc esi
mov dword [ebp - 0xf49d4], esi
cmp esi, 0xb
jl 0x44ff15
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xf49cc], esp
push 7
mov ebx, 0xf
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 edx, [ebp - 0x204]
push str.DatamoviesThunder.bik
push edx
call fcn.00409550
lea eax, [ebp - 0x204]
push 0x497df4
push eax
call fcn.004644f9
mov esi, eax
add esp, 0x10
cmp esi, edi
je 0x4504cf
push 2
push edi
push esi
call fcn.00464bad
push esi
call fcn.00464abe
add esp, 0x10
cmp eax, 0x399c8
jle 0x450459
push edi
push 0x399c8
push esi
call fcn.00464bad
push esi
push 1
push 0x7f6
push 0x4b6338
call fcn.0046490d
push esi
push 1
push 0x308
push 0x4b2910
call fcn.0046490d
push esi
call fcn.004643ac
add esp, 0x30
jmp 0x4504cf
push 0x497ae0
call fcn.00462ad3
push esi
call fcn.004643ac
lea ecx, [ebp - 0x204]
push 0x497e88
push ecx
call fcn.004644f9
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4504cf
push 0
push 0x399c8
push edi
call fcn.00464bad
push esi
push 1
push 0x7f6
push 0x4b6338
call fcn.00464d80
push 0xf3f3f
lea edx, [ebp - 0xf4743]
push 0
push edx
mov byte [ebp - 0xf4744], 0
call fcn.004639d0
push esi
push 1
lea eax, [ebp - 0xf4744]
push 0xf3f40
push eax
call fcn.00464d80
push edi
call fcn.004643ac
add esp, 0x3c
lea ecx, [ebp - 0x304]
push ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [ebp - 0x404]
push 0x49864c
push edx
call fcn.00463940
lea eax, [ebp - 0x404]
add esp, 8
mov esi, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x450500
lea edi, [ebp - 0x304]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x450510
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 eax, [ebp - 0x304]
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 eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xf49cc], esp
push 7
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], 0
push str.Thunder
mov byte [ecx], 0
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00402ce0
call fcn.0044f840
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00463931
mov esp, ebp
pop ebp
ret