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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a6b14
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x4c3518]
xor eax, esp
mov dword [esp + 0xc0], eax
push ebx
push esi
push edi
mov eax, dword [0x4c3518]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
lea eax, [esp + 0x2c]
push eax
mov ebx, ecx
call fcn.00416880
mov dword [esp + 0xe0], 0
call fcn.0041f8e0
mov ebx, eax
xor edi, edi
cmp ebx, edi
jne 0x41feaf
mov eax, dword [esp + 0x38]
cmp eax, edi
je 0x41fea5
push eax
call fcn.00485321
add esp, 4
mov ecx, dword [esp + 0x2c]
push ecx
jmp 0x42053f
mov eax, dword [ebp + 8]
cmp eax, edi
jne 0x41febd
mov esi, str.ImageSpecifications
jmp 0x41fed7
cmp eax, 1
jne 0x41fec9
mov esi, str.AlbumArt
jmp 0x41fed7
cmp eax, 2
jne 0x420529
mov esi, str.ChapterImageSpecs
cmp byte [0x4c73c5], 0
jne 0x41feed
call fcn.0044081f
test eax, eax
jne 0x41feed
xor esi, esi
jmp 0x41ff08
mov eax, dword [0x4c7464]
cmp eax, edi
jne 0x41fefa
xor esi, esi
jmp 0x41ff08
push 0x8000100
push esi
push edi
call eax
add esp, 0xc
mov esi, eax
cmp byte [0x4c73c5], 0
jne 0x41ff22
call fcn.0044081f
test eax, eax
jne 0x41ff22
xor ebx, ebx
mov dword [esp + 0x18], ebx
jmp 0x41ff40
mov eax, dword [0x4c7494]
cmp eax, edi
jne 0x41ff33
mov dword [esp + 0x18], edi
mov ebx, edi
jmp 0x41ff40
push esi
push ebx
call eax
add esp, 8
mov dword [esp + 0x18], eax
mov ebx, eax
cmp byte [0x4c73c5], 0
jne 0x41ff52
call fcn.0044081f
test eax, eax
je 0x41ff61
mov eax, dword [0x4c746c]
cmp eax, edi
je 0x41ff61
push esi
call eax
add esp, 4
cmp ebx, edi
je 0x420447
cmp byte [0x4c73c5], 0
jne 0x41ff80
call fcn.0044081f
test eax, eax
jne 0x41ff80
or esi, 0xffffffff
jmp 0x41ff96
mov eax, dword [0x4c7440]
cmp eax, edi
jne 0x41ff8e
or esi, 0xffffffff
jmp 0x41ff96
push ebx
call eax
add esp, 4
mov esi, eax
cmp byte [0x4c73c5], 0
jne 0x41ffad
call fcn.0044081f
test eax, eax
jne 0x41ffad
or eax, 0xffffffff
jmp 0x41ffbd
mov eax, dword [0x4c7444]
cmp eax, edi
jne 0x41ffbb
or eax, 0xffffffff
jmp 0x41ffbd
call eax
cmp esi, eax
jne 0x420447
cmp byte [0x4c73c5], 0
jne 0x41ffe1
call fcn.0044081f
test eax, eax
jne 0x41ffe1
mov dword [esp + 0x20], 0xffffffff
jmp 0x41fffe
mov eax, dword [0x4c7484]
cmp eax, edi
jne 0x41fff4
mov dword [esp + 0x20], 0xffffffff
jmp 0x41fffe
push ebx
call eax
add esp, 4
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
jle 0x420447
lea esp, [esp]
cmp byte [0x4c73c5], 0
jne 0x420026
call fcn.0044081f
test eax, eax
jne 0x420026
xor ebx, ebx
jmp 0x420044
mov eax, dword [0x4c7470]
cmp eax, edi
jne 0x420033
xor ebx, ebx
jmp 0x420044
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
push ecx
call eax
add esp, 8
mov ebx, eax
cmp byte [0x4c73c5], 0
jne 0x42005e
call fcn.0044081f
test eax, eax
jne 0x42005e
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x420085
mov eax, dword [0x4c7470]
cmp eax, edi
jne 0x42006d
mov dword [esp + 0x14], edi
jmp 0x420081
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc edx
push edx
push ecx
call eax
add esp, 8
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x14]
cmp ebx, edi
je 0x420432
cmp esi, edi
je 0x420432
xor edx, edx
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], edi
mov word [esp + 0x64], dx
lea eax, [esp + 0x60]
push eax
push ebx
mov byte [esp + 0xe8], 1
call fcn.0041c2a0
mov eax, dword [esp + 0x6c]
add esp, 8
cmp dword [esp + 0x78], 8
jae 0x4200cd
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
mov ebx, eax
cmp ebx, 0x3e8
jl 0x420421
push 0x34
lea ecx, [esp + 0xa0]
push edi
push ecx
call fcn.0048ab30
add esp, 0xc
push str.OffsetAlignment
mov dword [esp + 0x9c], ebx
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x42012f
lea edi, [esp + 0x24]
mov ebx, eax
call fcn.0041b950
mov edx, dword [esp + 0x24]
mov dword [esp + 0x9c], edx
xor edi, edi
push str.RenderHeight
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x420162
lea edi, [esp + 0x24]
mov ebx, eax
call fcn.0041b950
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa0], eax
xor edi, edi
push str.RenderWidth
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x420195
lea edi, [esp + 0x24]
mov ebx, eax
call fcn.0041b950
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xa4], ecx
xor edi, edi
push str.RowBytesAlignment
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x4201c8
lea edi, [esp + 0x24]
mov ebx, eax
call fcn.0041b950
mov edx, dword [esp + 0x24]
mov dword [esp + 0xa8], edx
xor edi, edi
push str.BottomInset
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x4201fb
lea edi, [esp + 0x24]
mov ebx, eax
call fcn.0041b950
mov eax, dword [esp + 0x24]
mov dword [esp + 0xac], eax
xor edi, edi
push str.RightInset
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x42022e
lea edi, [esp + 0x24]
mov ebx, eax
call fcn.0041b950
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xb0], ecx
xor edi, edi
push str.SeparateFile
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x42025e
push eax
call fcn.0044128c
add esp, 4
test al, al
setne dl
mov byte [esp + 0xbd], dl
xor eax, eax
mov dword [esp + 0x94], 7
mov dword [esp + 0x90], edi
mov word [esp + 0x80], ax
push str.PixelFormat
mov byte [esp + 0xe4], 2
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x4202da
lea ecx, [esp + 0x7c]
push ecx
push eax
call fcn.0041c2a0
mov eax, dword [esp + 0x88]
mov ebx, 8
add esp, 8
cmp dword [esp + 0x94], ebx
jae 0x4202c7
lea eax, [esp + 0x80]
push 9
lea ecx, [esp + 0xb8]
call fcn.0041c920
add esp, 4
jmp 0x4202df
mov ebx, 8
push str.BackColor
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x420359
xor edx, edx
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], edi
mov word [esp + 0x48], dx
lea ecx, [esp + 0x44]
push ecx
push eax
mov byte [esp + 0xe8], 3
call fcn.0041c2a0
mov eax, dword [esp + 0x50]
add esp, 8
cmp dword [esp + 0x5c], ebx
jae 0x420331
lea eax, [esp + 0x48]
push 0x10
push edi
push eax
call fcn.0048a104
add esp, 0xc
lea esi, [esp + 0x44]
mov dword [esp + 0xc0], eax
mov byte [esp + 0xe0], 2
call fcn.004090c0
mov esi, dword [esp + 0x14]
push str.BorderColor
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x4203d3
xor edx, edx
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], edi
mov word [esp + 0x48], dx
lea ecx, [esp + 0x44]
push ecx
push eax
mov byte [esp + 0xe8], 4
call fcn.0041c2a0
mov eax, dword [esp + 0x50]
add esp, 8
cmp dword [esp + 0x5c], ebx
jae 0x4203ab
lea eax, [esp + 0x48]
push 0x10
push edi
push eax
call fcn.0048a104
add esp, 0xc
lea esi, [esp + 0x44]
mov dword [esp + 0xc4], eax
mov byte [esp + 0xe0], 2
call fcn.004090c0
mov esi, dword [esp + 0x14]
push str.BorderWidth
call fcn.004412cc
add esp, 4
push eax
push esi
call fcn.004411a0
add esp, 8
cmp eax, edi
je 0x420406
lea edi, [esp + 0x24]
mov ebx, eax
call fcn.0041b950
mov edx, dword [esp + 0x24]
mov dword [esp + 0xc8], edx
xor edi, edi
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.00420d50
lea esi, [esp + 0x7c]
call fcn.004090c0
lea esi, [esp + 0x60]
mov byte [esp + 0xe0], 0
call fcn.004090c0
mov eax, dword [esp + 0x1c]
add eax, 2
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
jl 0x420010
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x38]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
lea edx, [ebx*8]
sub edx, ebx
lea eax, [edx*8 + 0x3c]
push eax
call fcn.004860e8
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, edi
je 0x41fe94
cmp ebx, edi
mov dword [eax], ebx
mov dword [esp + 0x20], edi
jle 0x4204f7
mov edx, eax
add edx, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x38]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x20], eax
jb 0x4204c8
call fcn.00485b29
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
add dword [esp + 0x1c], 0x38
lea esi, [ecx + edx]
inc eax
add edx, 0x38
cmp eax, ebx
mov ecx, 0xe
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], edx
jl 0x4204a2
mov eax, dword [esp + 0x38]
test eax, eax
je 0x420508
push eax
call fcn.00485321
add esp, 4
mov edx, dword [esp + 0x2c]
xor eax, eax
push edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
call fcn.00485321
mov eax, dword [esp + 0x1c]
add esp, 4
jmp 0x420555
mov eax, dword [esp + 0x38]
cmp eax, edi
je 0x42053a
push eax
call fcn.00485321
add esp, 4
mov eax, dword [esp + 0x2c]
push eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
call fcn.00485321
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.0048532c
mov esp, ebp
pop ebp
ret 4