Function at 0x10016c20
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10041c25
mov eax, dword fs:[0]
push eax
sub esp, 0x4c8
mov eax, dword [0x10073020]
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 0x100492f0
push 0x100492f8
mov eax, dword [0x1007e034]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x480], eax
cmp dword [ebp - 0x480], 0
je 0x10016d71
mov ecx, dword [ebp - 0x480]
push ecx
mov edx, dword [0x1007e034]
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 [0x1007e034]
push edx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x484], eax
cmp dword [ebp - 0x484], 0x400
jae 0x10016cf3
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x488], eax
jmp 0x10016cfd
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.100167c0
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.100065e0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48c]
call fcn.10016770
jmp 0x10016f93
lea ecx, [ebp - 0x47c]
call fcn.10016440
mov dword [ebp - 4], 1
lea edx, [ebp - 0x428]
push edx
call fcn.10017d60
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.10016480
add esp, 0x1c
lea ecx, [ebp - 0x428]
call fcn.10001be0
push eax
call fcn.10016700
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x10016e3f
movzx edx, byte [ebp + 8]
test edx, edx
je 0x10016e09
mov eax, dword [ebp - 0x474]
push eax
push 0x96
push 0x95
push 0x94
call fcn.10017e00
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.100163f0
mov eax, dword [ebp - 0x49c]
jmp 0x10017098
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.10016340
mov dword [ebp - 0x4a0], eax
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x474], eax
cmp dword [ebp - 0x474], 0
jge 0x10016eec
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x10016eb6
mov edx, dword [ebp - 0x474]
push edx
push 0x76
push 0x98
push 0x97
call fcn.10017e00
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.100163f0
mov eax, dword [ebp - 0x4a4]
jmp 0x10017098
lea eax, [ebp - 0x478]
push eax
push 0x400
lea ecx, [ebp - 0x410]
push ecx
lea ecx, [ebp - 0x47c]
call fcn.10016300
mov dword [ebp - 0x474], eax
cmp dword [ebp - 0x474], 0
jge 0x10016f72
movzx edx, byte [ebp + 8]
test edx, edx
je 0x10016f3c
mov eax, dword [ebp - 0x474]
push eax
push 0x76
push 0x98
push 0x97
call fcn.10017e00
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.100163f0
mov eax, dword [ebp - 0x4a8]
jmp 0x10017098
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x428]
call fcn.10001d60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x47c]
call fcn.100163f0
mov ecx, dword [ebp - 0x478]
push ecx
lea edx, [ebp - 0x410]
push edx
call fcn.10016b50
add esp, 8
test eax, eax
je 0x10017041
mov eax, dword [ebp - 0x478]
push eax
lea ecx, [ebp - 0x410]
push ecx
lea ecx, [ebp - 0x458]
call fcn.10002130
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.10016210
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.100020d0
jmp 0x10017096
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.100052a5
mov esp, ebp
pop ebp
ret