Function at 0x49a490
Capabilities:
Delete file
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53cf33
mov eax, dword fs:[0]
push eax
sub esp, 0x124
mov eax, dword [0x5954a0]
xor eax, ebp
mov dword [ebp - 0x40], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
cmp dword [ebp + 8], 0
je 0x49a4ed
mov eax, dword [ebp + 8]
push eax
call fcn.004f810a
add esp, 4
test eax, eax
ja 0x49a4f9
mov dword [ebp - 0x10], 0
jmp 0x49a5f5
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x49a5f5
mov dword [ebp - 0x2c], 3
call fcn.004c02e6
push eax
lea ecx, [ebp - 0x24]
call fcn.004514d0
mov dword [ebp - 4], 0
mov edx, dword [ebp + 8]
push edx
push str.error_loadlibrary__s_
lea eax, [ebp - 0x24]
push eax
call fcn.00451560
add esp, 0xc
push 0
push 0
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.004c4bb3
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x118], edx
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x110], eax
push 3
mov ecx, dword [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x110]
call fcn.00470670
lea edx, [ebp - 0x110]
mov dword [ebp - 0x11c], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x120]
push edx
call fcn.0047c040
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x124], eax
lea ecx, [ebp - 0x10c]
cmp dword [ebp - 0x124], ecx
je 0x49a5d1
mov edx, dword [ebp - 0x124]
push edx
call fcn.004f84cf
add esp, 4
mov dword [ebp - 0x114], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0044f990
mov eax, dword [ebp - 0x114]
jmp 0x49aae4
mov dword [ebp - 0x1c], 0
jmp 0x49a607
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, dword [edx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jae 0x49a8c2
xor edx, edx
mov word [ebp - 0x84], dx
push 0x3e
push 0
lea eax, [ebp - 0x82]
push eax
call fcn.004f8090
add esp, 0xc
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, dword [edx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a687
call fcn.004fb0ce
xor edx, edx
jne 0x49a687
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
cmp dword [eax + edx], 0x64
je 0x49a8bd
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
sub eax, dword [ecx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a6c2
call fcn.004fb0ce
xor edx, edx
jne 0x49a6c2
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + eax]
push eax
push str.RES_d
lea ecx, [ebp - 0x84]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x553688
lea edx, [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
jne 0x49a718
jmp 0x49a5fe
mov ecx, dword [ebp - 0x8c]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x49a737
jmp 0x49a8c9
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x49a756
jmp 0x49a8c9
mov edx, dword [ebp - 0x38]
push edx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x49a76e
jmp 0x49a8c9
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
sub eax, dword [ecx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a78c
call fcn.004fb0ce
xor edx, edx
jne 0x49a78c
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x12c], eax
mov edx, dword [ebp - 0x34]
push edx
call fcn.004f8626
add esp, 4
mov ecx, dword [ebp - 0x12c]
mov dword [ecx + 4], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 0x10]
sub ecx, dword [eax + 0xc]
mov eax, ecx
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a7da
call fcn.004fb0ce
xor edx, edx
jne 0x49a7da
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax + 4], 0
jne 0x49a7f9
jmp 0x49a8c9
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
sub eax, dword [ecx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a817
call fcn.004fb0ce
xor edx, edx
jne 0x49a817
mov eax, dword [ebp - 0x34]
push eax
push 0
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0x216
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.004f8090
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 0x10]
sub ecx, dword [eax + 0xc]
mov eax, ecx
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a85d
call fcn.004fb0ce
xor edx, edx
jne 0x49a85d
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x1c]
imul edx, edx, 0x216
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.004f8140
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
sub eax, dword [ecx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a8a3
call fcn.004fb0ce
xor edx, edx
jne 0x49a8a3
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x34]
mov dword [edx + eax + 8], ecx
jmp 0x49a5fe
mov dword [ebp - 0x14], 1
mov edx, dword [ebp + 8]
push edx
call fcn.004f810a
add esp, 4
test eax, eax
jbe 0x49a8ef
cmp dword [ebp + 8], 0
je 0x49a8ef
cmp dword [ebp - 0x10], 0
je 0x49a8ef
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x14], 0
jne 0x49aae1
mov dword [ebp - 0x1c], 0
jmp 0x49a90b
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 0x10]
sub ecx, dword [eax + 0xc]
mov eax, ecx
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jae 0x49aae1
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 0x10]
sub ecx, dword [eax + 0xc]
mov eax, ecx
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a94a
call fcn.004fb0ce
xor edx, edx
jne 0x49a94a
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax + 4], 0
je 0x49a9a2
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
sub eax, dword [ecx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a982
call fcn.004fb0ce
xor edx, edx
jne 0x49a982
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + eax + 4]
push eax
call fcn.004f84cf
add esp, 4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, dword [edx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49a9c0
call fcn.004fb0ce
xor edx, edx
jne 0x49a9c0
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x130]
add edx, 0xc
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x49aa29
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
sub eax, dword [ecx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49aa0b
call fcn.004fb0ce
xor edx, edx
jne 0x49aa0b
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
lea eax, [edx + eax + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, dword [edx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49aa47
call fcn.004fb0ce
xor edx, edx
jne 0x49aa47
push 0x567128
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
lea eax, [edx + eax + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, dword [edx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49aa88
call fcn.004fb0ce
xor edx, edx
jne 0x49aa88
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [edx + eax + 4], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
sub eax, dword [ecx + 0xc]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x1c], eax
jb 0x49aac1
call fcn.004fb0ce
xor edx, edx
jne 0x49aac1
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x216
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [edx + eax + 8], 0
jmp 0x49a902
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x40]
xor ecx, ebp
call fcn.004f8124
mov esp, ebp
pop ebp
ret