Function at 0x140037444
Capabilities:
Extract resource via kernel32 functions
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor ebx, ebx
mov rdi, rcx
xor al, al
xor bpl, bpl
mov r13, rdx
lea ecx, [rbx + 1]
test rdi, rdi
je 0x14003747c
cmp qword [rdi + 8], rbx
movzx eax, al
cmove eax, ecx
test r13, r13
je 0x14003748c
cmp qword [rdx + 8], rbx
movzx ebp, bpl
cmove ebp, ecx
lea rsi, [0x1401102c0]
mov r14d, 0x8007000e
test al, al
je 0x14003771d
mov rcx, qword [0x14010ce60]
movsxd rax, r8d
lea r8, [0x1400f57b8]
imul r14, rax, 0x70
movzx edx, word [r14 + rsi + 4]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
jne 0x1400374da
mov eax, 0x80004005
jmp 0x1400377a9
mov rcx, qword [0x14010ce60]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
nop dword [rax + rax]
mov rcx, qword [0x14010ce60]
mov rdx, rsi
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_LoadResource]
nop dword [rax + rax]
mov r15, rax
test rax, rax
je 0x14003760c
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
nop dword [rax + rax]
mov edx, r12d
mov ecx, 2
mov qword [rsp + 0x88], rax
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
jne 0x140037552
mov ebx, 0x8007000e
jmp 0x1400375f5
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
nop dword [rax + rax]
test rax, rax
mov ecx, 0x8007000e
cmove ebx, ecx
and qword [rsp + 0x80], 0
test ebx, ebx
js 0x1400375d7
mov rdx, qword [rsp + 0x88]
mov r8, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
lea r8, [rsp + 0x80]
xor edx, edx
mov rcx, rsi
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
js 0x1400375bd
mov rdx, qword [rsp + 0x80]
mov rcx, rdi
call fcn.14003a624
mov ebx, eax
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x1400375d7
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140066f27.0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop dword [rax + rax]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeResource]
nop dword [rax + rax]
test ebx, ebx
js 0x1400377a7
cmp dword [rdi + 0x24], 0x20
jne 0x140037699
mov eax, dword [rdi + 0x20]
mov r8d, dword [rdi + 0x1c]
mov r9, qword [rdi + 0x10]
test eax, eax
jns 0x140037632
lea ecx, [r8 - 1]
imul ecx, eax
movsxd rcx, ecx
add r9, rcx
cdq
xor eax, edx
sub eax, edx
imul eax, r8d
movsxd r10, eax
add r10, r9
cmp r9, r10
jae 0x140037697
mov r11d, 0x80808081
movzx r8d, byte [r9 + 3]
mov eax, r11d
movzx ecx, byte [r9]
imul ecx, r8d
mul ecx
movzx ecx, byte [r9 + 1]
mov eax, r11d
shr edx, 7
mov byte [r9], dl
imul ecx, r8d
mul ecx
movzx ecx, byte [r9 + 2]
mov eax, r11d
shr edx, 7
mov byte [r9 + 1], dl
imul ecx, r8d
mul ecx
shr edx, 7
mov byte [r9 + 2], dl
add r9, 4
cmp r9, r10
jb 0x14003764c
xor ebx, ebx
test ebx, ebx
js 0x1400377a7
lea rsi, [0x1401102c0]
xor r8d, r8d
mov r9, qword [r14 + rsi + 0x18]
xor edx, edx
mov eax, dword [r9 + 0x18]
mov dword [r14 + rsi + 0x3c], eax
mov eax, dword [r14 + rsi + 0xc]
bt eax, edx
lea ecx, [r8 + 1]
cmovae ecx, r8d
inc edx
mov r8d, ecx
cmp edx, 0x20
jl 0x1400376c0
test ecx, ecx
je 0x1400376e9
mov eax, dword [r9 + 0x1c]
xor edx, edx
div r8d
mov dword [r14 + rsi + 0x40], eax
jmp 0x1400376ee
mov ebx, 0x80004005
test ebx, ebx
js 0x1400377a7
and qword [r14 + rsi + 0x48], 0
lea rcx, [rsi + 0x50]
add rcx, r14
call qword [sym.imp.USER32.dll_SetRectEmpty]
nop dword [rax + rax]
mov r8d, dword [rsp + 0x90]
mov r14d, 0x8007000e
movsxd rax, r8d
imul rdi, rax, 0x70
cmp dword [rdi + rsi + 8], 0
je 0x1400377a7
test bpl, bpl
je 0x1400377a7
and dword [rsp + 0x30], 0
mov ecx, 8
call qword [sym.imp.USER32.dll_GetSysColor]
nop dword [rax + rax]
mov ecx, 0x11
mov dword [rsp + 0x38], 0xffff
mov dword [rsp + 0x34], eax
call qword [sym.imp.USER32.dll_GetSysColor]
nop dword [rax + rax]
mov edx, dword [rdi + rsi + 8]
lea r9, [rsp + 0x30]
mov rcx, qword [0x14010ce60]
xor r8d, r8d
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x20], 2
call qword [sym.imp.COMCTL32.dll_CreateMappedBitmap]
nop dword [rax + rax]
test rax, rax
cmove ebx, r14d
test ebx, ebx
js 0x1400377a7
xor r8d, r8d
mov rdx, rax
mov rcx, r13
call fcn.140039e2c
mov eax, ebx
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret