Function at 0x140001460
Capabilities:
Enumerate pe sections

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x140016040]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x38], rcx
xor edi, edi
xorps xmm0, xmm0
mov rbp, rdx
movups xmmword [rcx], xmm0
mov edx, 0x310
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
mov rsi, rcx
mov qword [rcx + 0x10], rdi
call fcn.140002920
mov rbx, qword [rsi]
xor edx, edx
mov rcx, rbx
mov r8d, 0xc40
call sub.VCRUNTIME140.dll_memset
lea rax, [rbx + 0xc40]
mov ecx, 0x18
mov qword [rsi + 8], rax
call qword [sym.imp.gdiplus.dll_GdipAlloc]
lea r15, vtable.Gdiplus::Bitmap.0
mov r14, rax
test rax, rax
je 0x14000151f
mov qword [rax + 8], rdi
lea r8, [rsp + 0x38]
mov qword [rax + 0x10], rdi
xor edx, edx
mov rcx, rbp
mov qword [rax], r15
mov qword [rsp + 0x38], rdi
call qword [sym.imp.gdiplus.dll_GdipCreateBitmapFromHBITMAP]
mov dword [r14 + 0x10], eax
mov rax, qword [rsp + 0x38]
mov qword [r14 + 8], rax
jmp 0x140001522
mov r14, rdi
mov ecx, 0x18
call qword [sym.imp.gdiplus.dll_GdipAlloc]
mov qword [rsp + 0x38], rax
mov rbx, rax
mov ebp, 0x1c
test rax, rax
je 0x140001583
xor eax, eax
mov qword [rsp + 0x38], rdi
xorps xmm0, xmm0
mov r9d, 0x21808
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
xor r8d, r8d
lea rax, [rsp + 0x38]
mov qword [rbx], r15
mov qword [rsp + 0x28], rax
mov edx, ebp
mov ecx, ebp
mov qword [rsp + 0x20], rdi
call qword [sym.imp.gdiplus.dll_GdipCreateBitmapFromScan0]
mov dword [rbx + 0x10], eax
mov rax, qword [rsp + 0x38]
mov qword [rbx + 8], rax
jmp 0x140001586
mov rbx, rdi
mov ecx, 0x10
call qword [sym.imp.gdiplus.dll_GdipAlloc]
mov r15, rax
test rax, rax
je 0x1400015c9
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov rax, rdi
mov qword [rsp + 0x38], rax
test rbx, rbx
je 0x1400015c4
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0x38]
call qword [sym.imp.gdiplus.dll_GdipGetImageGraphicsContext]
mov dword [r15 + 8], eax
mov rax, qword [rsp + 0x38]
mov qword [r15], rax
jmp 0x1400015cc
mov r15, rdi
test r14, r14
je 0x1400015d7
mov rdx, qword [r14 + 8]
jmp 0x1400015da
mov rdx, rdi
mov rcx, qword [r15]
xor r9d, r9d
mov dword [rsp + 0x28], ebp
xor r8d, r8d
mov dword [rsp + 0x20], ebp
call qword [sym.imp.gdiplus.dll_GdipDrawImageRectI]
test eax, eax
je 0x1400015f9
mov dword [r15 + 8], eax
movdqa xmm0, xmmword [0x140011ae0]
lea rax, [rsp + 0x40]
movdqu xmmword [rsp + 0x60], xmm0
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0x60]
mov r9d, 0x21808
mov qword [rsp + 0x20], rax
mov r8d, 1
call qword [sym.imp.gdiplus.dll_GdipBitmapLockBits]
test eax, eax
je 0x140001633
mov dword [rbx + 0x10], eax
mov r11, qword [rsi]
mov r10, rdi
mov rdi, qword [rsp + 0x50]
mov r8d, 8
movsxd r12, dword [rsp + 0x48]
mov r9, rdi
movss xmm4, dword [0x140011a88]
movss xmm5, dword [0x140011a8c]
movss xmm6, dword [0x140011a84]
movss xmm7, dword [0x140011a9c]
nop dword [rax]
mov rcx, r9
lea rdx, [r9 + 1]
sub rcx, r10
mov r13d, 2
sub rcx, rdi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + 1]
xorps xmm2, xmm2
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtsi2ss xmm2, eax
movzx eax, byte [rdx]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx - 1]
cvtsi2ss xmm1, eax
mulss xmm2, xmm4
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
divss xmm2, xmm7
movss dword [r8 + r11 - 8], xmm2
xorps xmm2, xmm2
movzx eax, byte [rdx + 4]
cvtsi2ss xmm3, eax
movzx eax, byte [rdx + 3]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + 2]
cvtsi2ss xmm1, eax
mulss xmm0, xmm5
mulss xmm1, xmm6
mulss xmm3, xmm4
addss xmm3, xmm0
xorps xmm0, xmm0
addss xmm3, xmm1
xorps xmm1, xmm1
divss xmm3, xmm7
movss dword [r8 + r11 - 4], xmm3
xorps xmm3, xmm3
movzx eax, byte [rdx + 7]
cvtsi2ss xmm2, eax
movzx eax, byte [rdx + 6]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 5]
cvtsi2ss xmm1, eax
mulss xmm2, xmm4
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
divss xmm2, xmm7
movss dword [r8 + r11], xmm2
xorps xmm2, xmm2
movzx eax, byte [rdx + 0xa]
cvtsi2ss xmm3, eax
movzx eax, byte [rdx + 9]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 8]
cvtsi2ss xmm1, eax
mulss xmm0, xmm5
mulss xmm1, xmm6
mulss xmm3, xmm4
addss xmm3, xmm0
xorps xmm0, xmm0
addss xmm3, xmm1
xorps xmm1, xmm1
divss xmm3, xmm7
movss dword [r8 + r11 + 4], xmm3
movzx eax, byte [rdx + 0xd]
cvtsi2ss xmm2, eax
movzx eax, byte [rdx + 0xc]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0xb]
mulss xmm2, xmm4
cvtsi2ss xmm1, eax
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm2, xmm0
addss xmm2, xmm1
divss xmm2, xmm7
movss dword [r8 + r11 + 8], xmm2
movzx eax, byte [rdx + 0x10]
xorps xmm3, xmm3
xorps xmm0, xmm0
cvtsi2ss xmm3, eax
movzx eax, byte [rdx + 0xf]
xorps xmm1, xmm1
xorps xmm2, xmm2
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0xe]
cvtsi2ss xmm1, eax
mulss xmm3, xmm4
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm3, xmm0
xorps xmm0, xmm0
addss xmm3, xmm1
xorps xmm1, xmm1
divss xmm3, xmm7
movss dword [r8 + r11 + 0xc], xmm3
xorps xmm3, xmm3
movzx eax, byte [rdx + 0x13]
cvtsi2ss xmm2, eax
movzx eax, byte [rdx + 0x12]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0x11]
cvtsi2ss xmm1, eax
mulss xmm0, xmm5
mulss xmm2, xmm4
mulss xmm1, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
divss xmm2, xmm7
movss dword [r8 + r11 + 0x10], xmm2
xorps xmm2, xmm2
movzx eax, byte [rdx + 0x16]
cvtsi2ss xmm3, eax
movzx eax, byte [rdx + 0x15]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0x14]
cvtsi2ss xmm1, eax
mulss xmm3, xmm4
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm3, xmm0
xorps xmm0, xmm0
addss xmm3, xmm1
xorps xmm1, xmm1
divss xmm3, xmm7
movss dword [r8 + r11 + 0x14], xmm3
xorps xmm3, xmm3
movzx eax, byte [rdx + 0x19]
cvtsi2ss xmm2, eax
movzx eax, byte [rdx + 0x18]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0x17]
cvtsi2ss xmm1, eax
mulss xmm0, xmm5
mulss xmm2, xmm4
mulss xmm1, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
divss xmm2, xmm7
movss dword [r8 + r11 + 0x18], xmm2
xorps xmm2, xmm2
movzx eax, byte [rdx + 0x1c]
cvtsi2ss xmm3, eax
movzx eax, byte [rdx + 0x1b]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0x1a]
mulss xmm3, xmm4
cvtsi2ss xmm1, eax
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm3, xmm0
addss xmm3, xmm1
divss xmm3, xmm7
movss dword [r8 + r11 + 0x1c], xmm3
movzx eax, byte [rdx + 0x1f]
cvtsi2ss xmm2, eax
movzx eax, byte [rdx + 0x1e]
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0x1d]
xorps xmm3, xmm3
mulss xmm2, xmm4
cvtsi2ss xmm1, eax
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
divss xmm2, xmm7
movss dword [r8 + r11 + 0x20], xmm2
xorps xmm2, xmm2
movzx eax, byte [rdx + 0x22]
cvtsi2ss xmm3, eax
movzx eax, byte [rdx + 0x21]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0x20]
cvtsi2ss xmm1, eax
mulss xmm3, xmm4
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm3, xmm0
xorps xmm0, xmm0
addss xmm3, xmm1
xorps xmm1, xmm1
divss xmm3, xmm7
movss dword [r8 + r11 + 0x24], xmm3
xorps xmm3, xmm3
movzx eax, byte [rdx + 0x25]
cvtsi2ss xmm2, eax
movzx eax, byte [rdx + 0x24]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0x23]
cvtsi2ss xmm1, eax
mulss xmm0, xmm5
mulss xmm1, xmm6
mulss xmm2, xmm4
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
divss xmm2, xmm7
movss dword [r8 + r11 + 0x28], xmm2
movzx eax, byte [rdx + 0x28]
cvtsi2ss xmm3, eax
movzx eax, byte [rdx + 0x27]
cvtsi2ss xmm0, eax
movzx eax, byte [rdx + rcx + 0x26]
add rdx, 0x2a
mulss xmm3, xmm4
cvtsi2ss xmm1, eax
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm3, xmm0
addss xmm3, xmm1
divss xmm3, xmm7
movss dword [r8 + r11 + 0x2c], xmm3
add r8, 0x38
sub r13, 1
jne 0x140001690
add r10, r12
add r9, r12
sub rbp, 1
jne 0x140001670
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0x40]
call qword [sym.imp.gdiplus.dll_GdipBitmapUnlockBits]
mov rdi, rbp
test eax, eax
je 0x140001a56
mov dword [rbx + 0x10], eax
mov rcx, qword [r15]
call qword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
mov rcx, r15
call qword [sym.imp.gdiplus.dll_GdipFree]
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
test r14, r14
je 0x140001a87
mov rax, qword [r14]
mov edx, 1
mov rcx, r14
call qword [rax]
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi]
mov rax, rdx
sub rax, rcx
add rax, 3
shr rax, 2
cmp rcx, rdx
cmova rax, rdi
test rax, rax
je 0x140001b03
cmp rax, 0x10
jb 0x140001b03
movdqa xmm2, xmmword [0x140011b70]
and rax, 0xfffffffffffffff0
nop word [rax + rax]
movups xmm0, xmmword [rcx]
add rdi, 0x10
movaps xmm1, xmm2
subps xmm1, xmm0
movups xmmword [rcx], xmm1
movups xmm0, xmmword [rcx + 0x10]
movaps xmm1, xmm2
subps xmm1, xmm0
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movaps xmm1, xmm2
subps xmm1, xmm0
movups xmmword [rcx + 0x20], xmm1
movups xmm0, xmmword [rcx + 0x30]
movaps xmm1, xmm2
subps xmm1, xmm0
movups xmmword [rcx + 0x30], xmm1
add rcx, 0x40
cmp rdi, rax
jne 0x140001ac0
cmp rcx, rdx
je 0x140001b24
movss xmm1, dword [0x140011a90]
movaps xmm0, xmm1
subss xmm0, dword [rcx]
movss dword [rcx], xmm0
add rcx, 4
cmp rcx, rdx
jne 0x140001b10
mov rax, rsi
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14000eae0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret