Function at 0x44b520
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, 0xf49e0
call fcn.0045e2e0
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
fldz
push ebx
push esi
fst dword [ebp - 0xf49c8]
push edi
fstp dword [ebp - 0xf49b4]
lea eax, [ebp - 0x604]
xor ebx, ebx
push eax
push 0x100
mov dword [ebp - 0xf49a8], ebx
mov dword [ebp - 0xf49c4], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, 1
mov dword [ebp - 0xf49a4], ebx
mov dword [ebp - 0xf49c0], ebx
mov dword [ebp - 0xf49b8], ebx
mov dword [ebp - 0xf49e0], edi
jmp 0x44b589
xor ebx, ebx
push edi
lea ecx, [ebp - 0x604]
push ecx
lea edx, [ebp - 0x804]
push str._sDataSetting_d_
push edx
call fcn.00409dc0
push edi
lea eax, [ebp - 0x604]
push eax
lea ecx, [ebp - 0x204]
push str._sDataSetting_d.chp
push ecx
call fcn.00409dc0
add esp, 0x20
lea edx, [ebp - 0xf49a0]
push edx
lea eax, [ebp - 0x204]
push eax
mov dword [ebp - 0xf49d8], ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
mov dword [ebp - 0xf49bc], esi
cmp esi, 0xffffffff
je 0x44b994
lea esp, [esp]
test byte [ebp - 0xf49a0], 0x20
je 0x44b97e
lea ecx, [ebp - 0xf4974]
push ecx
lea edx, [ebp - 0x804]
push edx
lea eax, [ebp - 0x204]
push str._s_s
push eax
call fcn.00409dc0
lea ecx, [ebp - 0x204]
push 0x492904
push ecx
call fcn.0045e277
mov esi, eax
add esp, 0x18
mov dword [ebp - 0xf49dc], esi
test esi, esi
je 0x44b971
mov edi, dword [ebp - 0xf49b8]
add edi, ebx
push esi
add edi, edi
push 1
add edi, edi
lea eax, [edi + 0x4b0878]
push 4
push eax
mov dword [eax], 0x1f4
call fcn.0045e66f
push esi
push 1
lea eax, [edi + 0x4b0990]
push 4
push eax
call fcn.0045e66f
add esp, 0x20
xor edi, edi
mov dword [ebp - 0xf49b0], edi
nop
push esi
push 1
lea ecx, [ebp - 0xf49a8]
push 4
push ecx
call fcn.0045e66f
add esp, 0x10
cmp dword [ebp - 0xf49a8], 0
jle 0x44b90e
mov eax, dword [ebp - 0xf49c0]
add eax, ebx
lea ecx, [eax*8]
sub ecx, eax
lea edx, [edi + ecx*2]
mov dword [ebp - 0xf49cc], 0
mov dword [ebp - 0xf49ac], edx
push esi
push 1
lea eax, [ebp - 0xf49b4]
push 4
push eax
call fcn.0045e66f
fld dword [ebp - 0xf49b4]
fmul qword [0x47b628]
call fcn.0045d810
mov ecx, dword [ebp - 0xf49ac]
push esi
push 1
lea edx, [ebp - 0xf49c4]
push 4
push edx
mov dword [ecx*4 + 0x4b0aa8], eax
call fcn.0045e66f
add esp, 0x20
cmp dword [ebp - 0xf49c4], 0
jle 0x44b8f5
add ebx, dword [ebp - 0xf49a4]
mov dword [ebp - 0xf49d4], 0
shl ebx, 4
mov dword [ebp - 0xf4750], edi
lea ebx, [ebx + 0x4b19f8]
fldz
push esi
push 1
fstp dword [ebp - 0xf49c8]
lea ecx, [ebp - 0xf49c8]
push 4
push ecx
call fcn.0045e66f
fld dword [ebp - 0xf49c8]
fld qword [0x47b628]
lea eax, [edi - 6]
fmul st(1), st(0)
add esp, 0x10
fxch st(1)
fstp dword [ebp - 0xf474c]
fmul dword [ebp - 0xf49b4]
fstp dword [ebp - 0xf4748]
cmp eax, 5
ja case.0x44b77a.9
jmp dword [eax*4 + 0x44bbc0]
fld dword [0x496c40]
fcomp dword [ebp - 0xf4748]
fnstsw ax
test ah, 0x41
jne case.0x44b77a.9
fldz
fstp dword [ebp - 0xf4748]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xf4750]
cmp edx, ecx
jae 0x44b84e
mov edi, dword [ebx]
mov eax, edx
cmp edi, eax
ja 0x44b84e
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 - 0xf49d0], eax
cmp ecx, esi
jne 0x44b836
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x15555554
ja 0x44ba7b
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 0x44b830
mov edx, eax
shr edx, 1
mov esi, 0x15555555
sub esi, edx
cmp esi, eax
jae 0x44b820
xor eax, eax
jmp 0x44b822
add eax, edx
cmp eax, ecx
jae 0x44b828
mov eax, ecx
push eax
mov ecx, ebx
call fcn.00417840
mov eax, dword [ebp - 0xf49d0]
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.0040b870
jmp 0x44b8c3
mov esi, dword [ebx + 8]
cmp ecx, esi
jne 0x44b8af
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 0x44ba7b
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 0x44b8af
mov edx, eax
shr edx, 1
mov esi, 0x15555555
sub esi, edx
cmp esi, eax
jae 0x44b89f
xor eax, eax
jmp 0x44b8a1
add eax, edx
cmp eax, ecx
jae 0x44b8a7
mov eax, ecx
push eax
mov ecx, ebx
call fcn.00417840
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0xf4750]
push eax
push ecx
lea edx, [ebx + 0xc]
push edx
call fcn.0040b870
mov eax, dword [ebp - 0xf49d4]
add dword [ebx + 4], 0xc
mov edi, dword [ebp - 0xf49b0]
mov esi, dword [ebp - 0xf49dc]
inc eax
add esp, 0xc
mov dword [ebp - 0xf49d4], eax
cmp eax, dword [ebp - 0xf49c4]
jl 0x44b734
mov ebx, dword [ebp - 0xf49d8]
mov eax, dword [ebp - 0xf49cc]
inc eax
mov dword [ebp - 0xf49cc], eax
cmp eax, dword [ebp - 0xf49a8]
jl 0x44b6c5
inc edi
mov dword [ebp - 0xf49b0], edi
cmp edi, 0xe
jl 0x44b680
mov eax, dword [ebp - 0xf49a4]
add eax, ebx
shl eax, 4
mov edi, dword [eax + 0x4b19fc]
mov eax, dword [eax + 0x4b19f8]
mov dword [ebp - 0xf49ac], eax
mov ecx, edi
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
push 0x409770
add ecx, edx
mov edx, dword [ebp - 0xf49ac]
push ecx
push edi
push edx
call fcn.00417d10
push esi
call fcn.0045e12a
mov edi, dword [ebp - 0xf49e0]
add esp, 0x14
mov esi, dword [ebp - 0xf49bc]
inc ebx
mov dword [ebp - 0xf49d8], ebx
lea eax, [ebp - 0xf49a0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x44b5f0
add dword [ebp - 0xf49b8], 0x578
add dword [ebp - 0xf49c0], 0x64
add dword [ebp - 0xf49a4], 0x15e
inc edi
mov dword [ebp - 0xf49e0], edi
cmp edi, 0xb
jl 0x44b587
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xf49bc], 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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402d30
lea ecx, [ebp - 0x204]
push str.DatamoviesThunder.bik
push ecx
call fcn.00409dc0
lea edx, [ebp - 0x204]
push 0x492904
push edx
call fcn.0045e277
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44bafb
push 2
push 0
push esi
call fcn.0045e90f
push esi
call fcn.0045e820
add esp, 0x10
cmp eax, 0x399c8
jle 0x44ba85
push 0
push 0x399c8
push esi
call fcn.0045e90f
push esi
push 1
push 0x7f6
push 0x4b0080
call fcn.0045e66f
push esi
push 1
push 0x308
push 0x4ac6e0
call fcn.0045e66f
push esi
call fcn.0045e12a
add esp, 0x30
jmp 0x44bafb
push 0x4925b0
call fcn.0045c833
push esi
call fcn.0045e12a
lea eax, [ebp - 0x204]
push 0x492998
push eax
call fcn.0045e277
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44bafb
push 0
push 0x399c8
push edi
call fcn.0045e90f
push esi
push 1
push 0x7f6
push 0x4b0080
call fcn.0045eae2
push 0xf3f3f
lea ecx, [ebp - 0xf4743]
push 0
push ecx
mov byte [ebp - 0xf4744], 0
call fcn.0045d730
push esi
push 1
lea edx, [ebp - 0xf4744]
push 0xf3f40
push edx
call fcn.0045eae2
push edi
call fcn.0045e12a
add esp, 0x3c
lea eax, [ebp - 0x304]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [ebp - 0x404]
push 0x493030
push ecx
call fcn.0045d6a0
lea eax, [ebp - 0x404]
add esp, 8
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44bb30
lea edi, [ebp - 0x304]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x44bb40
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 - 0xf49bc], esp
push 7
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], 0
push str.Thunder
mov byte [ecx], 0
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00403240
call fcn.0044af90
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045d691
mov esp, ebp
pop ebp
ret