Function at 0x3001f24c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
xor esi, esi
test word [ebp + 8], 0x3ff
push edi
mov dword [ebp - 0xc], esi
je 0x300433e7
cmp dword [ebp + 0xc], esi
je 0x3001f31d
cmp dword [ebp + 0xc], 1
jne 0x300433f4
push 0x2080
push 0x1428
call fcn.30028bef
push 3
mov dword [0x3017d994], eax
xor eax, eax
pop ecx
mov edi, 0x6b8
mov edx, dword [0x3017d994]
and dword [edx + eax + 4], 0
add eax, edi
dec ecx
jne 0x3001f297
and dword [ebp - 4], 0
mov edx, dword [ebp - 4]
mov esi, edx
imul esi, esi, 0x6b8
mov eax, dword [0x3017d994]
xor ebx, ebx
cmp dword [eax + esi + 4], ebx
jne 0x30043424
mov eax, dword [0x3017d994]
push edi
add eax, esi
push eax
push ebx
call fcn.30001448
cmp dword [ebp + 0xc], ebx
je 0x3001f36a
mov ebx, dword [ebp + 8]
cmp dword [ebp + 0xc], 0
mov edi, ebx
je 0x3001f2fa
test ebx, 0xfffffc00
jne 0x3001f2fa
push ebx
call fcn.3001f693
mov edi, eax
push edi
call fcn.3001f731
test eax, eax
je 0x3004342f
mov ecx, dword [0x3017d994]
cmp dword [ebp + 0xc], 0
mov dword [ecx + esi + 4], eax
jne 0x3001f388
jmp 0x30043463
mov eax, dword [ebp + 8]
cmp eax, dword [0x3017d014]
je 0x3001f5e6
mov eax, dword [0x3017d994]
mov dword [ebp - 4], esi
mov edi, 0x6b8
cmp dword [eax + 4], 0
jne 0x3001f35e
inc dword [ebp - 4]
add eax, edi
cmp dword [ebp - 4], 3
jl 0x3001f339
mov eax, dword [0x3017dbc0]
push 2
pop ecx
cdq
idiv ecx
inc edx
mov dword [ebp - 4], edx
jmp 0x3001f2ae
mov ecx, dword [ebp + 8]
cmp dword [eax], ecx
jne 0x3001f33f
jmp 0x3001f4af
mov eax, dword [0x3017d994]
mov ebx, dword [ebp + 8]
mov ecx, dword [eax]
xor ecx, ebx
test cx, 0x3ff
jne 0x3001f2e2
mov ecx, dword [eax + 4]
mov dword [eax + esi + 4], ecx
lea eax, [ebp - 8]
push eax
mov eax, dword [0x3017d994]
mov edi, 0x100
push dword [eax + esi + 4]
push edi
push 0x20
call fcn.3001f8df
test eax, eax
je 0x30043451
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ecx, dword [0x3017d994]
push 0x6e
lea ecx, [ecx + esi + 8]
push ecx
push eax
call fcn.30001000
mov eax, dword [0x3017d994]
lea eax, [eax + esi + 8]
push eax
push ebx
call fcn.3001f923
mov eax, dword [0x3017d994]
lea eax, [eax + esi + 8]
push eax
call fcn.3001fd8d
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, dword [0x3017d994]
add eax, esi
lea ecx, [eax + 0x6a4]
push ecx
push dword [eax + 4]
push 0x102
push 0x19
call fcn.3001f8df
test eax, eax
je 0x30043451
mov eax, dword [0x3017d994]
add eax, esi
lea ecx, [eax + 0x6a8]
push ecx
push dword [eax + 4]
push edi
push 0x1d
call fcn.3001f8df
test eax, eax
je 0x30043451
mov eax, dword [0x3017d994]
cmp dword [ebp + 0xc], 0
mov dword [eax + esi], ebx
mov eax, dword [0x3017d994]
je 0x3001f519
mov word [eax + esi + 0x3e], 0x4b0
mov eax, dword [0x3017d994]
push 0
push 0x78
lea eax, [eax + esi + 0x37c]
push eax
push ebx
call fcn.3001fdcd
mov eax, dword [0x3017d994]
push 0x78
lea eax, [eax + esi + 0x510]
push eax
push ebx
call fcn.3001fe46
mov eax, dword [0x3017d994]
push 0x52
lea eax, [eax + esi + 0x46c]
push eax
push ebx
call fcn.3001fe9f
mov eax, dword [0x3017d994]
push 0x52
lea eax, [eax + esi + 0x600]
push eax
push ebx
call fcn.3001ff04
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 4]
imul esi, esi, 0x6b8
mov ecx, dword [0x3017d994]
xor ebx, ebx
mov dx, word [ecx + esi + 0x3c]
cmp dx, word [ecx + 0x3c]
lea eax, [ecx + esi]
setne bl
cmp dword [ebp + 0xc], 0
mov dword [0x30179bbc], ebx
mov ebx, 0x3017d9f0
jne 0x3001f4ea
cmp dword [ebp - 4], 0
je 0x30043482
push dword [eax + 0x6a4]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
mov eax, dword [0x3017d994]
push dword [eax + esi + 0x6a8]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ecx, dword [0x3017d994]
lea ecx, [ecx + esi + 0x34c]
jmp 0x3001f540
mov cx, word [eax + 0x3e]
mov word [eax + esi + 0x3e], cx
jmp 0x3001f452
lea edx, [eax + 4]
mov dword [ecx], edi
mov dword [ecx + 4], edx
movzx edx, word [eax + 2]
add ecx, 8
lea edi, [edi + edx*2]
movzx edx, word [eax]
lea eax, [eax + edx*2 + 4]
cmp word [eax], 0
jne 0x3001f527
cmp dword [ebp - 0xc], 0
je 0x3001f55c
push dword [ebp - 4]
call fcn.3001ff72
test eax, eax
je 0x30043499
mov eax, dword [0x3017d994]
add eax, esi
lea ecx, [eax + 8]
mov dword [0x3017d9f0], ecx
lea ecx, [eax + 0x10c]
mov dword [0x3017d9f4], ecx
lea ecx, [eax + 0x76]
lea edx, [eax + 0x37c]
mov dword [0x3017d9f8], ecx
mov dword [0x3017da10], edx
lea ecx, [eax + 0xc0]
lea edx, [eax + 0x510]
mov dword [0x3017d9fc], ecx
mov dword [0x3017da18], edx
lea ecx, [eax + 0x34c]
lea edx, [eax + 0x46c]
add eax, 0x600
mov dword [0x3017da00], ecx
mov dword [0x3017da14], edx
mov dword [0x3017da1c], eax
cmp dword [0x3017dadc], 0
jne 0x3001f5ef
cmp dword [ebp + 0xc], 0
jne 0x3001f5ef
mov eax, dword [ebp - 4]
mov dword [0x3017dbc0], eax
mov eax, dword [ebp + 8]
mov dword [0x3017d014], eax
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8
mov eax, dword [ecx]
push 0x25
mov dword [0x3017d958], eax
mov eax, dword [ecx + 8]
push 0x3017dcb0
push dword [0x3017d9f8]
mov dword [0x30179b5c], eax
mov eax, dword [0x3017d9f4]
mov dword [0x3017e32c], eax
call fcn.30028c12
push 0x26
push 0x3017da90
push dword [0x3017d9fc]
call fcn.30028c12
mov eax, dword [0x3017d9f0]
push 0x1b
pop ecx
mov esi, eax
mov edi, 0x3017e020
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x3017da10]
movsw word es:[edi], word [esi]
mov dword [0x3017f82c], ecx
mov ecx, dword [0x3017da18]
cmp dword [ebp + 0xc], 0
mov dword [0x3017e4f0], ecx
mov ecx, dword [0x3017da14]
mov dword [0x3017e4ac], ecx
mov ecx, dword [0x3017da1c]
mov dword [0x3017f4c0], ecx
je 0x3001f5d6
push 0xc
pop ecx
mov esi, ebx
mov edi, 0x3017daf0
rep movsd dword es:[edi], dword [esi]
movzx eax, word [eax + 0x1c]
mov dword [0x3017f3e4], eax
jmp 0x3001f5d6
mov eax, dword [0x3017d158]
mov dword [ebp + 8], eax
jmp 0x3001f266
push 2
pop ebx
mov esi, 0xd70
mov dword [ebp - 4], ebx
mov edi, 0x6b8
mov eax, dword [0x3017d994]
cmp dword [eax + esi + 4], 0
je 0x30043416
push ebx
call fcn.30027b28
dec ebx
sub esi, edi
dec dword [ebp - 4]
je 0x3001f2a7
jmp 0x30043404
push edx
call fcn.30027b28
jmp 0x3001f2c7
and edi, 0x3ff
push edi
call fcn.3001f731
test eax, eax
jne 0x3001f308
push eax
call fcn.3001f731
test eax, eax
jne 0x3001f308
push dword [ebp - 4]
call fcn.30027b28
mov eax, 0x80028018
jmp 0x3001f5e8
mov ecx, dword [0x3017d994]
mov eax, dword [ecx + esi + 4]
cmp eax, dword [ecx + 4]
jne 0x3001f388
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x3001f388
push 0xc
pop ecx
mov esi, 0x3017daf0
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x3017da00]
jmp 0x3001f5c7
and dword [0x3017dbc0], eax
push 0xc
mov eax, dword [0x3017d158]
pop ecx
mov esi, 0x3017daf0
mov edi, 0x3017d9f0
rep movsd dword es:[edi], dword [esi]
mov dword [0x3017d014], eax
jmp 0x30043451