Function at 0x14001f1d4
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x300
mov rax, qword [0x14013cd80]
mov r12, rdx
mov rbp, rcx
cmp rax, 0xffffffffffffffff
jne 0x14001f205
xor eax, eax
jmp 0x14001fcb2
xor esi, esi
mov edi, 1
cmp rdx, rsi
je 0x14001f231
test byte [rdx], 0x10
je 0x14001f231
mov rcx, qword [rdx + 8]
mov dword [rsp + 0x358], edi
mov qword [rsp + 0x70], rcx
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x78], rcx
jmp 0x14001f242
mov dword [rsp + 0x358], esi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
mov ebx, 0x2e
cmp rax, rsi
jne 0x14001f8c8
mov rax, qword [0x14013ccc0]
cmp rax, rsi
jne 0x14001f3d7
lea rcx, str.GdiPlus.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x14013ccc0], rax
cmp rax, rsi
jne 0x14001f3d7
lea rcx, [rsp + 0x80]
lea rdx, str._SystemRoot_WinSxS
lea r8d, [rbx - 2]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x38], rsi
call fcn.1401036e0
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x80]
lea rcx, [0x14013d130]
xor r9d, r9d
mov byte [rsp + 0x20], dil
call fcn.14007bf44
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0xb0]
lea rcx, [rsp + 0x50]
call fcn.140101db8
cmp rax, rsi
je 0x14001f39e
mov rcx, qword [rsp + 0x38]
lea r8d, [rbx + 0x2e]
xor edx, edx
call qword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp rax, rsi
je 0x14001f2f9
mov word [rax], si
cmp word [rsp + 0xdc], bx
je 0x14001f37a
test byte [rsp + 0xb0], 0x10
je 0x14001f37a
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0xdc]
movsxd rbx, eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
lea rdx, [rcx + rbx + 0x1e]
lea rcx, [rsp + 0x48]
call fcn.140063694
mov r8, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
lea r9, [rsp + 0xdc]
lea rdx, str._s_sGdiPlus.dll
call fcn.14001708c
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea rcx, [rsp + 0x48]
mov qword [0x14013ccc0], rax
call fcn.14005b104
mov ebx, 0x2e
cmp qword [0x14013ccc0], rsi
jne 0x14001f39e
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, esi
jne 0x14001f2f9
lea rcx, [rsp + 0x38]
call fcn.14005b104
mov rcx, qword [rsp + 0x50]
cmp rcx, rsi
je 0x14001f3be
cmp rcx, 0xffffffffffffffff
je 0x14001f3be
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rax, qword [0x14013ccc0]
cmp rax, rsi
jne 0x14001f3d7
or qword [0x14013cd80], 0xffffffffffffffff
jmp 0x14001f1fe
lea rdx, str.GdiplusShutdown
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipLoadImageFromFile
mov qword [0x14013cd88], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipDisposeImage
mov qword [0x14013cda0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipCreateFromHDC
mov qword [0x14013cd90], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipDrawImageRectI
mov qword [0x14013ce28], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipCreateBitmapFromHBITMAP
mov qword [0x14013cd98], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipCreateHBITMAPFromBitmap
mov qword [0x14013cde8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipSaveImageToFile
mov qword [0x14013cdf0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetImageEncodersSize
mov qword [0x14013cdf8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetImageEncoders
mov qword [0x14013cdb8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipDrawImageI
mov qword [0x14013cdc0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetImageWidth
mov qword [0x14013ce00], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetImageHeight
mov qword [0x14013ce08], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipDrawImageRectRectI
mov qword [0x14013ce10], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipDeleteGraphics
mov qword [0x14013ce20], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipSetInterpolationMode
mov qword [0x14013ce30], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipSetPixelOffsetMode
mov qword [0x14013ce38], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipSetSmoothingMode
mov qword [0x14013ce40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipLoadImageFromStream
mov qword [0x14013ce48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetImageType
mov qword [0x14013ce50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.GdipCreateBitmapFromHICON
mov qword [0x14013ce58], rax
mov rcx, qword [0x14013ccc0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetImageDimension
mov qword [0x14013ce70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipCreateHICONFromBitmap
mov qword [0x14013ce78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipSetTextRenderingHint
mov qword [0x14013ce60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipImageGetFrameDimensionsList
mov qword [0x14013ce68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipImageSelectActiveFrame
mov qword [0x14013cda8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipImageGetFrameDimensionsCount
mov qword [0x14013cdb0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipImageGetFrameCount
mov qword [0x14013cdc8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetPropertyItemSize
mov qword [0x14013cdd0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetPropertyItem
mov qword [0x14013cdd8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipBitmapLockBits
mov qword [0x14013cde0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipBitmapUnlockBits
mov qword [0x14013ce80], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipCreateBitmapFromScan0
mov qword [0x14013ce88], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipCreateBitmapFromResource
mov qword [0x14013ce90], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipCloneBitmapAreaI
mov qword [0x14013ce98], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetImageGraphicsContext
mov qword [0x14013cea0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipScaleWorldTransform
mov qword [0x14013cea8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipCreateTexture
mov qword [0x14013ceb0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipDeleteBrush
mov qword [0x14013ceb8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipFillRectangle
mov qword [0x14013cec0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
mov qword [0x14013cec8], rax
lea rdx, str.GdipDrawString
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipNewPrivateFontCollection
mov qword [0x14013ce18], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipDeletePrivateFontCollection
mov qword [0x14013ced0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipPrivateAddMemoryFont
mov qword [0x14013ced8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetFontCollectionFamilyList
mov qword [0x14013cee0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdipGetFamilyName
mov qword [0x14013cee8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14013ccc0]
lea rdx, str.GdiplusStartup
mov qword [0x14013cef0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14013cd80], rax
lea rbx, [rbp - 1]
cmp rbx, 0xfffffffffffffffd
je 0x14001fcb2
mov rcx, qword [0x14013cfc0]
cmp rcx, rsi
jne 0x14001f91f
cmp qword [0x14013cda0], rsi
je 0x14001f91f
xor ecx, ecx
lea rdx, [rsp + 0x80]
xor r8d, r8d
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rcx
lea rcx, [0x14013cfc0]
mov dword [rsp + 0x80], edi
call rax
mov rcx, qword [0x14013cfc0]
cmp rbx, 0xfffffffffffffffe
jb 0x14001f92d
mov rax, rcx
jmp 0x14001fcb2
mov edx, 0x7c
mov rcx, rbp
mov qword [rsp + 0x30], rsi
mov r13, rsi
mov r14, rsi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x350], esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov r15, rax
mov rdi, rax
mov eax, 2
cmp r15, rsi
je 0x14001f978
mov word [r15], si
add rdi, rax
mov ebx, 0x23
xor edx, edx
mov rcx, rbp
mov r8d, ebx
call qword [sym.imp.SHLWAPI.dll_StrRChrW]
mov rsi, rax
mov rax, qword [0x14013cda0]
cmp bx, word [rbp]
je 0x14001f9ad
xor ebx, ebx
cmp rdi, rbx
jne 0x14001f9af
cmp rax, rbx
jne 0x14001fb42
jmp 0x14001f9af
xor ebx, ebx
mov ecx, 0x23
cmp cx, word [rbp]
jne 0x14001f9e4
mov rsi, rbp
add rbp, 2
movzx eax, word [rbp]
cmp ax, bx
je 0x14001f9d6
sub ax, 0x30
cmp ax, 9
cmova rsi, rbp
mov r13, qword [0x14013cf70]
mov ebp, 2
jmp 0x14001fa49
cmp rsi, rbx
je 0x14001fb39
movzx ebx, word [rsi]
xor eax, eax
mov rcx, rbp
mov word [rsi], ax
call fcn.14001be14
mov ebp, 2
mov r8d, ebp
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov word [rsi], bx
xor ebx, ebx
mov r14, rax
mov r13, rax
cmp rdi, rbx
je 0x14001fa2b
mov r8, r15
sub r8, rsi
sar r8, 1
jmp 0x14001fa37
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.140063888
mov rsi, qword [rsp + 0x40]
cmp rdi, rbx
je 0x14001fbe7
movzx eax, word [rdi]
neg ax
sbb rcx, rcx
and rcx, rdi
mov rdi, rcx
cmp rcx, rbx
je 0x14001fbe7
call fcn.14005d87c
cmp al, bl
je 0x14001faac
mov rdx, rsi
mov rcx, r13
mov rdi, rbp
call qword [sym.imp.USER32.dll_LoadBitmapW]
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x14001faa5
lea r8, [rsp + 0x30]
xor edx, edx
mov rcx, rbx
call qword [0x14013cde8]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
xor ebx, ebx
jmp 0x14001fbe7
mov rcx, rdi
call fcn.14005d83c
cmp al, bl
je 0x14001faca
mov edi, 3
mov dword [rsp + 0x350], 0x14
jmp 0x14001fae6
mov rcx, rdi
call fcn.14005d7e8
cmp al, bl
je 0x14001fbe7
mov edi, 0xe
mov dword [rsp + 0x350], ebp
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x70]
lea rax, [rsp + 0x350]
mov qword [rsp + 0x28], rax
mov rdx, rsi
mov rcx, r13
mov qword [rsp + 0x20], rbx
call fcn.140073934
bt dword [rsp + 0x350], 8
mov rbx, rax
jae 0x14001fbba
mov qword [rsp + 0x30], rax
xor eax, eax
cmp rbx, rax
je 0x14001fbe0
or qword [r12], 4
jmp 0x14001fbd5
cmp rax, rbx
je 0x14001fc88
mov rcx, rbp
call fcn.1400688e0
cmp al, bl
je 0x14001fb77
lea rdx, [rsp + 0x58]
mov rcx, rbp
call fcn.14001e240
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
call fcn.140061e98
mov qword [rsp + 0x30], rax
jmp 0x14001fc88
xor r9d, r9d
mov rdx, rbp
xor ecx, ecx
lea r8d, [r9 + 1]
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_LoadImageW]
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x14001fc3e
lea ebp, [rax + 2]
cmp dword [rsp + 0x358], eax
je 0x14001fbbe
or qword [r12], rbp
mov qword [rsp + 0x30], rbx
jmp 0x14001fbd5
xor eax, eax
jmp 0x14001fba6
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [0x14013ce70]
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyIcon]
xor ebx, ebx
cmp qword [rsp + 0x30], rbx
jne 0x14001fbe7
jmp 0x14001fbe2
xor ebx, ebx
mov qword [rsp + 0x30], rbx
cmp r13, rbx
je 0x14001fc2e
cmp qword [rsp + 0x30], rbx
jne 0x14001fc2e
cmp rdi, rbx
lea r9, [rsp + 0x58]
mov rdx, rsi
cmove rdi, rbp
mov rcx, r13
mov qword [rsp + 0x20], rbx
mov r8, rdi
call fcn.14001ea18
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
call fcn.140061e98
mov qword [rsp + 0x30], rax
cmp rax, rbx
jne 0x14001fc88
cmp r14, rbx
je 0x14001fc88
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x14001fc88
lea rdx, [rsp + 0x30]
mov rcx, rbp
call qword [0x14013cda0]
xor ebx, ebx
cmp qword [rsp + 0x30], rbx
je 0x14001fc88
cmp r12, rbx
je 0x14001fc88
lea r8d, [rbx + 0x2e]
xor edx, edx
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp rax, rbx
je 0x14001fc88
lea rcx, [rax + 2]
lea rdx, [0x14011fb68]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, ebx
jne 0x14001fc88
or qword [r12], 4
cmp r15, rbx
je 0x14001fc96
mov eax, 0x7c
mov word [r15], ax
mov rbx, qword [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.14005b104
lea rcx, [rsp + 0x40]
call fcn.14005b104
mov rax, rbx
mov rbx, qword [rsp + 0x340]
add rsp, 0x300
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret