Function at 0x41dbe1
Capabilities:
Extract resource via kernel32 functions
Get common file path
Set current directory
Write file on windows

Disassembly:
push ebp
sub esp, 0x104
lea ebp, [esp - 4]
mov eax, dword [0x599274]
xor eax, ebp
mov dword [ebp + 0x104], eax
push 0x64
mov eax, 0x53e939
call fcn.005122a7
xor edi, edi
mov dword [ebp - 0x10], ecx
cmp dword [ecx + 0x24], edi
je 0x41dc16
mov al, 1
jmp 0x41de10
mov dword [ebp - 0x1c], edi
call fcn.004feba0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x38]
push eax
call fcn.004398fb
pop ecx
push edi
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], edi
call fcn.004097fc
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 1
call fcn.0041d747
pop ecx
pop ecx
mov bl, al
neg bl
push edi
sbb bl, bl
push 1
lea ecx, [ebp - 0x54]
inc bl
mov byte [ebp - 4], 0
call fcn.00409706
or dword [ebp - 4], 0xffffffff
push edi
push 1
lea ecx, [ebp - 0x38]
call fcn.00402a53
test bl, bl
je 0x41dc7c
xor al, al
jmp 0x41de10
push 0x73
lea eax, [ebp - 0x38]
pop esi
push eax
call fcn.00439cd8
pop ecx
cmp dword [eax + 0x18], 0x10
mov dword [ebp - 4], 2
jb 0x41dc9b
mov eax, dword [eax + 4]
jmp 0x41dc9e
add eax, 4
push eax
call fcn.00512505
pop ecx
cmp eax, 0x16
push edi
setge bl
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0x38]
call fcn.00402a53
test bl, bl
je 0x41dcc1
push 0x74
pop esi
push 0x55327c
push esi
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov ebx, eax
cmp ebx, edi
je 0x41de05
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
cmp esi, edi
je 0x41de05
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x14], eax
cmp eax, edi
jbe 0x41de05
push esi
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
cmp esi, edi
je 0x41de05
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0041db19
cmp dword [eax + 0x18], 0x10
mov dword [ebp - 4], 3
jb 0x41dd2c
mov eax, dword [eax + 4]
jmp 0x41dd2f
add eax, 4
push 0x5545f8
push eax
call fcn.00513bd0
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
push edi
push 1
lea ecx, [ebp - 0x38]
mov ebx, eax
call fcn.00402a53
cmp ebx, edi
je 0x41de05
push ebx
push 1
push dword [ebp - 0x14]
push esi
call fcn.0051307e
push ebx
call fcn.00513339
mov esi, 0x104
push esi
lea eax, [ebp]
push edi
push eax
call fcn.00512510
add esp, 0x20
lea eax, [ebp]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov esi, dword [ebp - 0x10]
lea eax, [ebp]
push eax
lea ecx, [esi + 0x28]
call fcn.00402a32
lea eax, [ebp - 0x38]
push eax
call fcn.00439bad
pop ecx
cmp dword [eax + 0x18], 0x10
mov dword [ebp - 4], 4
jb 0x41ddb0
mov eax, dword [eax + 4]
jmp 0x41ddb3
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
or dword [ebp - 4], 0xffffffff
push edi
push 1
lea ecx, [ebp - 0x38]
call fcn.00402a53
lea eax, [ebp - 0x70]
push eax
mov ecx, esi
call fcn.0041db19
cmp dword [eax + 0x18], 0x10
mov dword [ebp - 4], 5
jb 0x41dde6
mov eax, dword [eax + 4]
jmp 0x41dde9
add eax, 4
push 8
push edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
or dword [ebp - 4], 0xffffffff
push edi
push 1
lea ecx, [ebp - 0x70]
mov dword [esi + 0x24], eax
call fcn.00402a53
mov ecx, dword [ebp - 0x10]
xor eax, eax
cmp dword [ecx + 0x24], edi
setne al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x104]
xor ecx, ebp
call fcn.00512298
add ebp, 0x108
leave
ret