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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [esp + 0x60]
mov eax, dword [0x4b850c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x2ec]
mov edx, dword [ebx + 0x188]
test eax, eax
je 0x435090
test edx, edx
jne 0x435040
mov dword [esp], eax
call fcn.00429580
or word [ebx + 0x336], 1
mov dword [ebx + 0x188], eax
mov edx, dword [ebx + 0x7c]
and dh, 0xdf
mov dword [ebx + 0x7c], edx
mov ecx, edx
and ecx, 0x40080
cmp ecx, 0x40000
jne 0x434fb8
and edx, 0xfd7ffeff
and dword [ebx + 0x78], 0xffffdfff
mov dword [ebx + 0x7c], edx
xor edx, edx
mov word [ebx + 0x148], dx
mov dword [esp], eax
call fcn.0042a0e0
mov edx, dword [ebx + 0x7c]
test eax, eax
jne 0x434fd7
and edx, 0xff7fffff
and dword [ebx + 0x78], 0xffffdfff
mov dword [ebx + 0x7c], edx
test edx, 0x600000
jne 0x435640
movzx eax, byte [ebx + 0x14f]
test dh, 1
je 0x4350c0
test al, 2
jne 0x434ffe
or dword [ebx + 0x74], 0x800
movzx esi, word [ebx + 0x148]
cmp al, 3
je 0x435570
test al, 4
jne 0x43510a
mov ecx, edx
and dword [ebx + 0x78], 0xffffdfff
and ecx, 0xff7fffff
mov dword [ebx + 0x7c], ecx
test si, si
jne 0x435108
and edx, 0xff7ffe7f
mov dword [ebx + 0x7c], edx
jmp 0x435143
mov dword [esp + 4], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc], 0x186a0
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.00429430
test eax, eax
jne 0x4356e8
movzx eax, word [ebx + 0x336]
mov edx, dword [ebx + 0x7c]
or eax, 1
or dh, 0x20
mov word [ebx + 0x336], ax
mov eax, dword [ebx + 0x188]
mov dword [ebx + 0x7c], edx
jmp 0x434f8f
test edx, edx
jne 0x435848
or word [ebx + 0x336], 1
mov eax, 0x186a0
mov dword [ebx + 0x2ec], 0x186a0
mov dword [ebx + 0x188], 0x186a0
jmp 0x434f86
mov ecx, edx
not ecx
and ecx, 0x4080
jne 0x434ffe
movzx ecx, word [ebx + 0x166]
cmp cx, word [ebx + 0x168]
jne 0x434ffe
cmp cx, word [ebx + 0x16a]
jne 0x434ffe
or dword [ebx + 0x74], 0x800
mov word [ebx + 0x16c], cx
jmp 0x434ffe
mov edx, ecx
mov ecx, edx
not ecx
and ch, 0x11
je 0x435650
mov eax, edx
and eax, 0x380
cmp eax, 0x280
je 0x4354d8
test edx, 0x4000400
je 0x435143
mov eax, edx
and eax, 0x180
cmp eax, 0x80
je 0x4357b8
mov edi, dword [ebx + 0x164]
mov ebp, dword [ebx + 0x168]
movzx eax, word [ebx + 0x16c]
mov dword [ebx + 0x16e], edi
mov dword [ebx + 0x172], ebp
mov word [ebx + 0x176], ax
test dh, 0x20
jne 0x4352f0
test edx, 0x600000
jne 0x4352d0
test dl, 0x80
jne 0x435870
test edx, 0x800000
je 0x43539a
mov eax, dword [ebx + 0x188]
mov dword [esp], eax
call fcn.0042a0e0
test eax, eax
jne 0x4352f0
mov edx, dword [ebx + 0x7c]
test dl, 0x80
je 0x43539a
cmp byte [ebx + 0x14f], 3
jne 0x4353aa
movzx esi, word [ebx + 0x168]
mov eax, dword [ebx + 0x13c]
movzx edi, word [ebx + 0x148]
mov ecx, esi
mov word [esp + 0x18], si
movzx esi, word [ebx + 0x16a]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0x166]
mov byte [esp + 0x10], cl
mov ecx, esi
mov word [esp + 0x1c], si
mov ebp, eax
mov byte [esp + 0x14], cl
test di, di
je 0x435d48
mov esi, dword [ebx + 0x1b0]
movzx eax, al
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ebx
mov word [esp + 0x20], ax
mov ebx, ebp
mov dword [esp + 0x24], edx
add edi, esi
jmp 0x435250
movzx eax, byte [esp + 0x10]
mov byte [ecx], bl
mov byte [ecx + 1], al
movzx eax, byte [esp + 0x14]
mov byte [ecx + 2], al
add esi, 1
add ecx, 3
cmp esi, edi
je 0x435d40
movzx edx, byte [esi]
test dl, dl
je 0x435230
cmp dl, 0xff
je 0x435242
mov ebp, 0xff
mov eax, edx
sub ebp, edx
mul byte [ecx]
imul bp, word [esp + 0x20]
lea eax, [eax + ebp + 0x80]
mov ebp, 0xff
movzx edx, ah
add eax, edx
mov byte [ecx], ah
movzx edx, byte [esi]
sub ebp, edx
mov eax, edx
movzx edx, byte [esp + 0x18]
mul byte [ecx + 1]
imul edx, ebp
mov ebp, 0xff
lea eax, [edx + eax + 0x80]
movzx edx, ah
add eax, edx
mov byte [ecx + 1], ah
movzx edx, byte [esi]
mov eax, edx
mul byte [ecx + 2]
sub ebp, edx
movzx edx, byte [esp + 0x1c]
imul edx, ebp
lea eax, [edx + eax + 0x80]
movzx edx, ah
add eax, edx
mov byte [ecx + 2], ah
jmp 0x435242
mov eax, dword [ebx + 0x2ec]
mov dword [esp], eax
call fcn.0042a0e0
test eax, eax
je 0x435740
lea esi, cs:[esi]
nop
movzx eax, byte [ebx + 0x150]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0042a520
mov edx, dword [ebx + 0x7c]
test dl, 0x80
je 0x4353c8
and edx, 0x600000
jne 0x435a38
cmp byte [ebx + 0x14f], 3
movzx eax, byte [ebx + 0x15c]
je 0x4358c0
cmp al, 2
je 0x435710
cmp al, 3
je 0x435a50
cmp al, 1
jne 0x435f49
mov esi, dword [ebx + 0x188]
mov edi, 0x186a0
mov dword [esp], esi
call fcn.0042a0e0
mov dword [esp], edi
mov dword [esp + 0x10], eax
call fcn.0042a0e0
mov edx, dword [esp + 0x10]
mov ebp, eax
test edx, edx
jne 0x435a80
test eax, eax
jne 0x435bb0
movzx eax, word [ebx + 0x168]
cmp ax, word [ebx + 0x166]
je 0x435db0
mov byte [ebx + 0x15c], 1
mov edx, dword [ebx + 0x7c]
mov eax, edx
and eax, 0x1008
cmp eax, 8
je 0x435830
mov eax, dword [esp + 0x3c]
sub eax, dword [0x4b850c]
jne 0x435f44
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [ebx + 0x14f], 3
jne 0x4353aa
test dh, 0x10
je 0x435760
test edx, 0x600000
je 0x435760
lea esi, cs:[esi]
nop
mov eax, edx
and eax, 0x1008
cmp eax, 8
jne 0x4353aa
mov eax, 7
movzx esi, byte [ebx + 0x1a4]
and edx, 0xfffffff7
movzx ebp, byte [ebx + 0x1a5]
mov ecx, eax
mov dword [ebx + 0x7c], edx
mov edx, eax
movzx edi, word [ebx + 0x140]
sub ecx, esi
sub edx, ebp
cmp ecx, 6
ja 0x435b80
test edi, edi
je 0x4353aa
mov eax, dword [ebx + 0x13c]
mov ecx, 8
mov dword [esp + 0x10], edx
sub ecx, esi
lea esi, [edi + edi*2]
add esi, eax
lea esi, cs:[esi]
movzx edx, byte [eax]
add eax, 3
sar edx, cl
mov byte [eax - 3], dl
cmp eax, esi
jne 0x435450
mov edx, dword [esp + 0x10]
cmp edx, 6
ja 0x43548f
mov eax, dword [ebx + 0x13c]
mov ecx, 8
lea esi, [edi + edi*2]
sub ecx, ebp
add eax, 1
add esi, eax
lea esi, [esi]
movzx edx, byte [eax]
add eax, 3
sar edx, cl
mov byte [eax - 3], dl
cmp eax, esi
jne 0x435480
movzx edx, byte [ebx + 0x1a6]
mov eax, 7
sub eax, edx
cmp eax, 6
ja 0x4353aa
mov eax, dword [ebx + 0x13c]
mov ecx, 8
lea ebx, [edi + edi*2]
sub ecx, edx
add eax, 2
add ebx, eax
lea esi, cs:[esi]
movzx edx, byte [eax]
add eax, 3
sar edx, cl
mov byte [eax - 3], dl
cmp eax, ebx
jne 0x4354c0
jmp 0x4353aa
cmp byte [ebx + 0x150], 0x10
je 0x435129
movzx eax, word [ebx + 0x166]
movzx ecx, word [ebx + 0x16a]
movzx ebp, word [ebx + 0x16c]
mov esi, eax
shl esi, 8
sub esi, eax
movzx eax, word [ebx + 0x168]
add esi, 0x807f
mov edi, eax
shr esi, 0x10
shl edi, 8
sub edi, eax
mov eax, ecx
shl eax, 8
add edi, 0x807f
sub eax, ecx
xor di, di
mov ecx, ebp
add eax, 0x807f
mov dword [esp + 0x10], edi
shl ecx, 8
shr eax, 0x10
sub ecx, ebp
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
add ecx, 0x807f
xor cx, cx
or eax, esi
mov edi, eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x166], edi
or ecx, eax
mov dword [ebx + 0x16a], ecx
jmp 0x435129
test si, si
je 0x4356d0
mov edi, dword [ebx + 0x1b0]
xor ebp, ebp
add esi, edi
mov eax, edi
lea esi, [esi]
movzx ecx, byte [eax]
cmp cl, 0xff
je 0x435599
test cl, cl
jne 0x4355bb
mov ebp, 1
add eax, 1
cmp eax, esi
jne 0x435588
mov eax, edx
and dword [ebx + 0x78], 0xffffdfff
and eax, 0xff7fffff
mov dword [ebx + 0x7c], eax
test ebp, ebp
je 0x4356d7
mov edx, eax
mov eax, edx
not eax
test ah, 0x11
jne 0x435117
movzx eax, byte [ebx + 0x164]
lea eax, [eax + eax*2]
add eax, dword [ebx + 0x13c]
movzx ecx, byte [eax]
mov word [ebx + 0x166], cx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
mov word [ebx + 0x168], cx
mov word [ebx + 0x16a], ax
test edx, 0x80000
je 0x435117
test edx, 0x2000000
jne 0x435117
mov eax, esi
sub eax, edi
test al, 1
je 0x435628
not byte [edi]
add edi, 1
cmp edi, esi
je 0x435634
lea esi, [esi]
not byte [edi]
not byte [edi + 1]
add edi, 2
cmp edi, esi
jne 0x435628
mov edx, dword [ebx + 0x7c]
jmp 0x435117
mov dword [esp], ebx
call fcn.004283d0
mov edx, dword [ebx + 0x7c]
jmp 0x434fe3
test al, 2
jne 0x435117
movzx esi, word [ebx + 0x16c]
movzx ecx, byte [ebx + 0x150]
movzx ebp, word [ebx + 0x1bc]
mov eax, esi
cmp cl, 2
je 0x435df8
cmp cl, 4
je 0x435de0
cmp cl, 1
je 0x435c48
movd xmm2, eax
mov word [ebx + 0x16a], ax
pshuflw xmm0, xmm2, 0
movd dword [ebx + 0x166], xmm0
test edx, 0x2000000
jne 0x435117
movd xmm3, ebp
mov word [ebx + 0x1ba], bp
pshuflw xmm0, xmm3, 0
movd dword [ebx + 0x1b6], xmm0
jmp 0x435117
and dword [ebx + 0x78], 0xffffdfff
and edx, 0xff7ffe7f
mov dword [ebx + 0x7c], edx
jmp 0x435129
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0042a0e0
test eax, eax
jne 0x435064
or word [ebx + 0x336], 1
mov eax, dword [ebx + 0x188]
jmp 0x434f86
mov eax, dword [ebx + 0x2ec]
mov dword [esp], eax
call fcn.00429580
mov esi, eax
mov eax, dword [ebx + 0x188]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x2ec]
mov dword [esp], eax
call fcn.0042a100
mov edi, eax
jmp 0x435352
mov eax, dword [ebx + 0x188]
mov dword [esp], eax
call fcn.0042a0e0
test eax, eax
jne 0x4352f0
mov edx, dword [ebx + 0x7c]
jmp 0x43517e
movzx ecx, word [ebx + 0x140]
mov eax, dword [ebx + 0x13c]
test cx, cx
je 0x4357a7
lea edi, [ecx + ecx*2]
mov esi, dword [ebx + 0x18c]
add edi, eax
lea esi, [esi]
movzx ecx, byte [eax]
add eax, 3
movzx ecx, byte [esi + ecx]
mov byte [eax - 3], cl
movzx ecx, byte [eax - 2]
movzx ecx, byte [esi + ecx]
mov byte [eax - 2], cl
movzx ecx, byte [eax - 1]
movzx ecx, byte [esi + ecx]
mov byte [eax - 1], cl
cmp edi, eax
jne 0x435780
and dh, 0xdf
mov dword [ebx + 0x7c], edx
jmp 0x4353f0
cmp byte [ebx + 0x150], 0x10
jne 0x435143
movzx eax, word [ebx + 0x166]
movzx ecx, word [ebx + 0x16a]
movzx ebp, word [ebx + 0x16c]
mov esi, eax
shl esi, 8
add esi, eax
movzx eax, word [ebx + 0x168]
movzx esi, si
mov edi, eax
shl edi, 8
add edi, eax
mov eax, ecx
shl eax, 8
shl edi, 0x10
add eax, ecx
mov dword [esp + 0x10], edi
mov ecx, ebp
movzx eax, ax
shl ecx, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
add ecx, ebp
shl ecx, 0x10
or eax, esi
mov edi, eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x166], edi
or ecx, eax
mov dword [ebx + 0x16a], ecx
jmp 0x435143
cmp byte [ebx + 0x14f], 3
jne 0x4353aa
jmp 0x4353fc
mov dword [esp], edx
call fcn.00429580
or word [ebx + 0x336], 1
mov dword [ebx + 0x2ec], eax
mov eax, dword [ebx + 0x188]
jmp 0x434f86
mov eax, dword [ebx + 0x2ec]
mov dword [esp], eax
call fcn.0042a0e0
test eax, eax
jne 0x4352f0
mov eax, dword [ebx + 0x188]
mov dword [esp], eax
call fcn.0042a0e0
test eax, eax
jne 0x4352f0
cmp byte [ebx + 0x15c], 3
je 0x435f29
mov edx, dword [ebx + 0x7c]
test edx, 0x800000
je 0x4351ac
jmp 0x435193
movzx esi, word [ebx + 0x140]
mov ebp, dword [ebx + 0x13c]
mov dword [esp + 0x14], esi
cmp al, 2
je 0x435d58
cmp al, 1
je 0x435e08
cmp al, 3
jne 0x435c60
mov eax, dword [ebx + 0x160]
mov dword [esp], eax
call fcn.00429580
mov esi, eax
mov eax, dword [ebx + 0x188]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x160]
mov dword [esp], eax
call fcn.0042a100
mov edi, eax
mov dword [esp], edi
call fcn.0042a0e0
test eax, eax
jne 0x435e20
movzx eax, byte [ebx + 0x166]
mov byte [esp + 0x28], al
movzx eax, byte [ebx + 0x168]
mov byte [esp + 0x2c], al
movzx eax, byte [ebx + 0x16a]
mov byte [esp + 0x2d], al
mov dword [esp], esi
call fcn.0042a0e0
test eax, eax
jne 0x435e70
movzx eax, byte [ebx + 0x168]
movzx edx, byte [ebx + 0x166]
mov byte [esp + 0x20], al
movzx eax, byte [ebx + 0x16a]
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x14]
test eax, eax
je 0x435a20
movzx eax, word [ebx + 0x148]
mov edi, ebp
mov dword [esp + 0x10], ebx
xor ebp, ebp
mov dword [esp + 0x18], eax
movzx eax, dl
mov word [esp + 0x2e], ax
jmp 0x4359df
mov eax, dword [esp + 0x10]
mov ecx, ebp
add ecx, dword [eax + 0x1b0]
movzx edx, byte [ecx]
cmp dl, 0xff
je 0x4359e5
test dl, dl
jne 0x435c90
movzx eax, byte [esp + 0x28]
mov byte [edi], al
movzx eax, byte [esp + 0x2c]
mov byte [edi + 1], al
movzx eax, byte [esp + 0x2d]
mov byte [edi + 2], al
add ebp, 1
add edi, 3
cmp dword [esp + 0x14], ebp
je 0x435a1c
cmp dword [esp + 0x18], ebp
jg 0x4359a0
mov eax, dword [esp + 0x10]
add ebp, 1
add edi, 3
mov edx, dword [eax + 0x18c]
movzx eax, byte [edi - 3]
movzx eax, byte [edx + eax]
mov byte [edi - 3], al
movzx eax, byte [edi - 2]
movzx eax, byte [edx + eax]
mov byte [edi - 2], al
movzx eax, byte [edi - 1]
movzx eax, byte [edx + eax]
mov byte [edi - 1], al
cmp dword [esp + 0x14], ebp
jne 0x4359df
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x7c]
and edx, 0xffffdf7f
mov dword [ebx + 0x7c], edx
jmp 0x43539a
mov dword [esp + 4], str.libpng_does_not_support_gammabackgroundrgb_to_gray
mov dword [esp], ebx
call fcn.0042b170
jmp 0x43531b
mov eax, dword [ebx + 0x160]
mov dword [esp], eax
call fcn.00429580
mov esi, eax
mov eax, dword [ebx + 0x188]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x160]
mov dword [esp], eax
call fcn.0042a100
mov edi, eax
jmp 0x435352
mov dword [esp + 8], esi
movzx eax, word [ebx + 0x16c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0042a290
mov word [ebx + 0x176], ax
test ebp, ebp
jne 0x435ec0
movzx edx, word [ebx + 0x166]
movzx eax, word [ebx + 0x168]
cmp dx, ax
je 0x435c6f
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp], ebx
call fcn.0042a290
mov word [ebx + 0x170], ax
mov dword [esp + 8], esi
movzx eax, word [ebx + 0x168]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0042a290
mov word [ebx + 0x172], ax
mov dword [esp + 8], esi
movzx eax, word [ebx + 0x16a]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0042a290
mov word [ebx + 0x174], ax
test ebp, ebp
je 0x435390
movzx edx, word [ebx + 0x166]
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp], ebx
call fcn.0042a290
mov word [ebx + 0x166], ax
mov dword [esp + 8], edi
movzx eax, word [ebx + 0x168]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0042a290
mov word [ebx + 0x168], ax
mov dword [esp + 8], edi
movzx eax, word [ebx + 0x16a]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0042a290
mov word [ebx + 0x16a], ax
jmp 0x435390
cmp edx, 6
jbe 0x435c38
movzx edx, byte [ebx + 0x1a6]
sub eax, edx
cmp eax, 6
ja 0x4353aa
test edi, edi
jne 0x4354a6
jmp 0x4353aa
mov dword [esp + 8], edi
movzx eax, word [ebx + 0x16c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0042a290
movzx edx, word [ebx + 0x166]
mov word [ebx + 0x16c], ax
cmp dx, word [ebx + 0x168]
jne 0x435b1f
cmp dx, word [ebx + 0x16a]
jne 0x435b1f
cmp word [ebx + 0x16c], dx
jne 0x435b1f
movd xmm7, eax
pshuflw xmm0, xmm7, 0
movzx eax, word [ebx + 0x176]
movd dword [ebx + 0x166], xmm0
movd xmm4, eax
mov word [ebx + 0x174], ax
pshuflw xmm1, xmm4, 0
movd dword [ebx + 0x170], xmm1
jmp 0x435390
test edi, edi
jne 0x435468
jmp 0x4353aa
mov eax, ebp
shl eax, 8
sub eax, ebp
mov ebp, eax
mov eax, esi
shl eax, 8
sub eax, esi
jmp 0x43568a
mov edi, 0x186a0
mov esi, 0x186a0
jmp 0x435913
movzx edx, word [ebx + 0x16a]
cmp ax, dx
je 0x435f1a
movzx edx, ax
jmp 0x435abd
mov ebx, dword [esp + 0x10]
mov eax, edx
mov esi, dword [ebx + 0x198]
movzx ebx, byte [edi]
mul byte [esi + ebx]
mov ebx, 0xff
sub ebx, edx
imul bx, word [esp + 0x2e]
lea eax, [eax + ebx + 0x80]
mov ebx, dword [esp + 0x10]
movzx edx, ah
mov ebx, dword [ebx + 0x194]
add eax, edx
movzx eax, ah
movzx eax, byte [ebx + eax]
mov dword [esp + 0x1c], ebx
movzx ebx, byte [edi + 1]
mov byte [edi], al
movzx edx, byte [ecx]
mov eax, edx
mul byte [esi + ebx]
mov ebx, 0xff
sub ebx, edx
movzx edx, byte [esp + 0x20]
imul ebx, edx
lea ebx, [eax + ebx + 0x80]
movzx eax, bh
add eax, ebx
mov ebx, dword [esp + 0x1c]
movzx eax, ah
movzx eax, byte [ebx + eax]
mov byte [edi + 1], al
movzx edx, byte [ecx]
movzx ecx, byte [edi + 2]
mov eax, edx
mul byte [esi + ecx]
mov ecx, 0xff
sub ecx, edx
movzx edx, byte [esp + 0x24]
imul ecx, edx
lea ecx, [eax + ecx + 0x80]
movzx eax, ch
add eax, ecx
movzx eax, ah
movzx eax, byte [ebx + eax]
jmp 0x4359d0
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
and dl, 0x7f
mov dword [ebx + 0x7c], edx
jmp 0x4353f0
mov eax, dword [ebx + 0x18c]
movzx edx, word [ebx + 0x166]
movzx esi, word [ebx + 0x168]
movzx edi, word [ebx + 0x16a]
movzx ecx, byte [eax + edx]
mov byte [esp + 0x28], cl
movzx ecx, byte [eax + esi]
movzx eax, byte [eax + edi]
mov byte [esp + 0x2c], cl
mov byte [esp + 0x2d], al
mov eax, dword [ebx + 0x198]
movzx ecx, byte [eax + esi]
movzx edx, byte [eax + edx]
movzx eax, byte [eax + edi]
mov byte [esp + 0x20], cl
mov byte [esp + 0x24], al
jmp 0x435971
cmp ax, word [ebx + 0x16a]
jne 0x435390
movd xmm5, eax
pshuflw xmm0, xmm5, 0
cmp ax, word [ebx + 0x16c]
jne 0x435390
jmp 0x435c05
mov eax, ebp
shl eax, 4
add ebp, eax
mov eax, esi
shl eax, 4
add eax, esi
jmp 0x43568a
imul ebp, ebp, 0x55
imul eax, esi, 0x55
jmp 0x43568a
mov esi, dword [ebx + 0x188]
mov edi, 0x186a0
jmp 0x435913
mov dword [esp + 4], edi
movzx eax, word [ebx + 0x166]
mov dword [esp], eax
call fcn.0042a190
mov dword [esp + 4], edi
mov byte [esp + 0x28], al
movzx eax, word [ebx + 0x168]
mov dword [esp], eax
call fcn.0042a190
mov dword [esp + 4], edi
mov byte [esp + 0x2c], al
movzx eax, word [ebx + 0x16a]
mov dword [esp], eax
call fcn.0042a190
mov byte [esp + 0x2d], al
jmp 0x435944
mov dword [esp + 4], esi
movzx eax, word [ebx + 0x166]
mov dword [esp], eax
call fcn.0042a190
mov dword [esp + 4], esi
mov byte [esp + 0x10], al
movzx eax, word [ebx + 0x168]
mov dword [esp], eax
call fcn.0042a190
mov dword [esp + 4], esi
mov byte [esp + 0x20], al
movzx eax, word [ebx + 0x16a]
mov dword [esp], eax
call fcn.0042a190
movzx edx, byte [esp + 0x10]
mov byte [esp + 0x24], al
jmp 0x435971
mov dword [esp + 8], edi
movzx eax, word [ebx + 0x16c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0042a290
movzx edx, word [ebx + 0x166]
mov word [ebx + 0x16c], ax
cmp dx, word [ebx + 0x168]
jne 0x435abd
cmp word [ebx + 0x16a], dx
jne 0x435abd
cmp word [ebx + 0x16c], dx
jne 0x435abd
movd xmm6, eax
pshuflw xmm0, xmm6, 0
jmp 0x435c05
cmp ax, word [ebx + 0x16c]
jne 0x435abd
jmp 0x435f0c
mov eax, dword [ebx + 0x160]
mov dword [esp], eax
call fcn.0042a0e0
test eax, eax
jne 0x4352f0
jmp 0x4358a9
call fcn.00464ba0
mov dword [esp + 4], str.invalid_background_gamma_type
mov dword [esp], ebx
call fcn.0042b7c0
lea esi, [esi]