Function at 0x41b37c
Capabilities:
Extract resource via kernel32 functions
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 7
push 0
push 0
dec ecx
jne 0x41b385
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
mov byte [ebp - 6], cl
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x41b790
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 7], 0
mov byte [ebp - 0x1d], 0
mov eax, dword [0x4251a8]
cmp dword [eax], 0
jbe 0x41b768
mov eax, dword [0x4251a8]
mov eax, dword [eax]
dec eax
test eax, eax
jl 0x41b768
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], 0
cmp byte [ebp - 5], 0
je 0x41b3ec
cmp dword [ebp - 4], 0xffffffff
jg 0x41b75c
jmp 0x41b3f6
cmp dword [ebp - 4], 0xffffffff
je 0x41b75c
mov eax, dword [0x4251a8]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx*4]
cmp eax, dword [ebp - 4]
jne 0x41b75c
cmp byte [ebp - 0x1d], 0
jne 0x41b445
cmp byte [ebp - 6], 0
je 0x41b43d
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41b7a8
call fcn.00417be8
mov edx, dword [0x425190]
mov dl, byte [edx]
mov eax, 0x41b7c4
call fcn.00417be8
mov byte [ebp - 7], 1
mov byte [ebp - 0x1d], 1
mov dl, 1
mov eax, dword [0x414a0c]
call fcn.00402570
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x41b755
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xa
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
inc eax
call fcn.00406378
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x41b7e0
call fcn.00402e70
mov eax, dword [ebp - 0x28]
call fcn.0040301c
push eax
mov eax, dword [0x426674]
push eax
call sub.kernel32.dll_FindResourceA
mov esi, eax
push esi
mov eax, dword [0x426674]
push eax
call sub.kernel32.dll_LoadResource
mov ebx, eax
test ebx, ebx
je 0x41b4d7
push ebx
call sub.kernel32.dll_LockResource
mov dword [ebp - 0x10], eax
push esi
mov eax, dword [0x426674]
push eax
call sub.kernel32.dll_SizeofResource
mov ecx, eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
call fcn.00414e24
mov eax, ebx
call fcn.004044d4
push ebx
call sub.kernel32.dll_FreeResource
lea eax, [ebp - 0x18]
call fcn.00402bd0
mov eax, dword [0x4251a8]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x14]
cmp dword [eax + edx*4], 0
jne 0x41b520
lea edx, [ebp - 0x34]
xor eax, eax
call fcn.0040153c
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.004064ec
mov edx, dword [ebp - 0x30]
mov eax, dword [0x4251a8]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [eax + ecx*4]
lea eax, [ebp - 0x18]
call fcn.00402e70
jmp 0x41b56f
mov eax, dword [0x4251a8]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx*4]
lea edx, [ebp - 0x18]
call fcn.0041abd8
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x18]
call fcn.00405dd8
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x18]
call fcn.00402c68
push dword [ebp - 0x18]
push 0x41b7ec
mov eax, dword [0x4251a8]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x14]
push dword [eax + edx*4]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00402ee4
mov eax, dword [ebp - 0x18]
call fcn.00406598
test al, al
je 0x41b5ca
mov eax, dword [0x4251a8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx], 0
je 0x41b5bd
push 0x34
mov eax, dword [0x4251a8]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx*4]
call fcn.0040301c
mov ecx, eax
mov edx, 0x41b7f0
mov eax, dword [0x42519c]
mov eax, dword [eax]
call fcn.00417c28
cmp eax, 7
je 0x41b73f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
call fcn.0041505c
jmp 0x41b5d5
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
call fcn.0041505c
mov eax, dword [0x4251a8]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov edx, dword [eax + edx*4]
lea eax, [ebp - 0x3c]
mov ecx, 0x41b830
call fcn.00402e70
mov eax, dword [ebp - 0x3c]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
mov eax, dword [0x4251a8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x14]
mov ebx, dword [eax + edx*4]
test ebx, ebx
jle 0x41b700
mov eax, dword [0x4251a8]
push ebx
mov eax, dword [ebp - 0x18]
call fcn.0040301c
push eax
call sub.kernel32.dll_SetFileAttributesA
test eax, eax
je 0x41b700
mov eax, dword [0x4251a8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx*4]
cmp eax, 7
ja case.0x41b649.0
jmp dword [eax*4 + 0x41b650]
lea eax, [ebp - 0x1c]
mov edx, 0x41b844
call fcn.00402c68
jmp case.0x41b649.0
lea eax, [ebp - 0x1c]
mov edx, 0x41b85c
call fcn.00402c68
jmp case.0x41b649.0
lea eax, [ebp - 0x1c]
mov edx, 0x41b870
call fcn.00402c68
jmp case.0x41b649.0
lea eax, [ebp - 0x1c]
mov edx, 0x41b890
call fcn.00402c68
jmp case.0x41b649.0
lea eax, [ebp - 0x1c]
mov edx, 0x41b8a4
call fcn.00402c68
jmp case.0x41b649.0
lea eax, [ebp - 0x1c]
mov edx, 0x41b8c4
call fcn.00402c68
jmp case.0x41b649.0
lea eax, [ebp - 0x1c]
mov edx, 0x41b8e4
call fcn.00402c68
mov eax, dword [0x4251a8]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov edx, dword [eax + edx*4]
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0x1c]
call fcn.00402e70
mov eax, dword [ebp - 0x40]
mov edx, dword [0x425190]
mov dl, byte [edx]
call fcn.00417be8
mov eax, dword [0x4251a8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx], 0
je 0x41b73f
mov eax, dword [0x4251a8]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx*4]
call fcn.0040301c
push eax
push 0
push 1
mov eax, dword [ebp - 0x18]
call fcn.0040301c
mov ecx, eax
mov edx, 0x41b904
xor eax, eax
call fcn.004063f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41b75c
mov eax, dword [ebp - 0xc]
call fcn.004025a0
ret
inc dword [ebp - 0x14]
dec dword [ebp - 0x24]
jne 0x41b3da
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41b797
lea eax, [ebp - 0x40]
mov edx, 7
call fcn.00402bf4
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00402bf4
ret