Function at 0x10016d60
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10041d85
mov eax, dword fs:[0]
push eax
sub esp, 0x4c8
mov eax, dword [0x10073040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x474], 0x80004005
mov dword [ebp - 0x4c4], 0x400
mov dword [ebp - 0x478], 0
push 0x100492f8
push 0x10049300
mov eax, dword [0x1007e094]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x480], eax
cmp dword [ebp - 0x480], 0
je 0x10016eb1
mov ecx, dword [ebp - 0x480]
push ecx
mov edx, dword [0x1007e094]
push edx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x490], eax
mov eax, dword [ebp - 0x490]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x480]
push ecx
mov edx, dword [0x1007e094]
push edx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x484], eax
cmp dword [ebp - 0x484], 0x400
jae 0x10016e33
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x488], eax
jmp 0x10016e3d
mov dword [ebp - 0x488], 0x400
mov ecx, dword [ebp - 0x488]
mov dword [ebp - 0x478], ecx
mov edx, dword [ebp - 0x478]
push edx
mov eax, dword [ebp - 0x494]
push eax
lea ecx, [ebp - 0x48c]
call fcn.10016900
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x48c]
call fcn.10001660
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x498], ecx
mov edx, dword [ebp - 0x478]
push edx
mov eax, dword [ebp - 0x498]
push eax
lea ecx, [ebp - 0x410]
push ecx
call fcn.10006730
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48c]
call fcn.100168b0
jmp 0x100170d3
lea ecx, [ebp - 0x47c]
call fcn.10016580
mov dword [ebp - 4], 1
lea edx, [ebp - 0x428]
push edx
call fcn.10017ee0
add esp, 4
mov byte [ebp - 4], 2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x4c8], esp
push str..dna
call fcn.10001ec0
mov dword [ebp - 0x4cc], eax
mov byte [ebp - 4], 3
lea eax, [ebp - 0x428]
push eax
mov byte [ebp - 4], 2
call fcn.100165c0
add esp, 0x1c
lea ecx, [ebp - 0x428]
call fcn.10001be0
push eax
call fcn.10016840
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x10016f7f
movzx edx, byte [ebp + 8]
test edx, edx
je 0x10016f49
mov eax, dword [ebp - 0x474]
push eax
push 0x96
push 0x95
push 0x94
call fcn.10017f80
add esp, 0x10
mov dword [ebp - 0x49c], 0x80004005
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x428]
call fcn.10001d60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x47c]
call fcn.10016530
mov eax, dword [ebp - 0x49c]
jmp 0x100171d8
push 3
push 1
push SysReAllocStringLen
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x4d0], esp
lea edx, [ebp - 0x428]
push edx
call fcn.10001fb0
mov dword [ebp - 0x4d4], eax
mov byte [ebp - 4], 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x47c]
call fcn.10016480
mov dword [ebp - 0x4a0], eax
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x474], eax
cmp dword [ebp - 0x474], 0
jge 0x1001702c
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x10016ff6
mov edx, dword [ebp - 0x474]
push edx
push 0x76
push 0x98
push 0x97
call fcn.10017f80
add esp, 0x10
mov dword [ebp - 0x4a4], 0x80004005
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x428]
call fcn.10001d60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x47c]
call fcn.10016530
mov eax, dword [ebp - 0x4a4]
jmp 0x100171d8
lea eax, [ebp - 0x478]
push eax
push 0x400
lea ecx, [ebp - 0x410]
push ecx
lea ecx, [ebp - 0x47c]
call fcn.10016440
mov dword [ebp - 0x474], eax
cmp dword [ebp - 0x474], 0
jge 0x100170b2
movzx edx, byte [ebp + 8]
test edx, edx
je 0x1001707c
mov eax, dword [ebp - 0x474]
push eax
push 0x76
push 0x98
push 0x97
call fcn.10017f80
add esp, 0x10
mov dword [ebp - 0x4a8], 0x80004005
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x428]
call fcn.10001d60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x47c]
call fcn.10016530
mov eax, dword [ebp - 0x4a8]
jmp 0x100171d8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x428]
call fcn.10001d60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x47c]
call fcn.10016530
mov ecx, dword [ebp - 0x478]
push ecx
lea edx, [ebp - 0x410]
push edx
call fcn.10016c90
add esp, 8
test eax, eax
je 0x10017181
mov eax, dword [ebp - 0x478]
push eax
lea ecx, [ebp - 0x410]
push ecx
lea ecx, [ebp - 0x458]
call fcn.10002120
mov dword [ebp - 0x4ac], eax
mov edx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b0], edx
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x440]
push ecx
call fcn.10016350
add esp, 8
mov dword [ebp - 0x4b4], eax
mov edx, dword [ebp - 0x4b4]
mov dword [ebp - 0x4b8], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x4b8]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.10001dc0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x440]
call fcn.10001d60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x458]
call fcn.100020c0
jmp 0x100171d6
mov ecx, dword [ebp - 0x478]
shr ecx, 1
push ecx
lea edx, [ebp - 0x410]
push edx
lea ecx, [ebp - 0x470]
call fcn.10001f40
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x4c0]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.10001dc0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x470]
call fcn.10001d60
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10005405
mov esp, ebp
pop ebp
ret