Function at 0x449420
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, 0xf49e4
call fcn.0045cc30
mov eax, dword [0x4a4cf0]
xor eax, ebp
mov dword [ebp - 4], eax
fldz
push ebx
push esi
fst dword [ebp - 0xf49c8]
push edi
fstp dword [ebp - 0xf49b8]
lea eax, [ebp - 0x604]
xor ebx, ebx
push eax
push 0x100
mov dword [ebp - 0xf49ac], ebx
mov dword [ebp - 0xf49a8], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov esi, 1
mov dword [ebp - 0xf49a4], ebx
mov dword [ebp - 0xf49cc], ebx
mov dword [ebp - 0xf49c4], ebx
mov dword [ebp - 0xf49dc], esi
jmp 0x449489
xor ebx, ebx
push esi
lea ecx, [ebp - 0x604]
push ecx
lea edx, [ebp - 0x804]
push str._sDataSetting_d_
push edx
call fcn.00409630
push esi
lea eax, [ebp - 0x604]
push eax
lea ecx, [ebp - 0x204]
push str._sDataSetting_d.chp
push ecx
call fcn.00409630
add esp, 0x20
lea edx, [ebp - 0xf49a0]
push edx
lea eax, [ebp - 0x204]
push eax
mov dword [ebp - 0xf49bc], ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [ebp - 0xf49c0], edi
cmp edi, 0xffffffff
je 0x4498fc
lea esp, [esp]
test byte [ebp - 0xf49a0], 0x20
je 0x4498e6
lea ecx, [ebp - 0xf4974]
push ecx
lea edx, [ebp - 0x804]
push edx
lea eax, [ebp - 0x204]
push str._s_s
push eax
call fcn.00409630
lea ecx, [ebp - 0x204]
push 0x48c09c
push ecx
call fcn.0045cbc7
mov edi, eax
add esp, 0x18
mov dword [ebp - 0xf49e0], edi
test edi, edi
je 0x4498d9
mov esi, dword [ebp - 0xf49c4]
add esi, ebx
push edi
add esi, esi
push 1
add esi, esi
lea eax, [esi + 0x4aa550]
push 4
push eax
mov dword [eax], 0x1f4
call fcn.0045cfbf
push edi
push 1
lea eax, [esi + 0x4aa668]
push 4
push eax
call fcn.0045cfbf
add esp, 0x20
xor esi, esi
mov dword [ebp - 0xf49b4], esi
nop
push edi
push 1
lea ecx, [ebp - 0xf49ac]
push 4
push ecx
call fcn.0045cfbf
add esp, 0x10
cmp dword [ebp - 0xf49ac], 0
jle 0x449876
mov eax, dword [ebp - 0xf49cc]
add eax, ebx
lea ebx, [eax*8]
sub ebx, eax
add ebx, ebx
lea eax, [ebx + esi]
mov dword [ebp - 0xf49d0], 0
mov dword [ebp - 0xf49b0], ebx
mov dword [ebp - 0xf49e4], eax
lea ecx, [ecx]
push edi
push 1
lea ecx, [ebp - 0xf49b8]
push 4
push ecx
call fcn.0045cfbf
fld dword [ebp - 0xf49b8]
fmul qword [0x47a5f8]
add esp, 0x10
call fcn.0045c160
mov edx, dword [ebp - 0xf49e4]
mov dword [edx*4 + 0x4aa780], eax
cmp dword [0x4a3e38], eax
jge 0x44961b
test esi, esi
jne 0x44961b
mov ecx, dword [ebx*4 + 0x4aa780]
mov dword [0x4a3e38], ecx
cmp eax, dword [0x4a3e34]
jge 0x449634
test esi, esi
jne 0x449634
mov edx, dword [ebx*4 + 0x4aa780]
mov dword [0x4a3e34], edx
cmp eax, dword [0x4a3e3c]
jge 0x44964d
cmp esi, 1
jne 0x44964d
mov eax, dword [ebx*4 + 0x4aa784]
mov dword [0x4a3e3c], eax
push edi
push 1
lea ecx, [ebp - 0xf49a8]
push 4
push ecx
call fcn.0045cfbf
add esp, 0x10
cmp dword [ebp - 0xf49a8], 0
jle 0x449857
mov ebx, dword [ebp - 0xf49a4]
mov eax, dword [ebp - 0xf49bc]
lea ebx, [ebx + eax]
shl ebx, 4
mov dword [ebp - 0xf49d8], 0
mov dword [ebp - 0xf4750], esi
lea ebx, [ebx + 0x4ab6d0]
fldz
push edi
push 1
fstp dword [ebp - 0xf49c8]
lea ecx, [ebp - 0xf49c8]
push 4
push ecx
call fcn.0045cfbf
fld dword [ebp - 0xf49c8]
fld qword [0x47a5f8]
lea eax, [esi - 6]
fmul st(1), st(0)
add esp, 0x10
fxch st(1)
fstp dword [ebp - 0xf474c]
fmul dword [ebp - 0xf49b8]
fstp dword [ebp - 0xf4748]
cmp eax, 5
ja case.0x4496dc.9
jmp dword [eax*4 + 0x449b20]
fld dword [0x490510]
fcomp dword [ebp - 0xf4748]
fnstsw ax
test ah, 0x41
jne case.0x4496dc.9
fldz
fstp dword [ebp - 0xf4748]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xf4750]
cmp edx, ecx
jae 0x4497b0
mov edi, dword [ebx]
mov eax, edx
cmp edi, eax
ja 0x4497b0
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 - 0xf49d4], eax
cmp ecx, esi
jne 0x449798
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x15555554
ja 0x4499e3
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 0x449792
mov edx, eax
shr edx, 1
mov esi, 0x15555555
sub esi, edx
cmp esi, eax
jae 0x449782
xor eax, eax
jmp 0x449784
add eax, edx
cmp eax, ecx
jae 0x44978a
mov eax, ecx
push eax
mov ecx, ebx
call fcn.00414be0
mov eax, dword [ebp - 0xf49d4]
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.0040ab10
jmp 0x449825
mov esi, dword [ebx + 8]
cmp ecx, esi
jne 0x449811
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 0x4499e3
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 0x449811
mov edx, eax
shr edx, 1
mov esi, 0x15555555
sub esi, edx
cmp esi, eax
jae 0x449801
xor eax, eax
jmp 0x449803
add eax, edx
cmp eax, ecx
jae 0x449809
mov eax, ecx
push eax
mov ecx, ebx
call fcn.00414be0
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0xf4750]
push eax
push ecx
lea edx, [ebx + 0xc]
push edx
call fcn.0040ab10
mov eax, dword [ebp - 0xf49d8]
add dword [ebx + 4], 0xc
mov esi, dword [ebp - 0xf49b4]
mov edi, dword [ebp - 0xf49e0]
inc eax
add esp, 0xc
mov dword [ebp - 0xf49d8], eax
cmp eax, dword [ebp - 0xf49a8]
jl 0x449696
mov ebx, dword [ebp - 0xf49b0]
mov eax, dword [ebp - 0xf49d0]
inc eax
mov dword [ebp - 0xf49d0], eax
cmp eax, dword [ebp - 0xf49ac]
jl 0x4495d0
mov ebx, dword [ebp - 0xf49bc]
inc esi
mov dword [ebp - 0xf49b4], esi
cmp esi, 0xe
jl 0x449580
mov eax, dword [ebp - 0xf49a4]
add eax, ebx
shl eax, 4
mov esi, dword [eax + 0x4ab6d4]
mov eax, dword [eax + 0x4ab6d0]
mov dword [ebp - 0xf49b0], eax
mov ecx, esi
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
push 0x409080
add ecx, edx
mov edx, dword [ebp - 0xf49b0]
push ecx
push esi
push edx
call fcn.00415040
push edi
call fcn.0045ca7a
mov esi, dword [ebp - 0xf49dc]
add esp, 0x14
mov edi, dword [ebp - 0xf49c0]
inc ebx
mov dword [ebp - 0xf49bc], ebx
lea eax, [ebp - 0xf49a0]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4494f0
add dword [ebp - 0xf49c4], 0x578
add dword [ebp - 0xf49cc], 0x64
add dword [ebp - 0xf49a4], 0x15e
inc esi
mov dword [ebp - 0xf49dc], esi
cmp esi, 0xb
jl 0x449487
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xf49c0], esp
push 7
mov ebx, 0xf
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], 0
push str.Thunder
mov byte [ecx], 0
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00402760
lea ecx, [ebp - 0x204]
push str.DatamoviesThunder.bik
push ecx
call fcn.00409630
lea edx, [ebp - 0x204]
push 0x48c09c
push edx
call fcn.0045cbc7
mov esi, eax
add esp, 0x10
test esi, esi
je 0x449a63
push 2
push 0
push esi
call fcn.0045d25f
push esi
call fcn.0045d170
add esp, 0x10
cmp eax, 0x399c8
jle 0x4499ed
push 0
push 0x399c8
push esi
call fcn.0045d25f
push esi
push 1
push 0x7f6
push 0x4a9d58
call fcn.0045cfbf
push esi
push 1
push 0x308
push 0x4a6400
call fcn.0045cfbf
push esi
call fcn.0045ca7a
add esp, 0x30
jmp 0x449a63
push 0x48bd48
call fcn.0045b183
push esi
call fcn.0045ca7a
lea eax, [ebp - 0x204]
push 0x48c130
push eax
call fcn.0045cbc7
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449a63
push 0
push 0x399c8
push edi
call fcn.0045d25f
push esi
push 1
push 0x7f6
push 0x4a9d58
call fcn.0045d432
push 0xf3f3f
lea ecx, [ebp - 0xf4743]
push 0
push ecx
mov byte [ebp - 0xf4744], 0
call fcn.0045c080
push esi
push 1
lea edx, [ebp - 0xf4744]
push 0xf3f40
push edx
call fcn.0045d432
push edi
call fcn.0045ca7a
add esp, 0x3c
lea eax, [ebp - 0x304]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [ebp - 0x404]
push 0x48c8e0
push ecx
call fcn.0045bff0
lea eax, [ebp - 0x404]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x449a91
lea edi, [ebp - 0x304]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x449aa1
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 edx, [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 edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xf49c0], esp
push 7
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], 0
push str.Thunder
mov byte [ecx], 0
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00402bd0
call fcn.00448de0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045bfe1
mov esp, ebp
pop ebp
ret