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

Disassembly:
sub esp, 0x64
push esi
mov esi, dword [esp + 0x6c]
push edi
mov edi, ecx
test esi, esi
je 0x429999
mov eax, 0xff
cmp dword [edi + 0x10], eax
jg 0x429988
cmp dword [edi + 0x14], eax
jg 0x429988
call sym.Player.exe_public:_struct_tagRGBQUAD____thiscall_CxImage::GetPalette_void_const
movzx ecx, word [edi + 0x1a]
mov dword [esp + 0x18], eax
cmp cx, 8
ja 0x429745
test eax, eax
je 0x429999
mov ecx, dword [edi + 0x10]
lea eax, [ecx + 0x1f]
cdq
and edx, 0x1f
add eax, edx
xor edx, edx
mov word [esp + 0x2c], dx
mov edx, 1
mov word [esp + 0x2e], dx
mov word [esp + 0x30], dx
movzx edx, cl
mov byte [esp + 0x34], dl
movzx edx, byte [edi + 0x14]
push ebx
mov byte [esp + 0x39], dl
movzx edx, byte [edi + 0x2c]
mov ebx, eax
movzx eax, word [edi + 0x1a]
push ebp
mov ebp, dword [edi + 0x14]
mov byte [esp + 0x3e], dl
sar ebx, 5
xor edx, edx
add ebx, ebx
mov word [esp + 0x40], dx
add ebx, ebx
mov dword [esp + 0x1c], eax
imul ebp, ebx
mov eax, dword [edi + 0x20]
mov dx, word [esp + 0x1c]
mov word [esp + 0x42], dx
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x50], ecx
mov ecx, dword [edi + 0x14]
lea edx, [eax + edx*4 + 0x28]
add ecx, ecx
add edx, ebp
mov dword [esp + 0x54], ecx
mov cx, word [esp + 0x1c]
mov dword [esp + 0x44], edx
mov edx, 1
mov word [esp + 0x5a], cx
xor ecx, ecx
push 1
mov word [esp + 0x5c], dx
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x64], eax
push 6
lea eax, [esp + 0x3c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
push eax
mov ecx, esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebp
mov byte [esp + 0x4b], 0
mov dword [esp + 0x54], 0x16
mov dword [esp + 0x58], 0x28
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 1
push 0x10
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 1
push 0x28
lea ecx, [esp + 0x54]
push ecx
mov ecx, esi
call edx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x429866
mov ecx, dword [edi + 0x2c]
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
add ecx, ecx
push 1
add ecx, ecx
push ecx
push eax
mov ecx, esi
call edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov edx, dword [edi + 0x38]
mov eax, dword [eax + 0xc]
push 1
push ecx
push edx
mov ecx, esi
call eax
push 1
push ebp
call fcn.0048f393
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x429899
pop ebp
pop ebx
pop edi
xor al, al
pop esi
add esp, 0x64
ret 4
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call sym.Player.exe_public:_struct_tagRGBQUAD___thiscall_CxImage::GetTransColor_void_
cmp dword [edi + 0x14c], 0xffffffff
setne byte [esp + 0x13]
xor eax, eax
cmp dword [edi + 0x14], eax
mov dword [esp + 0x18], eax
jle 0x429962
mov dword [esp + 0x1c], eax
xor ebp, ebp
cmp dword [edi + 0x10], ebp
mov dword [esp + 0x14], ebp
jle 0x429948
jmp 0x4298d5
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push edx
push ebp
lea eax, [esp + 0x38]
push eax
mov ecx, edi
xor ebx, ebx
call sym.Player.exe_public:_struct_tagRGBQUAD___thiscall_CxImage::GetPixelColor_long_int__long_int_
mov eax, dword [eax]
cmp byte [esp + 0x13], bl
je 0x4298fc
cmp eax, dword [esp + 0x24]
jne 0x4298fc
mov ebx, 1
mov esi, ebp
sar esi, 3
add esi, dword [esp + 0x1c]
mov ecx, ebp
add esi, dword [esp + 0x20]
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x429918
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, dword [esp + 0x14]
mov ebp, 7
sub ebp, ecx
mov ecx, ebp
mov dl, 1
shl dl, cl
and bl, 1
shl bl, cl
inc eax
not dl
and dl, byte [esi]
mov dword [esp + 0x14], eax
or dl, bl
mov byte [esi], dl
cmp eax, dword [edi + 0x10]
jl 0x4298d1
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x18]
add dword [esp + 0x1c], ebx
inc eax
cmp eax, dword [edi + 0x14]
mov dword [esp + 0x18], eax
jl 0x4298c4
mov ebp, dword [esp + 0x2c]
mov eax, dword [esi]
mov edi, dword [esp + 0x20]
mov edx, dword [eax + 0xc]
push 1
push ebp
push edi
mov ecx, esi
call edx
push edi
call fcn.0048a1af
add esp, 4
pop ebp
pop ebx
pop edi
mov al, 1
pop esi
add esp, 0x64
ret 4
add edi, 0x44
mov ecx, 7
mov esi, str.Cant_save_this_image_as_icon
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
xor al, al
pop esi
add esp, 0x64
ret 4