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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a9b8b
mov eax, dword fs:[0]
push eax
sub esp, 0x308
mov eax, dword [0x4f1a20]
xor eax, esp
mov dword [esp + 0x300], eax
push ebx
push esi
push edi
mov eax, dword [0x4f1a20]
xor eax, esp
push eax
lea eax, [esp + 0x318]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, ecx
cmp dword [esi + 8], 0
mov dword [esp + 0x68], eax
jne 0x41fd36
xor al, al
jmp 0x420139
fldz
call fcn.0048ee50
fld dword [ebp + 8]
fchs
mov ecx, dword [esi + 0x14]
fmulp st(1)
mov edi, dword [esi + 0x10]
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], ecx
fdiv qword [0x4b04b8]
fst qword [esp + 0x44]
call fcn.0048b7a0
fstp qword [esp + 0x4c]
fld qword [esp + 0x44]
call fcn.0048ba00
fst qword [esp + 0x5c]
fild dword [esp + 0x38]
dec edi
fld st(1)
mov dword [esp + 0x44], edi
fldz
fmul st(1), st(0)
fld st(2)
fld qword [esp + 0x4c]
fmul st(1), st(0)
fxch st(1)
fsub st(3)
call fcn.00489850
fld st(0)
fmulp st(2)
mov edi, eax
fxch st(3)
fmul st(4)
fadd st(1)
call fcn.00489850
fild dword [esp + 0x28]
mov dword [esp + 0x58], eax
fld st(0)
fmul st(5)
fsub st(2), st(0)
fxch st(2)
call fcn.00489850
fmul st(3)
mov ebx, eax
fld st(0)
faddp st(3)
fxch st(2)
call fcn.00489850
fild dword [esp + 0x44]
mov dword [esp + 0x2c], eax
fld st(0)
fmulp st(4)
fxch st(3)
fsubrp st(1)
call fcn.00489850
fxch st(1)
fmulp st(2)
mov dword [esp + 0x3c], eax
faddp st(1)
call fcn.00489850
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
xor eax, eax
test edi, edi
setg al
mov edx, ebx
dec eax
and eax, edi
cmp ebx, ecx
jl 0x41fe05
mov edx, ecx
cmp eax, edx
jge 0x41fe19
xor edx, edx
test edi, edi
setg dl
dec edx
and edx, edi
mov dword [esp + 0x30], edx
jmp 0x41fe25
cmp ebx, ecx
mov dword [esp + 0x30], ebx
jl 0x41fe25
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x40]
xor eax, eax
test ecx, ecx
setg al
dec eax
and eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
cmp eax, edx
jl 0x41fe45
mov eax, edx
cmp dword [esp + 0x38], eax
jge 0x41fe57
xor edx, edx
test ecx, ecx
setg dl
dec edx
and edx, ecx
jmp 0x41fe67
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
cmp eax, edx
mov dword [esp + 0x34], eax
jl 0x41fe6b
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x3c]
xor edx, edx
test edi, edi
setl dl
dec edx
and edx, edi
cmp ebx, eax
jle 0x41fe7f
mov eax, ebx
cmp edx, eax
jle 0x41fe8f
xor eax, eax
test edi, edi
setl al
dec eax
and eax, edi
jmp 0x41fe9b
mov eax, dword [esp + 0x3c]
cmp ebx, eax
mov dword [esp + 0x1c], ebx
jg 0x41fe9f
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
xor ebx, ebx
test ecx, ecx
setl bl
mov edi, eax
dec ebx
and ebx, ecx
cmp eax, edx
jg 0x41feb9
mov edi, edx
cmp ebx, edi
jle 0x41fec9
xor edx, edx
test ecx, ecx
setl dl
dec edx
and edx, ecx
jmp 0x41fed1
cmp eax, edx
mov dword [esp + 0x20], eax
jg 0x41fed5
mov dword [esp + 0x20], edx
mov edi, dword [esp + 0x20]
sub edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
sub ebx, dword [esp + 0x30]
push 0
lea ecx, [esp + 0x70]
mov dword [esp + 0x3c], edi
call sym.Player.exe_public:_void___thiscall_CxImage::constructor_unsigned_long_int_
push esi
lea ecx, [esp + 0x70]
mov dword [esp + 0x324], 0
call sym.Player.exe_protected:_void___thiscall_CxImage::CopyInfo_class_CxImage_const__
movzx ecx, word [esi + 0x1a]
mov eax, dword [esi + 0x40]
push eax
movzx eax, cx
push eax
push edi
push ebx
lea ecx, [esp + 0x7c]
call sym.Player.exe_public:_void____thiscall_CxImage::Create_unsigned_long_int__unsigned_long_int__long_int__long_int_
push 0x100
mov ecx, esi
call sym.Player.exe_public:_struct_tagRGBQUAD____thiscall_CxImage::GetPalette_void_const
push eax
lea ecx, [esp + 0x74]
call sym.Player.exe_public:_void___thiscall_CxImage::SetPalette_struct_tagRGBQUAD___unsigned_long_int_
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
cmp dword [esi + 0x2c], ecx
jne 0x42002f
cmp eax, dword [esp + 0x20]
jg 0x420108
fld qword [0x4aefe0]
mov dword [esp + 0x28], ecx
jmp 0x41ff67
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
cdq
idiv edi
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x420106
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
cmp edi, ecx
mov dword [esp + 0x14], edi
jg 0x42000e
fild dword [esp + 0x24]
fld qword [esp + 0x5c]
fmul st(1)
fstp qword [esp + 0x54]
fmul qword [esp + 0x4c]
fstp qword [esp + 0x44]
lea esp, [esp]
fild dword [esp + 0x14]
fld qword [esp + 0x4c]
fmul st(1)
fadd qword [esp + 0x54]
fsub st(2)
call fcn.00489850
fmul qword [esp + 0x5c]
mov dword [esp + 0x14], eax
fsubr qword [esp + 0x44]
fsubrp st(1)
call fcn.00489850
mov edx, dword [esp + 0x14]
push eax
push edx
lea eax, [esp + 0x44]
push eax
mov ecx, esi
call sym.Player.exe_public:_struct_tagRGBQUAD___thiscall_CxImage::GetPixelColor_long_int__long_int_
mov ecx, dword [eax]
mov edx, dword [esp + 0x18]
push ecx
push edx
push ebx
lea ecx, [esp + 0x78]
call sym.Player.exe_public:_void___thiscall_CxImage::SetPixelColor_long_int__long_int__struct_tagRGBQUAD_
fld qword [0x4aefe0]
inc edi
inc ebx
cmp edi, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
jle 0x41ffb0
mov eax, dword [esp + 0x24]
inc dword [esp + 0x18]
add dword [esp + 0x28], 0x64
inc eax
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
jle 0x41ff63
jmp 0x420106
cmp eax, dword [esp + 0x20]
jg 0x420108
fld qword [0x4aefe0]
mov dword [esp + 0x28], ecx
jmp 0x420049
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
cdq
idiv edi
cmp dword [esi + 0x148], 0
mov dword [esi + 0x144], eax
jne 0x420106
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
xor edi, edi
cmp ebx, eax
mov dword [esp + 0x14], ebx
jg 0x4200ea
fild dword [esp + 0x24]
fld qword [esp + 0x5c]
fmul st(1)
fstp qword [esp + 0x54]
fmul qword [esp + 0x4c]
fstp qword [esp + 0x44]
jmp 0x420090
fild dword [esp + 0x14]
fld qword [esp + 0x4c]
fmul st(1)
fadd qword [esp + 0x54]
fsub st(2)
call fcn.00489850
fmul qword [esp + 0x5c]
mov dword [esp + 0x14], eax
fsubr qword [esp + 0x44]
fsubrp st(1)
call fcn.00489850
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, esi
call sym.Player.exe_public:_unsigned_char___thiscall_CxImage::GetPixelIndex_long_int__long_int_
movzx edx, al
mov eax, dword [esp + 0x18]
push edx
push eax
push edi
lea ecx, [esp + 0x78]
call sym.Player.exe_public:_void___thiscall_CxImage::SetPixelIndex_long_int__long_int__unsigned_char_
inc ebx
fld qword [0x4aefe0]
inc edi
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jle 0x420090
mov eax, dword [esp + 0x24]
inc dword [esp + 0x18]
add dword [esp + 0x28], 0x64
inc eax
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
jle 0x420045
fstp st(0)
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x420117
lea edx, [esp + 0x6c]
push edx
jmp 0x42011e
lea eax, [esp + 0x6c]
push eax
mov ecx, esi
call sym.Player.exe_public:_void___thiscall_CxImage::Transfer_class_CxImage__
lea ecx, [esp + 0x6c]
mov dword [esp + 0x320], 0xffffffff
call sym.Player.exe_public_virtual:_void___thiscall_CxImage::destructor_void_
mov al, 1
mov ecx, dword [esp + 0x318]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x300]
xor ecx, esp
call fcn.0048893b
mov esp, ebp
pop ebp
ret 8