Function at 0x10002020
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x200c
call fcn.10015fe0
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 2
push 0
push eax
mov dword [ebp - 4], ecx
mov dword [ebp - 8], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0xc], ebx
jne 0x10002089
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x1000206e
call esi
lea esp, [ebp - 0x2018]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call esi
and eax, 0xffff
or eax, 0x80070000
lea esp, [ebp - 0x2018]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ecx
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
jne 0x100020c8
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x100020b3
call esi
mov esi, eax
jmp 0x10002376
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
jmp 0x10002376
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
jne 0x100020eb
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x100020b3
call esi
mov esi, eax
jmp 0x10002376
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov cl, byte [eax + esi]
mov dword [ebp + 8], eax
test cl, cl
mov ebx, esi
je 0x10002129
lea edi, [eax + 1]
mov eax, edi
add eax, 3
and al, 0xfc
call fcn.10015fe0
mov ecx, edi
mov ebx, esp
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 8]
mov byte [ebx + ecx], 0
test ebx, ebx
jne 0x10002131
xor edi, edi
jmp 0x1000215e
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
lea eax, [esi + esi]
add eax, 3
and al, 0xfc
call fcn.10015fe0
mov edi, esp
push esi
push edi
push 0xffffffffffffffff
push ebx
push 0
push 0
mov word [edi], 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edx, [ebp + 8]
lea ecx, [ebp - 8]
push edx
push edi
call fcn.100025e0
mov esi, eax
test esi, esi
jl 0x10002373
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
cmp word [eax], 0
je 0x10002369
lea ecx, [ebp - 8]
lea esi, [ebp - 0x200c]
call fcn.10002400
mov ecx, dword [ebp - 8]
mov ax, word [ecx]
test ax, ax
je 0x1000234b
cmp ax, 0x27
jne 0x10002226
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
push ecx
call ebx
mov dword [ebp - 8], eax
cmp word [eax], 0
je 0x1000234b
lea ecx, [ebp - 8]
call fcn.10002390
test eax, eax
mov eax, dword [ebp - 8]
jne 0x1000220f
cmp word [eax], 0x27
jne 0x100021d9
push eax
call ebx
mov dword [ebp - 8], eax
push eax
mov edi, eax
call ebx
lea ecx, [esi + 4]
lea edx, [ebp - 0xc]
cmp ecx, edx
mov dword [ebp - 8], eax
jae 0x1000234b
cmp edi, eax
jae 0x10002209
mov edx, edi
mov ecx, edi
mov dx, word [edx]
add ecx, 2
mov word [esi], dx
add esi, 2
cmp ecx, eax
mov edx, ecx
jb 0x100021f7
cmp word [eax], 0
jne 0x100021be
cmp word [eax], 0
je 0x1000234b
push eax
mov word [esi], 0
call ebx
mov dword [ebp - 8], eax
jmp 0x1000226d
push eax
lea ecx, [ebp - 8]
call fcn.100023b0
test eax, eax
jne 0x10002262
mov edi, dword [ebp - 8]
push edi
call dword [sym.imp.USER32.dll_CharNextW]
cmp edi, eax
mov dword [ebp - 8], eax
jae 0x1000225a
mov edx, edi
mov ecx, edi
mov dx, word [edx]
add ecx, 2
mov word [esi], dx
add esi, 2
cmp ecx, eax
mov edx, ecx
jb 0x10002248
mov ax, word [eax]
test ax, ax
jne 0x10002226
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
mov word [esi], 0
xor edi, edi
mov esi, 0x1001f358
mov eax, dword [esi]
lea ecx, [ebp - 0x200c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x1000229a
add esi, 8
inc edi
cmp esi, 0x1001f3c8
jae 0x1000234b
jmp 0x10002274
mov edi, dword [edi*8 + 0x1001f35c]
test edi, edi
je 0x1000234b
lea edx, [ebp - 0x200c]
lea ecx, [ebp - 8]
push edx
call fcn.10002460
mov esi, eax
test esi, esi
jl 0x10002369
cmp word [ebp - 0x200c], 0x7b
jne 0x1000234b
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x100022f7
mov ebx, dword [ebp - 8]
push 0
push eax
lea eax, [ebp - 0x200c]
push edi
push eax
lea ecx, [ebp - 8]
call fcn.10002860
mov esi, eax
test esi, esi
jl 0x10002352
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x10002311
push 0
push 0
lea ecx, [ebp - 0x200c]
push edi
push ecx
lea ecx, [ebp - 8]
call fcn.10002860
mov esi, eax
test esi, esi
jl 0x10002369
mov edx, dword [ebp - 8]
lea ecx, [ebp - 8]
mov ax, word [edx]
push eax
call fcn.100023b0
test eax, eax
je 0x1000233d
mov ecx, dword [ebp - 8]
push ecx
call ebx
mov dword [ebp - 8], eax
mov dx, word [eax]
push edx
lea ecx, [ebp - 8]
call fcn.100023b0
test eax, eax
jne 0x10002324
mov eax, dword [ebp - 8]
cmp word [eax], 0
je 0x10002369
jmp 0x10002185
mov esi, 0x80020009
jmp 0x10002369
push 0
push 0
lea ecx, [ebp - 0x200c]
push edi
push ecx
lea ecx, [ebp - 8]
mov dword [ebp - 8], ebx
call fcn.10002860
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ebx, dword [ebp - 0xc]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea esp, [ebp - 0x2018]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10