Function at 0x44ffc0
Capabilities:
Extract resource via kernel32 functions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5badae
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc8
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov dword [esp + 0x94], ebp
call fcn.005aa82c
mov eax, dword [eax + 8]
xor edi, edi
push 0x1020
push edi
push edi
push edi
push 0x87
push eax
call dword [sym.imp.USER32.dll_LoadImageA]
mov ecx, dword [ebp + 0x9ea8]
push 0x4df
mov esi, eax
call fcn.00592af8
mov ebx, eax
push esi
push edi
push 0x172
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x9c], ebx
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp + 0x8548]
mov edx, dword [ebp + 0x854c]
mov dword [0x62dc78], ecx
mov dword [0x62dc7c], edx
mov eax, dword [ebp + 0x8560]
mov ecx, dword [ebp + 0x8564]
push esi
mov dword [0x62dc80], eax
mov dword [0x62dc84], ecx
call fcn.00597580
lea edx, [esp + 0x54]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 4]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0x5dc298
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0xe0], edi
push ecx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.00596988
mov esi, eax
lea ecx, [esp + 0x6c]
mov dword [esp + 0x7c], esi
call fcn.005968e6
mov ebx, 1
cmp esi, edi
mov byte [esp + 0xe0], bl
jne 0x4500c8
xor eax, eax
jmp 0x4500cb
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x70]
call fcn.0059699d
mov edx, dword [esi]
lea eax, [esp + 0xc8]
push eax
mov ecx, esi
call dword [edx + 0x50]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov eax, dword [esi + 4]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
lea ecx, [esp + 0x2c]
call fcn.00597595
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x28]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [esp + 0x70]
push eax
push ecx
call fcn.00596ade
push edi
lea edx, [esp + 0xb0]
push edi
push edx
lea ecx, [esp + 0x78]
mov dword [esp + 0xa4], eax
call fcn.00596e19
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
cdq
sub eax, edx
mov esi, eax
mov eax, ecx
cdq
sub eax, edx
sar esi, 1
sar eax, 1
cmp esi, eax
mov dword [esp + 0x14], esi
jl 0x45015e
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x60]
imul esi, ecx
push esi
mov dword [esp + 0x54], esi
call fcn.0058ecf8
mov ecx, dword [esp + 0x50]
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x60]
mov edx, dword [ecx + 4]
push edi
push eax
push edx
mov dword [esp + 0x24], edi
call dword [sym.imp.GDI32.dll_GetBitmapBits]
mov ecx, dword [esp + 0x5c]
mov eax, ebx
cmp ecx, ebx
jle 0x4501ca
jmp 0x45019c
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
mov esi, edi
mov edi, eax
mov edx, dword [esp + 0x18]
imul edi, ecx
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
cmp eax, dword [esp + 0x5c]
jl 0x450198
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
push edi
push esi
push eax
call dword [sym.imp.GDI32.dll_SetBitmapBits]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
push 0xa
push str.5000
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push edi
push esi
mov dword [esp + 0x88], eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
fld qword [ebp + 0x8548]
fmul qword [0x5e1bb8]
fmul qword [0x62dc88]
fstp qword [esp + 0xac]
fld qword [ebp + 0x8560]
fmul qword [0x5e1bb8]
fmul qword [0x62dc88]
fst qword [esp + 0x3c]
fcomp qword [0x5daf40]
fnstsw ax
test ah, 0x40
je 0x450254
mov dword [esp + 0x3c], 0x47ae147b
mov dword [esp + 0x40], 0x3f847ae1
mov eax, dword [esp + 0x58]
xor ebp, ebp
test eax, eax
jle 0x4505ac
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x5c]
neg ecx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x88], ecx
xor ebx, ebx
test edi, edi
jle 0x450596
mov edx, dword [esp + 0x14]
mov eax, ebp
sub eax, edx
mov edx, dword [esp + 0x30]
sub edx, ecx
mov ecx, eax
fild dword [esp + 0x14]
imul ecx, eax
fstp qword [esp + 0xbc]
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], ecx
jmp 0x4502b6
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x14]
mov eax, ebx
sub eax, edx
mov edx, eax
mov dword [esp + 0x1c], eax
imul edx, eax
add edx, ecx
mov dword [esp + 0x34], edx
fild dword [esp + 0x34]
fsqrt
fdiv qword [esp + 0xbc]
fcom qword [0x5dbb58]
fnstsw ax
test ah, 1
je 0x450584
fmul qword [0x62dc88]
fstp qword [esp + 0xb4]
fild dword [esp + 0x84]
fild dword [esp + 0x1c]
fpatan
fstp qword [esp + 0x1c]
fld qword [esp + 0x3c]
fcos
fstp qword [esp + 0x44]
fld qword [esp + 0x1c]
fsin
fmul qword [esp + 0x44]
call fcn.00574d50
fst qword [esp + 0x9c]
fsin
fstp qword [esp + 0xa4]
fld qword [esp + 0x1c]
fcos
fdiv qword [esp + 0xa4]
call fcn.00574d50
fstp qword [esp + 0x34]
fld qword [esp + 0x1c]
fcomp qword [0x5daf40]
fnstsw ax
test ah, 1
je 0x450363
fld qword [esp + 0x34]
fchs
fstp qword [esp + 0x34]
fld qword [esp + 0x34]
fcos
fmul qword [esp + 0x44]
call fcn.00574d50
fsub qword [esp + 0xb4]
fst qword [esp + 0x44]
fsin
fmul qword [esp + 0xa4]
call fcn.00574c80
fld qword [esp + 0x44]
fptan
fstp st(0)
fld qword [esp + 0x9c]
fcos
fmulp st(1)
fld1
fpatan
fld qword [esp + 0x44]
fld qword [0x62dc88]
fmul qword [0x5daf38]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x4503e0
fld qword [esp + 0x1c]
fcomp qword [0x5daf40]
fxch st(1)
fnstsw ax
test ah, 1
je 0x4503d8
fsub qword [0x62dc88]
jmp 0x4503de
fadd qword [0x62dc88]
fxch st(1)
fld qword [0x62dc88]
fmul qword [0x5dcf08]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x450416
fld qword [esp + 0x1c]
fcomp qword [0x5daf40]
fnstsw ax
test ah, 1
je 0x450410
fadd qword [0x62dc88]
jmp 0x450416
fsub qword [0x62dc88]
fsub qword [esp + 0x34]
fadd qword [esp + 0xac]
fdiv qword [0x62dc88]
fmul qword [0x5dbf30]
fadd qword [0x5e1bb0]
call fcn.00573170
mov esi, eax
cmp esi, 0x280
jl 0x45045a
mov eax, 0xcccccccd
mul esi
shr edx, 9
mov eax, edx
neg eax
shl eax, 2
sub eax, edx
shl eax, 7
add esi, eax
test esi, esi
jge 0x450477
mov ecx, 0x27f
mov eax, 0xcccccccd
sub ecx, esi
mul ecx
shr edx, 9
lea edx, [edx + edx*4]
shl edx, 7
add esi, edx
fld qword [esp + 0x3c]
fcomp qword [0x5daf40]
fdiv qword [0x62dc88]
fnstsw ax
fmul qword [0x5e1ba8]
test ah, 0x41
jne 0x45049c
fadd qword [0x5e1ba0]
jmp 0x4504a2
fsubr qword [0x5e1ba0]
call fcn.00573170
mov ecx, eax
cmp ecx, 0x190
jl 0x4504cc
mov eax, 0x51eb851f
mul ecx
shr edx, 7
mov eax, edx
neg eax
shl eax, 2
sub eax, edx
lea eax, [eax + eax*4]
shl eax, 4
add ecx, eax
test ecx, ecx
jge 0x4504ec
mov edx, 0x18f
mov eax, 0x51eb851f
sub edx, ecx
mul edx
shr edx, 7
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
shl eax, 4
add ecx, eax
fld qword [esp + 0x3c]
fcomp qword [0x5daf40]
fnstsw ax
test ah, 0x41
jne 0x450501
mov edi, ebx
jmp 0x450503
sub edi, ebx
mov eax, esi
lea ecx, [ecx + ecx*4]
cdq
and edx, 7
add eax, edx
mov edx, dword [esp + 0x80]
shl ecx, 4
add edx, ecx
mov ecx, esi
sar eax, 3
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x45052c
dec ecx
or ecx, 0xfffffff8
inc ecx
mov dword [esp + 0x1c], eax
mov eax, 0x80
sar eax, cl
mov ecx, dword [esp + 0x1c]
test byte [ecx + edx], al
je 0x45054e
mov edx, dword [esp + 0x70]
push 0xc86040
push edi
push ebp
push edx
jmp 0x45055a
mov eax, dword [esp + 0x70]
push 0x40a0
push edi
push ebp
push eax
call dword [sym.imp.GDI32.dll_SetPixelV]
mov eax, dword [esp + 0x14]
cmp ebp, eax
jne 0x45057e
cmp ebx, eax
jne 0x45057e
mov ecx, dword [esp + 0x70]
push 0xfafa
push ebx
push ebp
push ecx
call dword [sym.imp.GDI32.dll_SetPixelV]
mov edi, dword [esp + 0x5c]
jmp 0x450586
fstp st(0)
inc ebx
cmp ebx, edi
jl 0x4502af
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
inc ebp
dec edx
cmp ebp, eax
mov dword [esp + 0x30], edx
jl 0x450277
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x2c]
push esi
push edi
push edx
call dword [sym.imp.GDI32.dll_GetBitmapBits]
mov eax, dword [esp + 0x4c]
push esi
push edi
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.GDI32.dll_SetBitmapBits]
push esi
call fcn.0058ed21
mov eax, dword [esp + 0x9c]
add esp, 4
test eax, eax
je 0x4505e8
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x70]
push eax
push edx
call fcn.00596ade
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x90]
mov ecx, dword [eax + 4]
mov eax, dword [edx + 0x1c]
push ecx
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [esp + 0x94]
mov ecx, dword [ecx + 0x9ea8]
call fcn.00514240
lea ecx, [esp + 0x6c]
mov byte [esp + 0xe0], 0
call fcn.00596a1b
mov dword [esp + 0x28], 0x5f1014
lea ecx, [esp + 0x28]
mov dword [esp + 0xe0], 2
call fcn.005975ec
mov ecx, dword [esp + 0xd8]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret