Function at 0x47e4e0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a3ccf
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
push ebx
push esi
push edi
mov eax, dword [0x60f074]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20], edx
mov edi, ecx
xor ebx, ebx
mov eax, edi
mov dword [ebp - 0x18], ebx
cmp dword [edi + 0x14], 8
jb 0x47e51f
mov eax, dword [edi]
push 0
push 0
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
mov esi, eax
call fcn.0045deb0
mov ecx, dword [ebp - 0x14]
cmp esi, 0xffffffff
cmovne ecx, esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0
test ecx, ecx
jne 0x47e607
cmp dword [0x61a250], 1
jg 0x47e5ff
sub esp, 8
mov dword [ebp - 0xd4], 1
lea ecx, [ebp - 0xcc]
call fcn.0040bae0
mov dword [ebp - 0x30], str.f:my_lab_tabexplorerextab_masterlibrary_base_file_util.cpp
mov dword [ebp - 0x2c], 0x1c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x28], eax
push 0x1c2
push str.f:my_lab_tabexplorerextab_masterlibrary_base_file_util.cpp
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 2
call fcn.0046c190
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xcc]
mov ebx, 1
mov edx, str.CreateFile_failed_for_path
mov dword [ebp - 0x18], ebx
call fcn.00403840
cmp dword [edi + 0x14], 8
jb 0x47e5d6
mov edi, dword [edi]
mov edx, edi
mov ecx, eax
call fcn.0046c990
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov edx, str._error_code
mov ecx, esi
call fcn.00403840
add esp, 4
mov ecx, eax
call fcn.00413a40
test bl, 1
jmp 0x47e71e
push 0
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 8]
push dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x47e6b1
mov esi, dword [ebp - 0x1c]
cmp esi, dword [ebp + 8]
je 0x47e72e
cmp dword [0x61a250], 1
jg 0x47e6ac
push 1
push 0x1d7
push str.f:my_lab_tabexplorerextab_masterlibrary_base_file_util.cpp
lea ecx, [ebp - 0xd4]
call fcn.0046c100
mov byte [ebp - 4], 7
lea ecx, [eax + 8]
push dword [ebp - 0x1c]
mov ebx, 4
mov edx, str.wrote
push ecx
mov dword [ebp - 0x18], ebx
call fcn.00403840
add esp, 4
mov ecx, eax
call fcn.00413a40
mov edx, str._bytes_to
mov ecx, eax
call fcn.00403840
cmp dword [edi + 0x14], 8
jb 0x47e689
mov edi, dword [edi]
mov edx, edi
mov ecx, eax
call fcn.0046c990
push dword [ebp + 8]
mov edx, str._expected
push ecx
mov ecx, eax
call fcn.00403840
add esp, 4
mov ecx, eax
call fcn.0040bcd0
test bl, 4
jmp 0x47e71e
cmp dword [0x61a250], 1
jg 0x47e71b
push 1
push 0x1d1
push str.f:my_lab_tabexplorerextab_masterlibrary_base_file_util.cpp
lea ecx, [ebp - 0xd4]
call fcn.0046c100
mov byte [ebp - 4], 6
lea ecx, [eax + 8]
mov ebx, 2
mov edx, str.writing_file
mov dword [ebp - 0x18], ebx
call fcn.00403840
cmp dword [edi + 0x14], 8
jb 0x47e6f2
mov edi, dword [edi]
mov edx, edi
mov ecx, eax
call fcn.0046c990
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov edx, str._failed__error_code
mov ecx, esi
call fcn.00403840
add esp, 4
mov ecx, eax
call fcn.00413a40
test bl, 2
je 0x47e72b
lea ecx, [ebp - 0xd4]
call fcn.0046c520
or esi, 0xffffffff
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 8
call fcn.0045deb0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret