Function at 0x14006d140
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov dword [rax + 0x20], r9d
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r14d, edx
mov r12d, r9d
mov r13, r8
mov rdi, rcx
test edx, edx
je 0x14006d41b
call fcn.14001bb2c
movzx edx, r14w
mov r8d, 0xf1
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
je 0x14006d417
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14006d417
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
test rax, rax
je 0x14006d417
movzx ecx, word [rax + 6]
mov eax, 4
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14000b7d4
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14006d41b
movzx ecx, word [rsi + 2]
movzx edx, word [rsi + 4]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], edx
lea ebx, [rcx + 6]
mov dword [rsp + 0x30], ebx
lea r15d, [rdx + 6]
mov dword [rsp + 0x34], r15d
test r12d, r12d
je 0x14006d21e
mov eax, dword [rdi + 0x1178]
jmp 0x14006d224
mov eax, dword [0x140262ab8]
mov ebp, 1
test eax, eax
jne 0x14006d2e3
mov eax, dword [0x1402626e0]
test eax, eax
jne 0x14006d24f
lea rcx, [0x1402626e0]
call fcn.14004c69c
mov eax, ebp
mov dword [0x1402626e0], eax
mov ecx, dword [0x1402629a0]
movsd xmm2, qword [0x140262998]
test ecx, ecx
je 0x14006d266
movaps xmm0, xmm2
jmp 0x14006d26e
movsd xmm0, qword [0x1401d14c8]
ucomisd xmm0, qword [0x1401d14c8]
jp 0x14006d27a
je 0x14006d2e3
test eax, eax
jne 0x14006d29e
lea rcx, [0x1402626e0]
call fcn.14004c69c
mov ecx, dword [0x1402629a0]
movsd xmm2, qword [0x140262998]
mov dword [0x1402626e0], ebp
test ecx, ecx
jne 0x14006d2aa
movsd xmm2, qword [0x1401d14c8]
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
addsd xmm0, qword [0x1401d6128]
cvttsd2si ecx, xmm0
movd xmm0, r15d
cvtdq2pd xmm0, xmm0
mov dword [rsp + 0x30], ecx
mulsd xmm0, xmm2
addsd xmm0, qword [0x1401d6128]
cvttsd2si eax, xmm0
mov dword [rsp + 0x34], eax
xor ebx, ebx
test r12d, r12d
je 0x14006d301
mov r8, qword [rsp + 0x38]
xor r9d, r9d
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
call fcn.140073eb8
jmp 0x14006d324
movsd xmm0, qword [0x140262cd8]
ucomisd xmm0, qword [0x1401d14c8]
jp 0x14006d324
jne 0x14006d324
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
call fcn.1400741f4
cmp dword [r13 + 4], ebx
jne 0x14006d32e
mov dword [r13 + 4], r14d
cmp dword [rdi + 0x1308], ebx
jne 0x14006d357
mov rax, qword [rdi]
mov r8d, r12d
mov rdx, r13
mov rcx, rdi
mov rax, qword [rax + 0x668]
call qword [case.0x140039e1a.0]
test eax, eax
je 0x14006d3f3
mov r12d, ebx
mov r13d, dword [rdi + 0x114c]
cmp bx, word [rsi + 6]
jae 0x14006d3c0
mov r14, qword [rsp + 0x40]
lea r15, [rsi + 8]
mov edi, dword [rsp + 0xa8]
movzx edx, word [r15]
mov dword [r14], edx
test edi, edi
jne 0x14006d39c
test edx, edx
je 0x14006d39c
mov ebx, r13d
lea rcx, vtable.CMap_unsigned_int__unsigned_int__int__int_.0
add r13d, ebp
call fcn.140048cc0
mov dword [rax], ebx
xor ebx, ebx
movzx eax, word [rsi + 6]
add r12d, ebp
add r15, 2
add r14, 4
cmp r12d, eax
jl 0x14006d377
mov rdi, qword [rsp + 0x90]
mov r14d, dword [rsp + 0x98]
mov rax, qword [rdi]
mov r9d, ebp
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
mov dword [rdi + 0x1308], r14d
movzx r8d, word [rsi + 6]
mov rax, qword [rax + 0x678]
call qword [case.0x140039e1a.0]
mov ebp, eax
test eax, eax
jne 0x14006d3f3
mov dword [rdi + 0x1308], ebx
mov rcx, qword [rsp + 0x40]
call fcn.14000b7cc
mov eax, ebp
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
jmp 0x14006d3ff
call fcn.140018178
int3