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

Disassembly:
push 0xffffffffffffffff
push 0x4354ef
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7c
mov eax, dword [0x4457b0]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x1c], eax
mov ebx, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x94], ebx
mov eax, dword [ecx + 0x5a4]
mov edi, 0x3c
test eax, eax
mov byte [esp + 0x94], 2
mov ebp, ebx
mov dword [esp + 0x18], edi
mov esi, 0x48
je 0x410af7
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0xa0]
and eax, 0xff
cmp eax, 0x49
ja case.0x410b14.14
xor edx, edx
mov dl, byte [eax + 0x411344]
jmp dword [edx*4 + 0x411308]
mov dword [esp + 0x14], edi
jmp 0x410c06
mov dword [esp + 0x14], 0x78
jmp 0x410c06
mov dword [esp + 0x14], 0xf0
jmp 0x410c06
mov dword [esp + 0x14], 0x50
jmp 0x410c06
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
jmp 0x410c06
mov dword [esp + 0x14], 0x5a
jmp 0x410c06
mov dword [esp + 0x14], 0x90
mov dword [esp + 0x18], esi
jmp 0x410c06
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0xb4
mov ebp, 3
jmp 0x410c06
mov dword [esp + 0x14], 0x78
mov dword [esp + 0x18], 0xb4
mov ebp, 3
jmp 0x410c06
mov dword [esp + 0x14], 0x5a
mov dword [esp + 0x18], 0xb4
mov ebp, 3
jmp 0x410c06
mov eax, 0xb4
mov ebp, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
jmp 0x410c06
mov dword [esp + 0x14], 0x168
mov dword [esp + 0x18], 0xb4
mov ebp, 3
jmp 0x410c06
mov dword [esp + 0x14], 0xb4
mov dword [esp + 0x18], 0x168
jmp 0x410c01
mov eax, 0x168
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov ebp, 6
mov eax, dword [ecx + 0x794]
lea esi, [ecx + 0x794]
lea ecx, [esp + 0x50]
push ebx
push ecx
mov ecx, esi
mov dword [esp + 0x40], esi
call dword [eax + 0x34]
mov edx, dword [esi]
lea eax, [esp + 0x28]
push ebx
push eax
mov ecx, esi
call dword [edx + 0x34]
cmp byte [esp + 0x28], 0x1f
jbe 0x410c3a
mov byte [esp + 0x28], 0
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x50]
and esi, 0xff
and ecx, 0xff
shl esi, 8
add esi, ecx
lea ebx, [ebp*8]
mov edi, esi
mov dword [esp + 0x40], ebx
lea eax, [esi + 0xf]
imul edi, ebp
and eax, 0xfff0
push edi
mov dword [esp + 0x38], eax
push 0
cdq
and edx, 7
mov dword [esp + 0x4c], esi
add eax, edx
sar eax, 3
mov dword [esp + 0x38], eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ecx, dword [esp + 0x38]
push edi
push eax
mov dword [esp + 0x50], eax
mov edx, dword [ecx]
call dword [edx + 0x34]
mov edi, dword [esp + 0x34]
imul edi, ebp
push edi
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edx, eax
mov ecx, edi
mov dword [esp + 0x24], edx
mov edi, edx
mov edx, ecx
or eax, 0xffffffff
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
xor eax, eax
cmp ebx, eax
mov dword [esp + 0x38], eax
jle 0x410d9c
mov dword [esp + 0x2c], eax
xor edi, edi
test esi, esi
jle 0x410d81
mov ecx, eax
and ecx, 0x80000007
jns 0x410cee
dec ecx
or ecx, 0xfffffff8
inc ecx
mov edx, 0x80
sar edx, cl
mov dword [esp + 0x54], edx
cdq
and edx, 7
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x48]
sar ebx, 3
add ebx, eax
mov al, byte [ebx]
mov cl, byte [esp + 0x54]
not al
test cl, al
je 0x410d32
mov ecx, edi
and ecx, 0x80000007
jns 0x410d25
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, 0x80
sar eax, cl
mov byte [esp + 0x13], al
jmp 0x410d37
mov byte [esp + 0x13], 0
mov eax, edi
mov ecx, edi
cdq
and edx, 7
add eax, edx
mov edx, dword [esp + 0x2c]
sar eax, 3
add eax, edx
mov edx, dword [esp + 0x24]
add eax, edx
and ecx, 0x80000007
jns 0x410d5d
dec ecx
or ecx, 0xfffffff8
inc ecx
mov edx, 0x80
add ebx, ebp
sar edx, cl
mov cl, byte [eax]
not dl
and dl, cl
mov cl, byte [esp + 0x13]
or dl, cl
inc edi
cmp edi, esi
mov byte [eax], dl
jl 0x410d0a
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
inc eax
add edx, ecx
cmp eax, ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], edx
jl 0x410cd5
xor eax, eax
mov dword [esp + 0x5c], 0x4376c8
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x74]
mov edi, 1
push edx
mov byte [esp + 0x98], 3
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], eax
mov word [esp + 0x88], di
mov word [esp + 0x8a], di
mov dword [esp + 0x8c], ecx
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
push eax
lea ecx, [esp + 0x60]
call fcn.00431c92
test eax, eax
jne 0x410e1b
mov ebp, dword [esp + 0x3c]
push str.cannot_create_bit_image
mov ecx, ebp
call fcn.0040cca0
jmp 0x410e1f
mov ebp, dword [esp + 0x3c]
lea ecx, [esp + 0x64]
call fcn.0043161e
push 0
mov byte [esp + 0x98], 4
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x68]
call fcn.004316d5
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x5c]
neg eax
sbb eax, eax
and eax, ecx
push eax
mov eax, dword [esp + 0x6c]
push eax
call fcn.00431816
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x411051
mov eax, dword [ebp + 0x678]
test eax, eax
je 0x410ead
push str.ul0
lea ecx, [esp + 0x20]
mov dword [ebp + 0x678], 0
call fcn.0042bb81
mov eax, dword [esp + 0x1c]
mov edi, dword [ebp + 0x8d0]
lea ecx, [ebp + 0x8d0]
mov edx, dword [eax - 8]
push edx
push eax
call dword [edi + 0x38]
mov edi, 1
push 0
mov dword [ebp + 0x5bc], edi
call dword [sym.imp.GDI32.dll_CreateMetaFileA]
mov edi, eax
test edi, edi
je 0x411216
mov eax, esi
shl eax, 7
sub eax, esi
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov eax, ebx
shl eax, 7
sub eax, ebx
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x8c4]
test eax, eax
je 0x410f15
cdq
mov ecx, eax
mov eax, 0x51eb851f
xor ecx, edx
sub ecx, edx
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
jmp 0x410f33
mov eax, dword [ebp + 0x8c0]
cdq
mov ecx, eax
mov eax, 0x51eb851f
xor ecx, edx
sub ecx, edx
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, edx
mov dword [esp + 0x18], edx
cmp eax, 2
jg 0x410f46
mov dword [esp + 0x18], 3
push 8
push edi
call dword [sym.imp.GDI32.dll_SetMapMode]
push 0
push 0
push 0
push edi
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push 0
push ecx
push edx
push edi
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
mov eax, dword [esp + 0x68]
push 0xcc0020
push ebx
mov ebx, dword [esp + 0x44]
push esi
mov esi, dword [esp + 0x44]
push 0
push 0
push eax
push ebx
push esi
push 0
push 0
push edi
call dword [sym.imp.GDI32.dll_StretchBlt]
push edi
call dword [sym.imp.GDI32.dll_CloseMetaFile]
mov ecx, dword [esp + 0x18]
push ebx
push esi
push ecx
lea edx, [esp + 0x28]
mov edi, eax
push str.dn_dpictpicw_dpich_dwmetafile8
push edx
mov dword [esp + 0x50], edi
call fcn.0042ab8b
mov eax, dword [esp + 0x30]
mov edx, dword [ebp + 0x8d0]
add esp, 0x14
lea esi, [ebp + 0x8d0]
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x38]
mov ebp, dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
push 0
push 0
push edi
call ebp
mov edi, eax
push edi
call fcn.0042b785
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x3c]
push ebx
push edi
push eax
call ebp
xor ebp, ebp
test edi, edi
jbe 0x41102a
xor ecx, ecx
lea edx, [esp + 0x1c]
mov cl, byte [ebx + ebp]
push ecx
push str._02x
push edx
call fcn.0042ab8b
mov eax, dword [esp + 0x28]
mov edx, dword [esi]
add esp, 0xc
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x38]
inc ebp
cmp ebp, edi
jb 0x410ffd
push ebx
call fcn.0042b7ae
mov eax, dword [esp + 0x40]
add esp, 4
push eax
call dword [sym.imp.GDI32.dll_DeleteMetaFile]
mov edx, dword [esi]
push 1
push 0x442eb8
mov ecx, esi
call dword [edx + 0x38]
jmp 0x411216
mov edi, dword [esp + 0xb4]
fld dword [ebp + 0x870]
fimul dword [esp + 0x44]
test edi, edi
je 0x41117f
fmul qword [0x437da0]
fild dword [esp + 0x14]
mov ecx, edi
fmul qword [0x437d98]
fdivp st(1)
fstp dword [esp + 0x2c]
call fcn.00404e60
mov ebp, eax
mov ecx, edi
push ebp
call fcn.00404e80
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
imul esi, ebx
push esi
push ebx
push ecx
push eax
push ebp
lea edx, [esp + 0x30]
push str._d_0_obj_n___n_Type_XObject_Subtype_Image_Name_I_d_n_Width__d__Height__d__BitsPerComponent_1_n_ColorSpace_DeviceGray_Length__d__stream_n
push edx
mov dword [esp + 0x70], eax
call fcn.0042ab8b
add esp, 0x18
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.0042b7b9
mov ecx, edi
call fcn.00404de0
mov ecx, dword [esp + 0x24]
push esi
push ecx
mov ecx, edi
call fcn.00404e40
push str._nendstream_nendobj_n
lea ecx, [esp + 0x20]
call fcn.0042bb81
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.0042b7b9
mov ecx, edi
call fcn.00404de0
fld dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
sub esp, 8
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x28]
fstp qword [esp]
fld dword [esp + 0x34]
fadd dword [esi]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0xbc]
fsub dword [0x437d94]
push eax
sub esp, 8
fstp qword [esp]
fld dword [esi]
sub esp, 8
fstp qword [esp]
fild dword [esp + 0x64]
sub esp, 8
sub esp, 8
fmul qword [0x437da0]
fidiv dword [esp + 0x4c]
fstp qword [esp + 8]
fld dword [esp + 0x60]
fstp qword [esp]
push str._Tj_ET_nq__.2f_0_0__.2f__.2f__.2f_cm__I_d_Do_Q_nBT__.2f__.2f_Td_
push ecx
call fcn.0042ab8b
add esp, 0x3c
fld dword [esp + 0x2c]
fadd dword [esi]
fstp dword [esi]
jmp 0x411216
fmul qword [0x437d28]
fidiv dword [esp + 0x14]
call fcn.00420414
mov ecx, dword [esp + 0x7c]
mov ebp, eax
mov eax, ecx
mov edi, dword [esp + 0xa8]
neg eax
shl eax, 2
sub eax, ecx
mov dword [esp + 0x40], ebp
fld dword [edi]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
cdq
idiv dword [esp + 0x18]
mov dword [esp + 0x54], eax
call fcn.00420414
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x44], eax
fld dword [esp + 0xac]
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x64]
fsub dword [0x437d90]
neg eax
push 0x8800c6
push ebx
sbb eax, eax
push esi
and eax, ecx
push 0
push 0
push eax
push edx
push ebp
call fcn.00420414
mov ecx, dword [esp + 0xc4]
push eax
mov eax, dword [esp + 0x68]
mov edx, dword [ecx + 4]
push eax
push edx
call dword [sym.imp.GDI32.dll_StretchBlt]
fild dword [esp + 0x40]
fadd dword [edi]
fstp dword [edi]
mov esi, dword [esp + 0x58]
test esi, esi
jne 0x411222
xor eax, eax
jmp 0x411225
mov eax, dword [esi + 4]
push eax
mov eax, dword [esp + 0x6c]
push eax
call fcn.00431816
lea ecx, [esp + 0x5c]
call fcn.00431ce9
lea ecx, [esp + 0x64]
call fcn.0043173d
mov ecx, esi
call fcn.00431ce9
mov ecx, dword [esp + 0x48]
mov esi, dword [sym.imp.KERNEL32.dll_LocalHandle]
push ecx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
push eax
call edi
mov edx, dword [esp + 0x24]
push edx
call esi
push eax
call edi
mov esi, dword [esp + 0x9c]
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call fcn.0042b7b9
lea ecx, [esp + 0x64]
mov dword [esp + 0x4c], 1
mov byte [esp + 0x94], 3
call fcn.00431753
mov dword [esp + 0x5c], vtable.CGdiObject.0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x94], 5
call fcn.00431ce9
jmp 0x4112c7
mov esi, dword [esp + 0x9c]
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.0042b7b9
mov dword [esp + 0x4c], ebx
lea ecx, [esp + 0x20]
mov byte [esp + 0x94], 1
call fcn.0042ba44
lea ecx, [esp + 0x1c]
mov byte [esp + 0x94], 0
call fcn.0042ba44
mov ecx, dword [esp + 0x8c]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x88
ret 0x1c