Function at 0x180099338
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x200
mov qword [rsp + 0x148], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x88], xmm11
movaps xmmword [r11 - 0x98], xmm12
movaps xmmword [r11 - 0xa8], xmm13
mov rax, qword [0x180101090]
xor rax, rsp
mov qword [rsp + 0x178], rax
mov rsi, rcx
mov qword [r11 - 0xe8], 7
xor r14d, r14d
mov qword [r11 - 0xf0], r14
mov word [r11 - 0x100], r14w
lea rdx, [rcx + 0x10]
or r15, 0xffffffffffffffff
mov r9, r15
xor r8d, r8d
lea rcx, [r11 - 0x108]
call fcn.18000db80
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x150]
call fcn.180098550
nop
lea ebp, [r14 + 4]
cmp qword [rsp + 0x168], r14
jne 0x18009941b
mov r8, rbp
lea rdx, str.4lpS7h
lea rcx, [rsp + 0x150]
call fcn.18000f510
mov ecx, 0x7d0
mov edx, ecx
call fcn.1800989b0
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], r14
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.18008df64
nop
mov rbx, r14
mov qword [rsp + 0x50], rbx
mov r12, qword [rsp + 0xa0]
cmp r12, r14
je 0x18009947c
lea rdx, [rsp + 0x50]
mov rcx, qword [r12 + 8]
call sub.gdiplus.dll_GdipGetImageGraphicsContext
mov edi, eax
mov dword [rsp + 0xe0], eax
mov rbx, qword [rsp + 0x50]
jmp 0x180099483
mov edi, dword [rsp + 0xe0]
mov qword [rsp + 0xd8], rbx
cmp qword [rsi + 0x68], 8
jb 0x180099498
mov rcx, qword [rsi + 0x50]
jmp 0x18009949c
lea rcx, [rsi + 0x50]
movzx edx, byte [rsi + 0x70]
mov r9b, byte [rsi + 0x72]
mov r8b, byte [rsi + 0x71]
call fcn.180098a2c
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r14
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.180099d58
nop
mov qword [rsp + 0x68], r14
xor edx, edx
lea r8, [rsp + 0x68]
xor ecx, ecx
call sub.gdiplus.dll_GdipCreateStringFormat
mov dword [rsp + 0x70], eax
xor edx, edx
mov rcx, qword [rsp + 0x68]
call sub.gdiplus.dll_GdipSetStringFormatAlign
mov ecx, dword [rsp + 0x70]
cmp eax, r14d
cmovne ecx, eax
mov dword [rsp + 0x70], ecx
xor edx, edx
mov rcx, qword [rsp + 0x68]
call sub.gdiplus.dll_GdipSetStringFormatLineAlign
mov ecx, dword [rsp + 0x70]
cmp eax, r14d
cmovne ecx, eax
mov dword [rsp + 0x70], ecx
mov edx, ebp
mov rcx, rbx
call sub.gdiplus.dll_GdipSetTextRenderingHint
cmp eax, r14d
cmovne edi, eax
mov edx, 0xffffff
mov rcx, rbx
call sub.gdiplus.dll_GdipGraphicsClear
cmp eax, r14d
cmovne edi, eax
mov r10d, dword [rsi + 0x3c]
mov r8d, dword [rsi + 0x40]
movzx ecx, byte [rsi + 0x38]
imul ecx, ecx, 0xff
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
mov ecx, 0xa
cmp dl, cl
cmovb eax, ecx
movzx edx, al
shl edx, 8
movzx r9d, r8b
or r9d, edx
shl r9d, 8
movzx eax, r8w
shr ax, 8
movzx ecx, al
or r9d, ecx
shl r9d, 8
shr r8d, 0x10
movzx eax, r8b
or r9d, eax
movzx r8d, r10b
or r8d, edx
shl r8d, 8
movzx eax, r10w
shr ax, 8
movzx ecx, al
or r8d, ecx
shl r8d, 8
shr r10d, 0x10
movzx eax, r10b
or r8d, eax
mov dword [rsp + 0xc0], 0x80
mov dword [rsp + 0xc4], r14d
mov dword [rsp + 0xb0], r14d
mov dword [rsp + 0xb4], r14d
lea rax, vtable.Gdiplus::LinearGradientBrush.0
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x78], r14
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0xb0]
call sub.gdiplus.dll_GdipCreateLineBrushI
mov dword [rsp + 0x118], eax
mov r13, qword [rsp + 0x78]
mov qword [rsp + 0x110], r13
xorps xmm6, xmm6
movss dword [rsp + 0x58], xmm6
movss dword [rsp + 0x5c], xmm6
movss dword [rsp + 0x60], xmm6
movss dword [rsp + 0x64], xmm6
lea rdx, [rsp + 0x158]
cmp qword [rsp + 0x170], 8
cmovae rdx, qword [rsp + 0x158]
movss dword [rsp + 0xc8], xmm6
movss dword [rsp + 0xcc], xmm6
movss dword [rsp + 0xd0], xmm6
movss dword [rsp + 0xd4], xmm6
mov rbp, qword [rsp + 0x90]
cmp rbp, r14
je 0x18009969d
mov r9, qword [rbp]
jmp 0x1800996a0
mov r9, r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov r8d, r15d
mov rcx, rbx
call sub.gdiplus.dll_GdipMeasureString
cmp eax, r14d
cmovne edi, eax
movss xmm10, dword [0x1800dcefc]
movss xmm8, dword [rsp + 0x60]
comiss xmm6, xmm8
jb 0x1800996fd
movaps xmm8, xmm10
movss dword [rsp + 0x60], xmm8
movss xmm0, dword [rsp + 0x64]
comiss xmm6, xmm0
jb 0x180099712
movaps xmm0, xmm10
movss dword [rsp + 0x64], xmm0
comiss xmm8, xmm0
ja 0x18009971c
movaps xmm8, xmm0
mulss xmm8, dword [0x1800dcef8]
addss xmm8, dword [0x1800dcef4]
lea rdx, [rsp + 0x158]
cmp qword [rsp + 0x170], 8
cmovae rdx, qword [rsp + 0x158]
movss dword [rsp + 0xe8], xmm8
movss dword [rsp + 0xec], xmm8
movss dword [rsp + 0xf0], xmm6
movss dword [rsp + 0xf4], xmm6
cmp rbp, r14
je 0x180099779
mov r9, qword [rbp]
jmp 0x18009977c
mov r9, r14
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
mov r8d, r15d
mov rcx, rbx
call sub.gdiplus.dll_GdipDrawString
cmp eax, r14d
cmovne edi, eax
movss xmm7, dword [rsp + 0x64]
movss xmm13, dword [0x1800dcef0]
mulss xmm7, xmm13
addss xmm7, xmm8
movss xmm6, dword [rsp + 0x60]
mulss xmm6, xmm13
addss xmm6, xmm8
xor r9d, r9d
movaps xmm2, xmm7
movaps xmm1, xmm6
mov rcx, rbx
call sub.gdiplus.dll_GdipTranslateWorldTransform
cmp eax, r14d
cmovne edi, eax
movsx eax, word [rsi + 0x3a]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
xor r8d, r8d
mov rcx, rbx
call sub.gdiplus.dll_GdipRotateWorldTransform
cmp eax, r14d
cmovne edi, eax
movss xmm0, dword [0x1800dcee0]
xorps xmm7, xmm0
xorps xmm6, xmm0
xor r9d, r9d
movaps xmm2, xmm7
movaps xmm1, xmm6
mov rcx, rbx
call sub.gdiplus.dll_GdipTranslateWorldTransform
cmp eax, r14d
cmovne edi, eax
mov dword [rsp + 0xe0], edi
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov rbp, rax
mov edx, 0xffffff
mov rcx, rbx
call sub.gdiplus.dll_GdipGraphicsClear
cmp eax, r14d
cmovne edi, eax
cmp rbp, r14
je 0x18009985c
mov rdx, qword [rbp + 8]
jmp 0x18009985f
mov rdx, r14
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call sub.gdiplus.dll_GdipDrawImageI
cmp eax, r14d
cmovne edi, eax
mov dword [rsp + 0xe0], edi
cmp rbp, r14
je 0x18009988d
mov rax, qword [rbp]
mov edx, 1
mov rcx, rbp
call qword [rax]
movsx eax, word [rsi + 0x3a]
cdq
xor eax, edx
sub eax, edx
movd xmm6, eax
cvtdq2pd xmm6, xmm6
mulsd xmm6, qword [0x1800dced8]
divsd xmm6, qword [0x1800dced0]
movapd xmm0, xmm6
call fcn.1800b274c
movapd xmm7, xmm0
movapd xmm0, xmm6
call fcn.1800b2a68
movss xmm6, dword [rsp + 0x60]
unpcklps xmm6, xmm6
cvtps2pd xmm2, xmm6
mulsd xmm2, xmm0
movss xmm9, dword [rsp + 0x64]
unpcklps xmm9, xmm9
cvtps2pd xmm1, xmm9
mulsd xmm1, xmm7
addsd xmm2, xmm1
cvtsd2ss xmm11, xmm2
unpcklps xmm9, xmm9
cvtps2pd xmm2, xmm9
mulsd xmm2, xmm0
unpcklps xmm6, xmm6
cvtps2pd xmm0, xmm6
mulsd xmm0, xmm7
addsd xmm2, xmm0
cvtsd2ss xmm12, xmm2
mulss xmm6, xmm13
addss xmm6, xmm8
movaps xmm0, xmm11
mulss xmm0, xmm13
subss xmm6, xmm0
mulss xmm9, xmm13
addss xmm9, xmm8
movaps xmm0, xmm12
mulss xmm0, xmm13
subss xmm9, xmm0
movaps xmm1, xmm11
divss xmm1, xmm10
movaps xmm0, xmm12
divss xmm0, xmm10
comiss xmm0, xmm1
jbe 0x18009995a
movaps xmm2, xmm1
jmp 0x18009995d
movaps xmm2, xmm0
comiss xmm10, xmm2
jbe 0x18009996d
comiss xmm0, xmm1
ja 0x180099971
movaps xmm1, xmm0
jmp 0x180099971
movaps xmm1, xmm10
movzx eax, byte [rsi + 0x39]
mov ecx, sendto
sub ecx, eax
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm1
movaps xmm0, xmm7
movss xmm1, dword [0x1800dcec8]
mulss xmm0, xmm1
addss xmm0, xmm12
cvttss2si edx, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm1
addss xmm0, xmm11
cvttss2si ecx, xmm0
call fcn.1800989b0
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], r14
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.18008df64
nop
mov rsi, r14
mov qword [rsp + 0xb8], r14
mov rbp, qword [rsp + 0x80]
cmp rbp, r14
je 0x180099a0a
lea rdx, [rsp + 0xb8]
mov rcx, qword [rbp + 8]
call sub.gdiplus.dll_GdipGetImageGraphicsContext
mov edi, eax
mov rsi, qword [rsp + 0xb8]
jmp 0x180099a11
mov edi, dword [rsp + 0x100]
mov qword [rsp + 0xf8], rsi
mov edx, 0xffffff
mov rcx, rsi
call sub.gdiplus.dll_GdipGraphicsClear
cmp eax, r14d
cmovne edi, eax
mov dword [rsp + 0x40], 2
movss dword [rsp + 0x38], xmm12
movss dword [rsp + 0x30], xmm11
movss dword [rsp + 0x28], xmm9
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm7
movaps xmm2, xmm7
mov rdx, qword [r12 + 8]
mov rcx, rsi
call sub.gdiplus.dll_GdipDrawImagePointRect
cmp eax, r14d
cmovne edi, eax
mov dword [rsp + 0x100], edi
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 8]
mov rdi, rax
mov rcx, rsi
call sub.gdiplus.dll_GdipDeleteGraphics
nop
mov rdx, qword [rsp + 0x88]
cmp rdx, r14
je 0x180099ae0
mov ecx, r15d
lock xadd dword [rdx + 0x10], ecx
add ecx, r15d
jne 0x180099ad6
mov rbx, qword [rsp + 0x88]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0x14], eax
add eax, r15d
jne 0x180099ad6
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x50]
mov r13, qword [rsp + 0x78]
jmp 0x180099ae0
mov rbx, qword [rsp + 0x50]
mov r13, qword [rsp + 0x78]
mov rcx, r13
call sub.gdiplus.dll_GdipDeleteBrush
nop
mov rcx, qword [rsp + 0x68]
call sub.gdiplus.dll_GdipDeleteStringFormat
nop
mov rcx, qword [rsp + 0x98]
cmp rcx, r14
je 0x180099b45
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
add eax, r15d
jne 0x180099b40
mov rbx, qword [rsp + 0x98]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0x14], eax
add eax, r15d
jne 0x180099b40
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x50]
jmp 0x180099b45
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call sub.gdiplus.dll_GdipDeleteGraphics
nop
mov rcx, qword [rsp + 0xa8]
cmp rcx, r14
je 0x180099b94
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
add eax, r15d
jne 0x180099b94
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0x14], eax
add eax, r15d
jne 0x180099b94
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rsp + 0x170], 8
jb 0x180099bac
mov rcx, qword [rsp + 0x158]
call fcn.18009a864
mov rax, rdi
mov rcx, qword [rsp + 0x178]
xor rcx, rsp
call fcn.180099fe0
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret