Function at 0x4b36a0
Capabilities:
Check if file exists
Create directory
Extract resource via kernel32 functions
Get common file path
Get file attributes
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4f082b
mov eax, dword fs:[0]
push eax
mov eax, 0x2014
call fcn.004d3970
mov eax, dword [0x536ed4]
xor eax, esp
mov dword [esp + 0x200c], eax
push ebx
push esi
push edi
mov eax, dword [0x536ed4]
xor eax, esp
push eax
lea eax, [esp + 0x2024]
mov dword fs:[0], eax
mov eax, dword [esp + 0x2034]
mov eax, dword [eax + 8]
test eax, eax
je 0x4b3902
test dword [eax + 0x94], 0x20000
je 0x4b3902
push 0x50148c
lea ecx, [esp + 0x18]
call fcn.00401b10
lea ecx, [esp + 0x1c]
push ecx
push 0x1000
mov dword [esp + 0x2034], 0
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [esp + 0x1c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b3730
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0x1a], 0x5c
jne 0x4b3764
lea eax, [esp + 0x1c]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b3750
sub eax, edx
sar eax, 1
mov word [esp + eax*2 + 0x1a], cx
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea edx, [esp + 0x1c]
push edx
call edi
cmp eax, 0xffffffff
jne 0x4b3783
push 0
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push str.RtkBtMnt.exe
lea ecx, [esp + 0x20]
push 0x1000
push ecx
call fcn.004d018a
add esp, 0xc
push 0
push str.ADRExtracted
push str.General
mov ecx, 0x54b0b0
call fcn.004c539d
mov esi, eax
test esi, esi
jne 0x4b37cc
push 1
push str.ADRExtracted
push str.General
mov ecx, 0x54b0b0
call fcn.004c5406
xor edx, edx
test esi, esi
sete dl
lea eax, [esp + 0x1c]
push eax
mov esi, edx
call edi
cmp eax, 0xffffffff
jne 0x4b37e6
mov esi, 1
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x18]
call fcn.00401d80
push 0x5176a8
lea ecx, [esp + 0x18]
call fcn.0042bac0
mov eax, dword [esp + 0x14]
push 1
call fcn.0040acf0
add esp, 4
test esi, esi
je 0x4b38bb
call fcn.004c9321
mov eax, dword [eax + 8]
push str.Binary
push 0x143
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
jne 0x4b3845
lea ecx, [esp + 0x14]
call fcn.00401fb0
jmp 0x4b3902
call fcn.004c9321
mov eax, dword [eax + 8]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
test ebx, ebx
je 0x4b3837
call fcn.004c9321
mov eax, dword [eax + 8]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
test edi, edi
je 0x4b3837
push 0
push 0x80
push 2
push 0
push 2
push 0x40000000
lea edx, [esp + 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4b3837
push 0
lea eax, [esp + 0x1c]
push eax
push ebx
push edi
push esi
mov dword [esp + 0x2c], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x18]
call fcn.00401d80
mov eax, dword [esp + 0x14]
push 0
call fcn.0040acf0
mov dword [esp + 0x2030], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b3902
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x2024]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x200c]
xor ecx, esp
call fcn.004cf0b8
add esp, 0x2020
ret 4