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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x34
movsd xmm2, qword [0x4b4300]
push ebx
mov ebx, ecx
push esi
push edi
xor edi, edi
mov dword [esp + 0x34], ebx
mov ecx, dword [ebx + 0x2c8]
mov eax, dword [ebx + 0x188]
test ecx, ecx
je 0x42e22b
sub esp, 8
test eax, eax
je 0x42e1a3
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm1, ecx
cvtsi2sd xmm0, eax
mulsd xmm1, xmm0
divsd xmm1, qword [0x4b4710]
addsd xmm1, xmm2
movsd qword [esp + 0x40], xmm1
fld qword [esp + 0x40]
fstp qword [esp]
call fcn.004a0120
movsd xmm1, qword [0x4b4718]
add esp, 8
fstp qword [esp + 0x38]
movsd xmm0, qword [esp + 0x38]
comisd xmm1, xmm0
jb 0x42e19c
comisd xmm0, xmmword [0x4b4898]
jb 0x42e19c
cvttsd2si eax, xmm0
add eax, 0xfffe8ce8
cmp eax, 0x2710
jbe 0x42e200
mov edi, 1
jmp 0x42e200
movsd xmm1, qword [0x4b4720]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
addsd xmm1, xmm2
movsd qword [esp + 0x40], xmm1
fld qword [esp + 0x40]
fstp qword [esp]
call fcn.004a0120
movsd xmm1, qword [0x4b4718]
add esp, 8
fstp qword [esp + 0x38]
movsd xmm0, qword [esp + 0x38]
comisd xmm1, xmm0
jb 0x42e1f8
comisd xmm0, xmmword [0x4b4898]
jb 0x42e1f8
cvttsd2si eax, xmm0
jmp 0x42e1fa
xor eax, eax
mov dword [ebx + 0x188], eax
or word [ebx + 0x312], 1
lea esi, [ebx + 0x7c]
mov ax, word [ebx + 0x312]
mov ecx, dword [esi]
mov dword [esp + 0x1c], esi
test edi, edi
je 0x42e2c9
or ecx, 0x2000
jmp 0x42e2cf
test eax, eax
je 0x42e297
movsd xmm1, qword [0x4b4720]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
addsd xmm1, xmm2
movsd qword [esp + 0x40], xmm1
fld qword [esp + 0x40]
fstp qword [esp]
call fcn.004a0120
movsd xmm1, qword [0x4b4718]
add esp, 8
fstp qword [esp + 0x38]
movsd xmm0, qword [esp + 0x38]
comisd xmm1, xmm0
jb 0x42e28d
comisd xmm0, xmmword [0x4b4898]
jb 0x42e28d
cvttsd2si eax, xmm0
mov dword [ebx + 0x2c8], eax
jmp 0x42e2ab
xor eax, eax
mov dword [ebx + 0x2c8], eax
jmp 0x42e2ab
mov dword [ebx + 0x2c8], 0x186a0
mov dword [ebx + 0x188], 0x186a0
mov ax, word [ebx + 0x312]
lea esi, [ebx + 0x7c]
mov ecx, dword [esi]
or ax, 1
movzx eax, ax
mov dword [esp + 0x1c], esi
mov word [ebx + 0x312], ax
and ecx, 0xffffdfff
movzx edi, ax
movzx edx, ax
mov eax, ecx
and eax, 0x40080
mov dword [esi], ecx
cmp eax, 0x40000
jne 0x42e2fd
and dword [ebx + 0x78], 0xffffdfff
and ecx, 0xfd7ffeff
xor eax, eax
mov dword [esi], ecx
mov word [ebx + 0x148], ax
mov eax, dword [ebx + 0x188]
add eax, 0xfffe8ce8
cmp eax, 0x2710
ja 0x42e322
and ecx, 0xff7fffff
mov eax, edi
and dword [ebx + 0x78], 0xffffdfff
mov dword [esi], ecx
jmp 0x42e328
mov eax, edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], esi
test ecx, 0x600000
je 0x42e482
cmp byte [ebx + 0x249], 0
jne 0x42e482
test al, 2
je 0x42e482
mov eax, dword [ebx + 0x2fc]
mov ecx, dword [ebx + 0x308]
mov edx, dword [ebx + 0x2f0]
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], eax
lea edi, [ecx + eax]
mov dword [esp + 0x2c], eax
add edi, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], edi
test edi, edi
jle 0x42f131
test edx, edx
js 0x42f131
push edi
push 0x8000
lea ecx, [esp + 0x38]
call fcn.0042c9f0
add esp, 8
test eax, eax
je 0x42f131
cmp dword [esp + 0x30], 0x8000
ja 0x42f131
mov edx, dword [esp + 0x38]
test edx, edx
js 0x42f131
push edi
push 0x8000
lea ecx, [esp + 0x34]
call fcn.0042c9f0
add esp, 8
test eax, eax
je 0x42f131
mov edi, dword [esp + 0x2c]
cmp edi, 0x8000
ja 0x42f131
mov edx, dword [esp + 0x24]
test edx, edx
js 0x42f131
push dword [esp + 0x20]
lea ecx, [esp + 0x2c]
push 0x8000
call fcn.0042c9f0
add esp, 8
test eax, eax
je 0x42f131
mov edx, dword [esp + 0x28]
cmp edx, 0x8000
ja 0x42f131
mov ecx, dword [esp + 0x30]
lea eax, [edx + edi]
add eax, ecx
cmp eax, 0x8001
jg 0x42f131
cmp eax, 0x8000
jle 0x42e443
or eax, 0xffffffff
jmp 0x42e44a
jge 0x42e464
mov eax, 1
cmp ecx, edi
jg 0x42e45a
cmp edi, edx
jl 0x42e456
add edi, eax
jmp 0x42e464
cmp ecx, edi
jl 0x42e462
cmp ecx, edx
jl 0x42e462
add ecx, eax
jmp 0x42e464
add edx, eax
lea eax, [edx + edi]
add eax, ecx
cmp eax, 0x8000
jne 0x42f125
mov word [ebx + 0x24a], cx
mov word [ebx + 0x24c], di
mov ecx, dword [esi]
test ecx, 0x100
je 0x42e497
test byte [ebx + 0x14f], 2
jne 0x42e4cc
jmp 0x42e4c5
mov eax, ecx
and eax, 0x4080
cmp eax, 0x4080
jne 0x42e4cc
movzx eax, word [ebx + 0x166]
cmp ax, word [ebx + 0x168]
jne 0x42e4cc
cmp ax, word [ebx + 0x16a]
jne 0x42e4cc
mov word [ebx + 0x16c], ax
or dword [ebx + 0x74], 0x800
mov dl, byte [ebx + 0x14f]
cmp dl, 3
jne 0x42e4e3
mov ecx, ebx
call fcn.0042dfd0
jmp 0x42e5a4
test dl, 4
jne 0x42e509
and dword [ebx + 0x78], 0xffffdfff
and ecx, 0xff7fffff
cmp word [ebx + 0x148], 0
mov dword [esi], ecx
ja 0x42e509
and ecx, 0xfffffe7f
mov dword [esi], ecx
mov eax, ecx
and eax, 0x1100
cmp eax, 0x1100
jne 0x42e5a4
test dl, 2
jne 0x42e5a4
movzx eax, byte [ebx + 0x150]
movzx edi, word [ebx + 0x16c]
movzx edx, word [ebx + 0x1bc]
sub eax, 1
je 0x42e560
sub eax, 1
je 0x42e558
sub eax, 2
jne 0x42e56c
mov eax, edi
shl edi, 4
add edi, eax
mov eax, edx
shl edx, 4
add edx, eax
jmp 0x42e56c
imul edi, edi, 0x55
imul edx, edx, 0x55
jmp 0x42e56c
imul edi, edi, 0xff
imul edx, edx, 0xff
movzx eax, di
mov word [ebx + 0x16a], ax
mov word [ebx + 0x168], ax
mov word [ebx + 0x166], ax
test ecx, 0x2000000
jne 0x42e5a4
movzx eax, dx
mov word [ebx + 0x1ba], ax
mov word [ebx + 0x1b8], ax
mov word [ebx + 0x1b6], ax
mov edx, dword [esi]
mov eax, edx
and eax, 0x380
mov dword [esp + 0x30], edx
cmp eax, 0x280
jne 0x42e631
cmp byte [ebx + 0x150], 0x10
je 0x42e631
movzx eax, word [ebx + 0x166]
add eax, 0x81
imul eax, eax, 0xff
shr eax, 0x10
mov word [ebx + 0x166], ax
movzx eax, word [ebx + 0x168]
add eax, 0x81
imul eax, eax, 0xff
shr eax, 0x10
mov word [ebx + 0x168], ax
movzx eax, word [ebx + 0x16a]
add eax, 0x81
imul eax, eax, 0xff
shr eax, 0x10
mov word [ebx + 0x16a], ax
movzx eax, word [ebx + 0x16c]
add eax, 0x81
imul eax, eax, 0xff
shr eax, 0x10
mov word [ebx + 0x16c], ax
test edx, 0x4000400
setne cl
test dl, 0x80
setne al
test al, cl
je 0x42e6a0
test edx, 0x100
jne 0x42e6a0
cmp byte [ebx + 0x150], 0x10
jne 0x42e6a0
movzx ecx, word [ebx + 0x166]
mov edi, 0x101
mov eax, edi
imul ecx, eax
mov word [ebx + 0x166], cx
movzx ecx, word [ebx + 0x168]
imul ecx, eax
mov word [ebx + 0x168], cx
movzx ecx, word [ebx + 0x16a]
imul ecx, eax
mov word [ebx + 0x16a], cx
movzx ecx, word [ebx + 0x16c]
imul ecx, eax
mov word [ebx + 0x16c], cx
movq xmm0, qword [ebx + 0x164]
mov ax, word [ebx + 0x16c]
movq qword [ebx + 0x16e], xmm0
mov word [ebx + 0x176], ax
test edx, 0x2000
jne 0x42e700
test edx, 0x600000
je 0x42e73b
mov eax, dword [ebx + 0x2c8]
add eax, 0xfffe8ce8
cmp eax, 0x2710
ja 0x42e700
mov eax, dword [ebx + 0x188]
mov ecx, dword [esp + 0x18]
add eax, 0xfffe8ce8
mov esi, ecx
mov dword [esp + 0x1c], esi
cmp eax, 0x2710
jbe 0x42e73b
mov dword [esp + 0x1c], esi
movzx edx, byte [ebx + 0x150]
mov ecx, ebx
call fcn.0042d430
mov eax, dword [esi]
test al, al
jns 0x42efd1
test eax, 0x600000
je 0x42e955
mov eax, dword [ebx + 0x50]
push str.libpng_does_not_support_gammabackgroundrgb_to_gray
test eax, eax
je 0x42e925
push ebx
call eax
jmp 0x42e952
mov ecx, edx
mov edi, esi
and ecx, 0x80
je 0x42e796
mov eax, dword [ebx + 0x2c8]
add eax, 0xfffe8ce8
cmp eax, 0x2710
ja 0x42e700
mov eax, dword [ebx + 0x188]
add eax, 0xfffe8ce8
mov dword [esp + 0x1c], esi
cmp eax, 0x2710
ja 0x42e837
cmp byte [ebx + 0x15c], 3
jne 0x42e796
mov eax, dword [ebx + 0x160]
add eax, 0xfffe8ce8
mov dword [esp + 0x1c], esi
cmp eax, 0x2710
ja 0x42e700
test edx, 0x800000
je 0x42e7b4
mov eax, dword [ebx + 0x188]
add eax, 0xfffe8ce8
cmp eax, 0x2710
ja 0x42e700
test ecx, ecx
je 0x42f040
cmp byte [ebx + 0x14f], 3
mov edx, dword [esp + 0x30]
jne 0x42f040
mov al, byte [ebx + 0x166]
movzx ecx, word [ebx + 0x148]
mov dl, byte [ebx + 0x16a]
mov edi, dword [ebx + 0x13c]
mov byte [esp + 0x16], al
mov byte [esp + 0x18], al
mov al, byte [ebx + 0x168]
mov byte [esp + 0x17], al
mov byte [esp + 0x19], al
xor eax, eax
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x15], dl
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x42e916
mov ecx, dword [ebx + 0x1b0]
add edi, 2
mov ebx, ecx
nop dword [eax]
mov cl, byte [ebx + eax]
test cl, cl
jne 0x42e83e
mov cx, word [esp + 0x18]
mov word [edi - 2], cx
mov byte [edi], dl
jmp 0x42e8fc
mov esi, edi
jmp 0x42e6fc
cmp cl, 0xff
je 0x42e8fc
movzx eax, byte [esp + 0x16]
movzx edx, cl
mov ecx, 0xff
sub ecx, edx
movzx esi, cx
imul esi, eax
movzx eax, byte [edi - 2]
imul eax, edx
add si, ax
mov eax, 0x80
add si, ax
movzx eax, si
mov ecx, eax
shr ecx, 8
add ecx, eax
mov eax, dword [esp + 0x20]
shr ecx, 8
mov byte [edi - 2], cl
mov ecx, 0xff
movzx edx, byte [ebx + eax]
movzx eax, byte [esp + 0x17]
sub ecx, edx
movzx esi, cx
imul esi, eax
movzx eax, byte [edi - 1]
imul eax, edx
add si, ax
mov eax, 0x80
add si, ax
movzx eax, si
mov ecx, eax
shr ecx, 8
add ecx, eax
mov eax, dword [esp + 0x20]
shr ecx, 8
mov byte [edi - 1], cl
mov ecx, 0xff
movzx edx, byte [ebx + eax]
movzx eax, byte [esp + 0x15]
sub ecx, edx
movzx esi, cx
imul esi, eax
movzx eax, byte [edi]
imul eax, edx
mov dl, byte [esp + 0x15]
add si, ax
mov eax, 0x80
add si, ax
movzx eax, si
mov ecx, eax
shr ecx, 8
add ecx, eax
mov eax, dword [esp + 0x20]
shr ecx, 8
mov byte [edi], cl
inc eax
add edi, 3
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x2c]
jl 0x42e820
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
and edx, 0xffffff7f
jmp 0x42f03e
push str.libpng_warning:__s
push 2
call fcn.0044f99f
add esp, 4
push eax
call fcn.0042ddb0
add esp, 0xc
push 0x4b2d64
push 2
call fcn.0044f99f
add esp, 4
push eax
call fcn.0042ddb0
add esp, 8
cmp byte [ebx + 0x14f], 3
mov al, byte [ebx + 0x15c]
jne 0x42ed21
cmp al, 2
jne 0x42e9c0
mov edx, dword [ebx + 0x18c]
movzx edi, word [ebx + 0x166]
movzx esi, word [ebx + 0x168]
movzx ecx, word [ebx + 0x16a]
mov al, byte [edx + edi]
mov byte [esp + 0x18], al
mov al, byte [edx + esi]
mov byte [esp + 0x19], al
mov al, byte [edx + ecx]
mov byte [esp + 0x15], al
mov eax, dword [ebx + 0x198]
mov dl, byte [eax + edi]
mov dword [esp + 0x24], edx
mov dl, byte [eax + esi]
mov al, byte [eax + ecx]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
jmp 0x42eb74
movzx eax, al
sub eax, 1
je 0x42eaf1
sub eax, 1
je 0x42ea09
sub eax, 1
je 0x42e9e0
mov eax, 0x186a0
jmp 0x42eaf7
mov esi, dword [ebx + 0x160]
mov ecx, esi
call fcn.0042caa0
mov edx, dword [ebx + 0x188]
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.0042cb10
mov esi, dword [esp + 0x1c]
mov edi, eax
jmp 0x42ea90
mov edi, dword [ebx + 0x2c8]
mov ecx, edi
call fcn.0042caa0
mov dword [esp + 0x20], eax
test edi, edi
je 0x42eaa2
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x42eaa2
movsd xmm1, qword [0x4b4728]
xorps xmm0, xmm0
cvtsi2sd xmm0, edi
sub esp, 8
divsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
addsd xmm1, qword [0x4b4300]
movsd qword [esp + 0x40], xmm1
fld qword [esp + 0x40]
fstp qword [esp]
call fcn.004a0120
movsd xmm1, qword [0x4b4718]
add esp, 8
fstp qword [esp + 0x38]
movsd xmm0, qword [esp + 0x38]
comisd xmm1, xmm0
jb 0x42eaa2
comisd xmm0, xmmword [0x4b4898]
jb 0x42eaa2
cvttsd2si edi, xmm0
cmp edi, 0x17318
jl 0x42eaa4
cmp edi, 0x19a28
jg 0x42eaa4
jmp 0x42eafb
xor edi, edi
movzx eax, word [ebx + 0x166]
mov edx, edi
movzx ecx, ax
mov dword [esp + 0x24], eax
call fcn.0042cb90
mov byte [esp + 0x18], al
mov edx, edi
movzx eax, word [ebx + 0x168]
movzx ecx, ax
mov dword [esp + 0x28], eax
call fcn.0042cb90
mov byte [esp + 0x19], al
mov edx, edi
movzx eax, word [ebx + 0x16a]
movzx ecx, ax
mov dword [esp + 0x2c], eax
call fcn.0042cb90
mov byte [esp + 0x15], al
jmp 0x42eb25
mov eax, dword [ebx + 0x188]
mov dword [esp + 0x20], eax
mov cl, byte [ebx + 0x166]
mov al, byte [ebx + 0x168]
mov dl, byte [ebx + 0x16a]
mov byte [esp + 0x18], cl
mov byte [esp + 0x19], al
mov byte [esp + 0x15], dl
mov byte [esp + 0x24], cl
mov byte [esp + 0x28], al
mov byte [esp + 0x2c], dl
mov edi, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
lea eax, [edi - 0x17318]
cmp eax, 0x2710
jbe 0x42eb74
movzx ecx, word [ebx + 0x166]
mov edx, edi
call fcn.0042cb90
movzx ecx, word [ebx + 0x168]
mov edx, edi
mov byte [esp + 0x24], al
call fcn.0042cb90
movzx ecx, word [ebx + 0x16a]
mov edx, edi
mov byte [esp + 0x28], al
call fcn.0042cb90
mov byte [esp + 0x2c], al
mov dword [esp + 0x1c], esi
movzx ecx, word [ebx + 0x140]
xor edx, edx
mov dword [esp + 0x20], edx
test ecx, ecx
je 0x42ed14
mov esi, dword [ebx + 0x13c]
movzx eax, word [ebx + 0x148]
add esi, 2
mov dword [esp + 0x30], esi
nop dword [eax]
cmp edx, eax
jae 0x42eccc
mov eax, dword [ebx + 0x1b0]
mov dword [esp + 0x38], eax
mov al, byte [edx + eax]
cmp al, 0xff
je 0x42eccc
test al, al
jne 0x42ebd3
mov ax, word [esp + 0x18]
mov word [esi - 2], ax
mov al, byte [esp + 0x15]
jmp 0x42ecec
mov edi, dword [ebx + 0x198]
mov ecx, 0xff
movzx edx, al
movzx eax, byte [esi - 2]
sub ecx, edx
movzx ecx, cx
mov ebx, dword [ebx + 0x194]
movzx esi, byte [eax + edi]
mov eax, dword [esp + 0x24]
movzx eax, al
imul ecx, eax
mov eax, 0x80
imul esi, edx
mov edx, dword [esp + 0x38]
add si, cx
add si, ax
movzx eax, si
mov ecx, eax
shr ecx, 8
add ecx, eax
shr ecx, 8
movzx eax, cl
mov ecx, dword [esp + 0x30]
mov al, byte [eax + ebx]
mov byte [ecx - 2], al
mov eax, dword [esp + 0x20]
movzx edx, byte [eax + edx]
movzx eax, byte [ecx - 1]
mov ecx, 0xff
sub ecx, edx
movzx ecx, cx
movzx esi, byte [eax + edi]
mov eax, dword [esp + 0x28]
movzx eax, al
imul ecx, eax
mov eax, 0x80
imul esi, edx
mov edx, dword [esp + 0x38]
add si, cx
add si, ax
movzx eax, si
mov ecx, eax
shr ecx, 8
add ecx, eax
shr ecx, 8
movzx eax, cl
mov ecx, dword [esp + 0x30]
mov al, byte [eax + ebx]
mov byte [ecx - 1], al
mov eax, dword [esp + 0x20]
movzx edx, byte [eax + edx]
movzx eax, byte [ecx]
mov ecx, 0xff
sub ecx, edx
movzx ecx, cx
movzx esi, byte [eax + edi]
mov eax, dword [esp + 0x2c]
movzx eax, al
imul ecx, eax
mov eax, 0x80
imul esi, edx
mov edx, dword [esp + 0x20]
add si, cx
add si, ax
movzx eax, si
mov esi, dword [esp + 0x30]
mov ecx, eax
shr ecx, 8
add ecx, eax
shr ecx, 8
movzx eax, cl
mov al, byte [eax + ebx]
mov ebx, dword [esp + 0x34]
jmp 0x42ecec
mov ecx, dword [ebx + 0x18c]
movzx eax, byte [esi - 2]
mov al, byte [eax + ecx]
mov byte [esi - 2], al
movzx eax, byte [esi - 1]
mov al, byte [eax + ecx]
mov byte [esi - 1], al
movzx eax, byte [esi]
mov al, byte [eax + ecx]
mov byte [esi], al
inc edx
movzx eax, word [ebx + 0x140]
add esi, 3
cmp edx, eax
mov dword [esp + 0x20], edx
movzx eax, word [ebx + 0x148]
mov dword [esp + 0x30], esi
jl 0x42eba0
mov esi, dword [esp + 0x1c]
and dword [esi], 0xffffdf7f
mov edx, dword [esi]
jmp 0x42f040
movzx eax, al
mov edi, 0x186a0
sub eax, 1
je 0x42ee31
sub eax, 1
je 0x42edd5
sub eax, 1
jne 0x42f13d
mov edi, dword [ebx + 0x160]
mov ecx, edi
call fcn.0042caa0
mov dword [esp + 0x1c], eax
test edi, edi
je 0x42ee29
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x42ee29
movsd xmm1, qword [0x4b4728]
xorps xmm0, xmm0
cvtsi2sd xmm0, edi
divsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
addsd xmm1, qword [0x4b4300]
movsd qword [esp + 0x38], xmm1
fld qword [esp + 0x38]
sub esp, 8
fstp qword [esp]
call fcn.004a0120
movsd xmm1, qword [0x4b4718]
add esp, 8
fstp qword [esp + 0x38]
movsd xmm0, qword [esp + 0x38]
comisd xmm1, xmm0
jb 0x42ee29
comisd xmm0, xmmword [0x4b4898]
jb 0x42ee29
mov eax, dword [esp + 0x1c]
cvttsd2si edi, xmm0
jmp 0x42ee3b
mov edi, dword [ebx + 0x2c8]
mov ecx, edi
call fcn.0042caa0
mov dword [esp + 0x1c], eax
test edi, edi
je 0x42ee29
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x42ee29
movsd xmm1, qword [0x4b4728]
xorps xmm0, xmm0
cvtsi2sd xmm0, edi
divsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
addsd xmm1, qword [0x4b4300]
movsd qword [esp + 0x38], xmm1
fld qword [esp + 0x38]
jmp 0x42ed9b
mov eax, dword [esp + 0x1c]
xor edi, edi
jmp 0x42ee3b
mov eax, dword [ebx + 0x188]
mov dword [esp + 0x1c], eax
lea ecx, [eax - 0x17318]
mov dword [esp + 0x38], ecx
lea edx, [edi - 0x17318]
cmp ecx, 0x2710
jbe 0x42ee72
movzx edx, word [ebx + 0x16c]
mov ecx, ebx
push eax
call fcn.0042cc00
add esp, 4
mov word [ebx + 0x176], ax
lea edx, [edi - 0x17318]
cmp edx, 0x2710
jbe 0x42ee93
movzx edx, word [ebx + 0x16c]
mov ecx, ebx
push edi
call fcn.0042cc00
add esp, 4
mov word [ebx + 0x16c], ax
movzx ecx, word [ebx + 0x168]
mov eax, ecx
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0x166]
mov edx, eax
cmp ax, cx
jne 0x42ef02
cmp ax, word [ebx + 0x16a]
jne 0x42ef02
movzx ecx, word [ebx + 0x16c]
cmp ax, cx
jne 0x42ef02
movzx eax, word [ebx + 0x176]
mov edx, dword [esi]
mov word [ebx + 0x174], ax
mov word [ebx + 0x172], ax
mov word [ebx + 0x170], ax
mov word [ebx + 0x16a], cx
mov word [ebx + 0x168], cx
mov word [ebx + 0x166], cx
mov byte [ebx + 0x15c], 1
jmp 0x42f040
cmp dword [esp + 0x38], 0x2710
mov ecx, edx
mov dword [esp + 0x30], ecx
jbe 0x42ef6b
push dword [esp + 0x1c]
mov ecx, ebx
call fcn.0042cc00
add esp, 4
mov word [ebx + 0x170], ax
movzx eax, word [ebx + 0x168]
mov ecx, ebx
mov edx, eax
mov dword [esp + 0x38], eax
push dword [esp + 0x1c]
call fcn.0042cc00
movzx edx, word [ebx + 0x16a]
add esp, 4
mov ecx, ebx
mov word [ebx + 0x172], ax
push dword [esp + 0x1c]
call fcn.0042cc00
mov ecx, dword [esp + 0x34]
add esp, 4
mov word [ebx + 0x174], ax
jmp 0x42ef76
mov eax, dword [esp + 0x2c]
movzx eax, ax
mov dword [esp + 0x38], eax
lea eax, [edi - 0x17318]
cmp eax, 0x2710
jbe 0x42efc6
mov edx, ecx
mov ecx, ebx
push edi
call fcn.0042cc00
mov edx, dword [esp + 0x3c]
add esp, 4
mov ecx, ebx
mov word [ebx + 0x166], ax
push edi
call fcn.0042cc00
movzx edx, word [ebx + 0x16a]
add esp, 4
mov ecx, ebx
mov word [ebx + 0x168], ax
push edi
call fcn.0042cc00
add esp, 4
mov word [ebx + 0x16a], ax
mov edx, dword [esi]
mov byte [ebx + 0x15c], 1
jmp 0x42f040
cmp byte [ebx + 0x14f], 3
mov edx, eax
jne 0x42f040
test eax, 0x600000
setne cl
bt eax, 0xc
setb al
test al, cl
jne 0x42f040
movzx edi, word [ebx + 0x140]
mov ecx, dword [ebx + 0x13c]
test edi, edi
je 0x42f036
mov edx, dword [ebx + 0x18c]
add ecx, 2
nop dword [eax]
movzx eax, byte [ecx - 2]
lea ecx, [ecx + 3]
mov al, byte [eax + edx]
mov byte [ecx - 5], al
movzx eax, byte [ecx - 4]
mov al, byte [eax + edx]
mov byte [ecx - 4], al
movzx eax, byte [ecx - 3]
mov al, byte [eax + edx]
mov byte [ecx - 3], al
sub edi, 1
jne 0x42f010
mov edx, dword [esi]
and edx, 0xffffdfff
mov dword [esi], edx
mov eax, edx
and eax, 0x1008
cmp eax, 8
jne 0x42f11e
cmp byte [ebx + 0x14f], 3
jne 0x42f11e
movzx eax, byte [ebx + 0x1a4]
mov ecx, 8
movzx edi, word [ebx + 0x140]
and edx, 0xfffffff7
mov dword [esp + 0x30], ecx
sub dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov dword [esi], edx
test eax, eax
jle 0x42f0b6
cmp eax, ecx
jge 0x42f0b6
test edi, edi
je 0x42f0b6
mov eax, dword [ebx + 0x13c]
mov edx, edi
mov ebx, dword [esp + 0x30]
nop dword [eax]
mov cl, bl
lea eax, [eax + 3]
shr byte [eax - 3], cl
sub edx, 1
jne 0x42f0a0
mov ebx, dword [esp + 0x34]
mov ecx, 8
movzx eax, byte [ebx + 0x1a5]
mov edx, ecx
sub edx, eax
test edx, edx
jle 0x42f0e9
cmp edx, 8
jge 0x42f0e9
test edi, edi
je 0x42f0e9
mov eax, dword [ebx + 0x13c]
mov esi, edi
inc eax
mov cl, dl
lea eax, [eax + 3]
shr byte [eax - 3], cl
sub esi, 1
jne 0x42f0d7
mov ecx, 8
movzx eax, byte [ebx + 0x1a6]
sub ecx, eax
mov dword [esp + 0x38], ecx
test ecx, ecx
jle 0x42f11e
cmp ecx, 8
jge 0x42f11e
test edi, edi
je 0x42f11e
mov eax, dword [ebx + 0x13c]
add eax, 2
nop dword [eax]
shr byte [eax], cl
lea eax, [eax + 3]
mov ecx, dword [esp + 0x38]
sub edi, 1
jne 0x42f110
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.internal_error_handling_cHRM_coefficients
mov ecx, ebx
call fcn.0042d810
mov edx, str.internal_error_handling_cHRM__XYZ
mov ecx, ebx
call fcn.0042d810
mov edx, str.invalid_background_gamma_type
mov ecx, ebx
call fcn.0042d810
int3